本手册系统整理了 Linux 系统中最为常用的命令与操作,按功能分类编排,适合日常运维与开发参考。
一、获取帮助
| 命令 | 说明 | 示例 |
|---|
man 命令 | 查看命令的详细手册页 | man ls |
命令 --help | 查看命令的简要帮助信息 | ls --help |
info 命令 | 查看更详细的结构化帮助文档 | info ls |
whatis 命令 | 显示命令的简要说明 | whatis ls |
二、文件与目录操作
2.1 目录切换与路径查看
| 命令 | 说明 | 示例 |
|---|
pwd | 显示当前工作目录的绝对路径 | pwd |
cd 目录 | 切换目录 | cd /var/log |
cd .. | 返回上一级目录 | cd .. |
cd ~ | 返回用户主目录 | cd ~ |
cd - | 返回上一个工作目录 | cd - |
2.2 目录内容查看
| 命令 | 说明 | 示例 |
|---|
ls | 列出目录内容 | ls |
ls -l | 以长格式显示详细信息 | ls -l |
ls -a | 显示所有文件(包括隐藏文件) | ls -a |
ls -lh | 以人类可读的格式显示文件大小 | ls -lh |
ls -R | 递归列出子目录内容 | ls -R |
2.3 目录创建与删除
| 命令 | 说明 | 示例 |
|---|
mkdir 目录名 | 创建新目录 | mkdir data |
mkdir -p 路径 | 递归创建多级目录 | mkdir -p /data/logs/2024 |
rmdir 目录名 | 删除空目录 | rmdir empty_dir |
rm -r 目录名 | 递归删除目录及其内容 | rm -r data/ |
2.4 文件创建与删除
| 命令 | 说明 | 示例 |
|---|
touch 文件名 | 创建空文件或更新文件时间戳 | touch file.txt |
rm 文件名 | 删除文件 | rm file.txt |
rm -rf 目录 | 强制递归删除(危险操作) | rm -rf /tmp/test |
2.5 文件复制、移动与重命名
| 命令 | 说明 | 示例 |
|---|
cp 源 目标 | 复制文件 | cp file.txt backup/ |
cp -r 源 目标 | 递归复制目录 | cp -r src/ dest/ |
mv 源 目标 | 移动文件或重命名 | mv old.txt new.txt |
2.6 文件查看
| 命令 | 说明 | 示例 |
|---|
cat 文件名 | 查看完整文件内容 | cat file.txt |
less 文件名 | 分页查看文件(支持上下翻页) | less /var/log/syslog |
more 文件名 | 分页查看文件(仅支持向下翻页) | more large.log |
head -n 文件名 | 查看文件前 N 行 | head -n 20 file.log |
tail -n 文件名 | 查看文件末尾 N 行 | tail -n 20 file.log |
tail -f 文件名 | 实时跟踪文件新增内容(常用于日志) | tail -f /var/log/syslog |
nl 文件名 | 带行号显示文件内容 | nl file.txt |
2.7 文件查找
| 命令 | 说明 | 示例 |
|---|
find 路径 -name "模式" | 按文件名查找文件 | find /var/log -name "*.log" |
find 路径 -type f -name "模式" | 只查找文件 | find / -type f -name "*.conf" |
locate 文件名 | 通过数据库快速查找文件 | locate nginx.conf |
grep "模式" 文件 | 在文件中搜索文本 | grep "ERROR" app.log |
grep -rn "模式" ./ | 递归搜索并显示行号 | grep -rn "keyword" ./src |
三、文件权限管理
3.1 权限查看
使用 ls -l 查看文件权限,输出如 -rw-r--r--,其中:
- 第1位:文件类型(
-文件,d目录,l链接)
- 第2-4位:所有者权限
- 第5-7位:所属组权限
- 第8-10位:其他用户权限
3.2 权限修改
| 命令 | 说明 | 示例 |
|---|
chmod 权限 文件 | 修改文件权限(数字法) | chmod 755 script.sh |
chmod u+x 文件 | 给所有者添加执行权限(符号法) | chmod u+x script.sh |
chmod -R 权限 目录 | 递归修改目录及子文件权限 | chmod -R 755 /app/ |
chown 用户:组 文件 | 修改文件所有者和所属组 | chown user:group file |
chown -R 用户:组 目录 | 递归修改目录所有者 | chown -R www:www /var/www/ |
3.3 特殊权限与默认权限
| 命令 | 说明 | 示例 |
|---|
umask | 查看或设置默认权限掩码 | umask 022 |
四、用户与用户组管理
4.1 用户管理
| 命令 | 说明 | 示例 |
|---|
whoami | 显示当前登录用户名 | whoami |
id | 查看当前用户的 UID/GID | id |
useradd 用户名 | 创建新用户 | useradd john |
useradd -m 用户名 | 创建用户并生成家目录 | useradd -m john |
passwd 用户名 | 设置或更改用户密码 | passwd john |
usermod 选项 用户名 | 修改用户属性 | usermod -aG sudo john |
userdel 用户名 | 删除用户 | userdel john |
4.2 用户组管理
| 命令 | 说明 | 示例 |
|---|
groupadd 组名 | 创建用户组 | groupadd developers |
usermod -aG 组 用户 | 将用户添加到组 | usermod -aG docker john |
groups 用户名 | 查看用户所属组 | groups john |
五、磁盘与存储管理
5.1 磁盘空间查看
| 命令 | 说明 | 示例 |
|---|
df -h | 查看文件系统磁盘使用情况(人类可读) | df -h |
df -i | 查看 inode 使用情况 | df -i |
du -sh 目录 | 查看目录总大小 | du -sh /home |
du -ah 目录 | 列出目录下所有文件和目录的大小 | du -ah /var |
5.2 磁盘分区与挂载
| 命令 | 说明 | 示例 |
|---|
fdisk -l | 查看磁盘分区信息 | fdisk -l |
mount 设备 挂载点 | 挂载文件系统 | mount /dev/sdb1 /mnt/data |
umount 挂载点 | 卸载文件系统 | umount /mnt/data |
六、系统信息与监控
6.1 系统基本信息
| 命令 | 说明 | 示例 |
|---|
uname -a | 查看内核/操作系统/CPU 信息 | uname -a |
uname -r | 查看内核版本 | uname -r |
hostname | 查看主机名 | hostname |
uptime | 查看系统运行时间、用户数和负载 | uptime |
dmesg | 显示系统启动消息 | dmesg |
cat /etc/os-release | 查看操作系统版本 | cat /etc/os-release |
6.2 内存与CPU监控
| 命令 | 说明 | 示例 |
|---|
free -m | 查看内存使用情况(MB 为单位) | free -m |
free -h | 查看内存使用情况(人类可读) | free -h |
top | 实时动态查看系统进程与资源 | top |
top -p PID | 只监控指定进程 | top -p 1234 |
htop | 增强版 top(需安装) | htop |
七、进程管理
7.1 查看进程
| 命令 | 说明 | 示例 |
|---|
ps aux | 查看所有进程的详细信息 | ps aux |
| `ps aux | grep 关键词` | 按关键词过滤进程 |
ps -ef | 以标准格式显示所有进程 | ps -ef |
pstree | 以树形结构显示进程关系 | pstree |
pidof 进程名 | 获取进程的 PID | pidof nginx |
7.2 终止进程
| 命令 | 说明 | 示例 |
|---|
kill PID | 优雅终止进程 | kill 1234 |
kill -9 PID | 强制终止进程 | kill -9 1234 |
killall 进程名 | 按名称终止所有匹配进程 | killall nginx |
pkill 进程名 | 按名称终止进程(支持正则) | pkill python |
7.3 后台运行
| 命令 | 说明 | 示例 |
|---|
命令 & | 在后台运行命令 | python app.py & |
nohup 命令 & | 忽略挂断信号,后台持续运行 | nohup python app.py & |
jobs | 查看当前后台任务 | jobs |
fg %编号 | 将后台任务调至前台 | fg %1 |
bg %编号 | 将暂停任务转为后台运行 | bg %1 |
八、网络管理
8.1 网卡信息查看与配置
| 命令 | 说明 | 示例 |
|---|
ip addr | 查看网卡 IP 地址(推荐) | ip addr |
ifconfig | 查看网卡信息(旧命令,部分系统已弃用) | ifconfig |
ip link set 网卡 up/down | 启用/禁用网卡 | ip link set ens33 up |
ping 地址 | 测试网络连通性 | ping www.baidu.com |
traceroute 地址 | 追踪路由路径 | traceroute 8.8.8.8 |
8.2 端口与连接查看
| 命令 | 说明 | 示例 |
|---|
ss -tuln | 查看所有监听端口(推荐) | ss -tuln |
netstat -tulnp | 查看端口占用及对应进程 | netstat -tulnp |
lsof -i :端口 | 查看指定端口被哪个进程占用 | lsof -i :80 |
curl 地址 | 测试 HTTP 请求 | curl -I https://linux.org |
wget URL | 命令行下载文件 | wget https://example.com/file.zip |
8.3 文件传输
| 命令 | 说明 | 示例 |
|---|
scp 源 目标 | 基于 SSH 的安全文件复制 | scp file.txt user@host:/path/ |
rsync 源 目标 | 高效同步文件(支持增量) | rsync -av /src/ /dest/ |
九、软件包管理
9.1 Debian/Ubuntu 系(APT)
| 命令 | 说明 | 示例 |
|---|
sudo apt update | 更新软件包列表 | sudo apt update |
sudo apt install 包名 | 安装软件包 | sudo apt install nginx |
sudo apt remove 包名 | 卸载软件包 | sudo apt remove nginx |
sudo apt purge 包名 | 卸载并删除配置文件 | sudo apt purge nginx |
sudo apt upgrade | 升级所有已安装包 | sudo apt upgrade |
apt search 关键词 | 搜索软件包 | apt search nginx |
sudo apt autoremove | 清理无用的依赖包 | sudo apt autoremove |
9.2 Red Hat/CentOS 系(YUM/DNF)
| 命令 | 说明 | 示例 |
|---|
sudo yum install 包名 | 安装软件包 | sudo yum install vim |
sudo yum remove 包名 | 卸载软件包 | sudo yum remove vim |
sudo yum update | 更新所有软件包 | sudo yum update |
yum search 关键词 | 搜索软件包 | yum search httpd |
yum info 包名 | 查看软件包信息 | yum info vim |
sudo yum clean all | 清理缓存 | sudo yum clean all |
注:RHEL/CentOS 8+ 推荐使用 dnf 替代 yum,命令用法基本相同。
十、压缩与解压
10.1 tar 打包压缩
| 命令 | 说明 | 示例 |
|---|
tar -czvf 压缩包.tar.gz 源文件 | 创建 tar.gz 压缩包 | tar -czvf backup.tar.gz /data |
tar -xzvf 压缩包.tar.gz | 解压 tar.gz 文件 | tar -xzvf backup.tar.gz |
tar -cjvf 压缩包.tar.bz2 源 | 创建 tar.bz2 压缩包 | tar -cjvf archive.tar.bz2 folder |
tar -xjvf 压缩包.tar.bz2 | 解压 tar.bz2 文件 | tar -xjvf archive.tar.bz2 |
tar -xvf 压缩包.tar | 解压 tar 包 | tar -xvf archive.tar |
参数说明:-c 创建,-x 解压,-z gzip 压缩,-j bzip2 压缩,-v 显示过程,-f 指定文件名。
10.2 zip 压缩
| 命令 | 说明 | 示例 |
|---|
zip -r 压缩包.zip 目录 | 压缩为 zip 格式 | zip -r archive.zip folder |
unzip 压缩包.zip | 解压 zip 文件 | unzip archive.zip |
10.3 gzip 压缩
| 命令 | 说明 | 示例 |
|---|
gzip 文件 | 压缩文件(生成 .gz 文件) | gzip file.txt |
gunzip 文件.gz | 解压 .gz 文件 | gunzip file.txt.gz |
十一、文本处理三剑客
11.1 grep——文本搜索
| 命令 | 说明 | 示例 |
|---|
grep "模式" 文件 | 在文件中搜索匹配行 | grep "ERROR" app.log |
grep -i "模式" 文件 | 忽略大小写搜索 | grep -i "error" app.log |
grep -r "模式" 目录 | 递归搜索目录 | grep -r "TODO" ./src |
grep -n "模式" 文件 | 显示匹配行的行号 | grep -n "error" log.txt |
grep -v "模式" 文件 | 显示不匹配的行 | grep -v "INFO" app.log |
11.2 sed——流编辑
| 命令 | 说明 | 示例 |
|---|
sed 's/旧/新/g' 文件 | 替换文件中的文本 | sed 's/foo/bar/g' file.txt |
sed -i 's/旧/新/g' 文件 | 直接修改文件 | sed -i 's/foo/bar/g' file.txt |
sed '/模式/d' 文件 | 删除匹配的行 | sed '/^$/d' file.txt |
11.3 awk——文本分析与格式化
| 命令 | 说明 | 示例 |
|---|
awk '{print $1}' 文件 | 打印第一列 | awk '{print $1}' access.log |
awk '/模式/ {print $2}' 文件 | 匹配模式并打印指定列 | awk '/ERROR/ {print $3}' log.txt |
awk '{sum+=$1} END {print sum}' | 计算列总和 | awk '{sum+=$5} END {print sum}' data.txt |
十二、计划任务
| 命令 | 说明 | 示例 |
|---|
crontab -e | 编辑当前用户的计划任务 | crontab -e |
crontab -l | 查看当前用户的计划任务 | crontab -l |
crontab -r | 删除所有计划任务 | crontab -r |
Cron 时间格式:分 时 日 月 周 命令
0 2 * * * /script.sh —— 每天凌晨2点执行
*/5 * * * * /script.sh —— 每5分钟执行一次
十三、系统关机与重启
| 命令 | 说明 | 示例 |
|---|
shutdown -h now | 立即关机 | shutdown -h now |
shutdown -h +10 | 10分钟后关机 | shutdown -h +10 |
shutdown -r now | 立即重启 | shutdown -r now |
reboot | 重启系统 | reboot |
halt | 停止系统 | halt |
sync | 将内存数据同步到磁盘 | sync |
十四、实用技巧
14.1 管道与重定向
| 操作 | 说明 | 示例 |
|---|
| `命令1 | 命令2` | 将命令1的输出作为命令2的输入 |
命令 > 文件 | 将输出重定向到文件(覆盖) | ls -lh > file_list.txt |
命令 >> 文件 | 将输出追加到文件末尾 | echo "done" >> log.txt |
命令 2> 文件 | 将错误输出重定向到文件 | command 2> error.log |
14.2 别名设置
| 命令 | 说明 | 示例 |
|---|
alias 别名='命令' | 设置临时别名 | alias ll='ls -lh --color=auto' |
写入 ~/.bashrc | 设置永久别名 | echo "alias ll='ls -lh'" >> ~/.bashrc |
source ~/.bashrc | 使配置立即生效 | source ~/.bashrc |
14.3 查看命令位置
| 命令 | 说明 | 示例 |
|---|
which 命令 | 查看命令的绝对路径 | which nginx |
whereis 命令 | 查看命令的二进制、源码和手册位置 | whereis ls |
type 命令 | 查看命令类型(内置/外部/别名) | type cd |
14.4 其他常用命令
| 命令 | 说明 | 示例 |
|---|
echo "文本" | 输出文本或变量 | echo "Hello World" |
wc -l 文件 | 统计文件行数 | wc -l log.txt |
sort 文件 | 对文件内容排序 | sort data.txt |
uniq 文件 | 去重(需先排序) | `sort data.txt |
ln -s 源 链接 | 创建软链接 | ln -s /usr/bin/python3 /usr/bin/python |
watch -n 秒 命令 | 定时重复执行命令 | `watch -n 2 'ps aux |
crontab -e | 编辑计划任务 | crontab -e |
lsof | 列出打开的文件 | `lsof |
systemctl 操作 服务 | 管理系统服务 | systemctl restart nginx |
service 服务 操作 | 管理服务(旧命令) | service nginx restart |
温馨提示:
- 使用
rm -rf 时务必谨慎,建议先用 ls 确认要删除的内容。
- 权限不足时使用
sudo 提权执行命令。
- 遇到不熟悉的命令,先用
man 命令 或 命令 --help 查看帮助。
- 生产环境操作前建议先在测试环境验证。