欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > Linux 基础入门操作 前言 linux操作指令介绍

Linux 基础入门操作 前言 linux操作指令介绍

2025/4/4 13:43:10 来源:https://blog.csdn.net/huanghongqi11/article/details/146986801  浏览:    关键词:Linux 基础入门操作 前言 linux操作指令介绍

1 linux 目录介绍

Linux 文件系统采用层次化的目录结构,所有目录都从根目录 / 开始

1.1 核心目录

/ (根目录)

整个文件系统的起点、包含所有其他目录和文件

/bin (基本命令二进制文件)

存放系统最基本的shell命令:如 ls, cp, mv, rm, cat 等,所有用户都可使用。

/sbin (系统二进制文件)

存放系统管理命令,如 fdisk, ifconfig, reboot 等,通常需要 root 权限才能执行

/boot (引导加载程序文件)

包含 Linux 内核、初始 RAM 磁盘映像和引导加载程序配置文件。如 vmlinuz, initrd.img, grub/

/dev (设备文件)

包含所有设备文件,如 /dev/sda (硬盘), /dev/tty (终端), /dev/null (空设备)

/etc (系统配置文件)

包含系统和应用程序的配置文件,如 /etc/passwd (用户账户), /etc/fstab (文件系统表)

/home (用户主目录)

普通用户的个人目录,每个用户通常有自己的子目录,如 /home/username

/lib (系统库文件)

存放系统最基本的共享库和内核模块,如 /lib/modules/ (内核模块)

1.2 重要系统目录

/media (可移动媒体挂载点)

自动挂载的可移动设备,如 U 盘、光盘

/mnt (临时挂载点)

用于临时手动挂载文件系统

/opt (可选应用程序)

第三方应用程序的安装位置

/proc (虚拟文件系统)

包含系统进程和内核信息的虚拟文件系统,如 /proc/cpuinfo (CPU 信息), /proc/meminfo (内存信息)

/root (root 用户主目录)

超级用户 root 的主目录

/run (运行时数据)

存储系统运行时的临时数据,如 /run/lock (锁文件)

/tmp (临时文件)

存放临时文件,系统重启后通常会被清空

1.3 系统资源目录

/usr (用户程序)

包含用户应用程序和文件

1.3.1 重要子目录:

  1. /usr/bin: 用户命令

  2. /usr/sbin: 系统管理命令

  3. /usr/lib: 库文件

  4. /usr/local: 本地安装的软件

  5. /usr/share: 共享数据

/var (可变数据)

存放经常变化的文件

重要子目录:

  1. /var/log: 系统日志

  2. /var/cache: 应用程序缓存

  3. /var/spool: 队列数据

  4. /var/www: Web 服务器目录 (常见)

1.4 特殊目录

/sys (虚拟文件系统)

提供内核数据结构接口, 用于配置设备和内核参数

/srv (服务数据)

包含特定服务提供的数据, 如网站数据、FTP 数据等

/lost+found (恢复文件)

文件系统修复后找到的丢失文件

2 常见shell 指令

Shell 是 Linux/Unix 系统的命令行界面,是与操作系统交互的主要方式。以下是常用的 Shell 指令分类介绍:

2.1 文件和目录操作

2.1.1 ls - 列出目录内容

ls          # 列出当前目录内容
ls -l       # 详细列表(长格式)
ls -a       # 显示隐藏文件(以.开头)
ls -lh      # 人类可读的文件大小显示

2.1.2 cd - 切换目录

cd /path/to/dir  # 切换到指定目录
cd ~             # 切换到用户主目录
cd ..            # 切换到上级目录
cd -             # 切换到上一个工作目录

2.1.3 pwd - 显示当前工作目录

pwd  # 打印当前目录的完整路径

2.1.4 mkdir - 创建目录

mkdir dirname      # 创建单个目录
mkdir -p dir1/dir2 # 创建多级目录

2.1.5 rm - 删除文件或目录

rm file.txt        # 删除文件
rm -r dirname      # 递归删除目录
rm -f file.txt     # 强制删除,不提示

2.1.6 mv - 移动或重命名文件/目录

mv file1 file2     # 重命名
mv file1 dir/      # 移动文件

2.1.7 touch - 创建空文件或更新文件时间戳

touch file.txt  # 创建空文件或更新访问时间

2.2 文件查看和编辑

2.2.1 cat - 查看文件内容

cat file.txt      # 显示文件内容
cat -n file.txt   # 显示行号

2.2.2 less/more - 分页查看文件

less file.txt  # 可前后翻页
more file.txt  # 只能向下翻页

2.2.3 head/tail - 查看文件开头/结尾

head -n 5 file.txt  # 查看前5行
tail -f logfile     # 实时查看日志更新

2.2.4 grep - 文本搜索

grep "pattern" file.txt      # 搜索包含pattern的行
grep -i "pattern" file.txt   # 忽略大小写
grep -r "pattern" /path      # 递归搜索目录

2.3 系统信息

2.3.1 ps - 查看进程

ps aux       # 查看所有运行中的进程
ps -ef       # 另一种格式显示进程

2.3.2 top/htop - 动态查看系统状态

top          # 动态显示进程和资源使用
htop         # 更友好的交互式top(需安装)

2.3.3 free - 查看内存使用

free -h      # 以人类可读格式显示内存信息

2.3.4 df - 查看磁盘空间

df -h        # 显示磁盘使用情况(人类可读)

2.3.5 uname - 显示系统信息

uname -a     # 显示所有系统信息

2.4 网络相关

2.4.1 ping - 测试网络连接

ping example.com  # 测试到example.com的连接

2.4.2 ifconfig/ip - 网络接口配置

ifconfig      # 显示网络接口信息(较旧)
ip addr       # 显示网络接口信息(新版)

2.4.3 netstat/ss - 网络统计

netstat -tuln # 显示监听端口(较旧)
ss -tuln      # 显示监听端口(新版)

2.4.5 wget/curl - 下载工具

wget http://example.com/file  # 下载文件
curl -O http://example.com/file

2.5 权限管理

2.5.1 chmod - 修改文件权限

chmod 755 file.sh   # 设置权限(rwxr-xr-x)
chmod +x file.sh    # 添加执行权限

2.5.2 chown - 修改文件所有者

chown user:group file.txt  # 修改所有者和组

2.5.3 sudo - 以超级用户权限执行

sudo command  # 以root权限执行命令

2.6 压缩和解压

2.6.1 tar - 打包和解包

tar -czvf archive.tar.gz dir/  # 创建gzip压缩包
tar -xzvf archive.tar.gz       # 解压gzip包

2.6.2 zip/unzip - ZIP压缩/解压

zip archive.zip file1 file2   # 创建zip压缩包
unzip archive.zip             # 解压zip包

2.6.3 gzip/gunzip - GZIP压缩/解压

gzip file.txt        # 压缩文件(生成file.txt.gz)
gunzip file.txt.gz   # 解压文件

2.7 其他实用命令

2.7.1 find - 查找文件

find /path -name "*.txt"  # 按名称查找
find . -type f -size +1M  # 查找大于1M的文件

2.7.3 which/whereis - 查找命令位置

which ls      # 显示ls命令的路径
whereis ls    # 显示命令及其手册页位置

2.7.4 alias - 创建命令别名

alias ll='ls -alF'  # 创建ll别名

2.7.5 history - 查看命令历史

history       # 显示命令历史
!n            # 执行历史记录中第n条命令

2.7.6 man - 查看命令手册

man ls        # 查看ls命令的手册页

2.7.7 echo - 输出文本

echo "Hello"  # 输出文本
echo $PATH    # 输出环境变量

2.7.8 date - 显示或设置日期时间

date          # 显示当前日期时间
date +"%Y-%m-%d"  # 格式化输出
sudo date -s "2024-03-15 14:30:00"

3 Shell 脚本

Shell 脚本是 Linux/Unix 系统中自动化任务和系统管理的重要工具。以下是 Shell 脚本开发的全面指南:

3.1 初步了解

第一行 #!/bin/bash 称为 shebang,指定解释器

#!/bin/bash
# 这是一个注释
echo "Hello, World!"

3.2 运行方式

chmod +x script.sh  # 添加执行权限
./script.sh         # 直接执行bash script.sh      # 指定解释器执行
sh script.sh        # 使用 sh 解释器执行
source script.sh    # 在当前 shell 环境中执行

3.3 变量定义与使用

name="Alice"        # 定义变量
echo $name          # 使用变量
echo ${name}        # 推荐使用大括号readonly PI=3.14    # 只读变量
unset name          # 删除变量

3.4 特殊变量

$0       # 脚本名称
$1-$9    # 脚本参数
$#       # 参数个数
$*       # 所有参数
$@       # 所有参数(推荐)
$?       # 上条命令的退出状态
$$       # 当前进程PID
$!       # 最后一个后台进程PID

3.5 字符串操作

str="Hello World"# 字符串长度
echo ${#str}        # 11# 子字符串
echo ${str:0:5}     # Hello# 替换
echo ${str/World/Bash}  # Hello Bash# 大小写转换
echo ${str^^}       # 转大写
echo ${str,,}       # 转小写

3.6 数组

# 定义数组
fruits=("Apple" "Banana" "Orange")# 访问元素
echo ${fruits[0]}   # Apple
echo ${fruits[@]}   # 所有元素# 数组长度
echo ${#fruits[@]}  # 3# 遍历数组
for fruit in "${fruits[@]}"; doecho $fruit
done

3.7 条件判断

if [ $a -eq $b ]; thenecho "a等于b"
elif [ $a -gt $b ]; thenecho "a大于b"
elseecho "a小于b"
fi

3.8 # 定义函数

greet() {local name=$1    # 局部变量echo "Hello, $name"
}# 调用函数
greet "Alice"# 返回值
add() {return $(($1 + $2))
}
add 3 5
echo $?             # 8

4 综合案例

4.1 备份脚本

#!/bin/bash
# 简单备份脚本BACKUP_DIR="/backup"
SOURCE_DIR="/home/user"
DATE=$(date +%Y%m%d)if [ ! -d "$BACKUP_DIR" ]; thenmkdir -p "$BACKUP_DIR"
fitar -czf "$BACKUP_DIR/backup_$DATE.tar.gz" "$SOURCE_DIR" && \
echo "备份成功完成" || echo "备份失败"

4.2 系统监控脚本

 #!/bin/bash
# 系统资源监控echo "=== 系统监控 ==="
echo "当前时间: $(date)"
echo "主机名: $(hostname)"
echo "=== 系统负载 ==="
uptime
echo "=== 内存使用 ==="
free -h
echo "=== 磁盘空间 ==="
df -h

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词