这篇文章距离最后更新已过21 天,如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
Linux 命令速查手册 By deepseek
📖 格式说明
命令 [选项] [参数]
- 命令:要执行的操作(如
ls、cd)
- 选项:修改命令行为,通常以
-(短选项)或 --(长选项)开头
例:-a 等价于 --all
- 参数:命令作用的对象(如文件名、目录路径)
📘 初级篇 —— 日常必备(每天都会用到的命令)
适用人群:刚接触 Linux 的新手、日常开发/运维基础操作
学习目标:能独立完成文件管理、目录切换、系统信息查看等基本任务
1. 目录切换(cd / pwd)
| 命令示例 |
说明 |
使用场景 |
cd |
回到用户主目录 |
想快速回到家目录时 |
cd /home/zhangsan |
进入指定目录 |
切换到项目代码目录 |
cd .. |
返回上一级目录 |
从深层目录逐级返回 |
cd - |
返回上一次所在目录 |
在两个目录间反复切换 |
pwd |
显示当前完整路径 |
不确定自己在哪个目录时 |
2. 查看目录内容(ls)
| 命令示例 |
说明 |
使用场景 |
ls |
列出当前目录下文件名 |
最基础的查看操作 |
ls -l |
列出详细信息(权限/大小/时间) |
查看文件权限和修改时间 |
ls -a |
列出所有文件(含隐藏文件) |
查看 .bashrc、.git 等隐藏配置 |
ls -al |
组合:详细信息 + 隐藏文件 |
最常用的查看方式,建议设别名为 ll |
ls -ltr |
按时间排序(最新在最下面) |
查看最近修改的文件 |
3. 文件与目录的增删改
| 命令示例 |
说明 |
使用场景 |
mkdir myproject |
创建目录 |
新建项目文件夹 |
mkdir -p a/b/c |
一次性创建多层目录 |
快速创建深层目录结构 |
touch test.txt |
创建空文件(或更新时间戳) |
新建配置文件或占位文件 |
cp file1 file2 |
复制文件 |
备份单个文件 |
cp -r dir1 dir2 |
递归复制目录 |
备份整个项目目录 |
mv file1 file2 |
移动或重命名文件 |
改名或转移文件位置 |
rm file.txt |
删除文件(会提示确认) |
删除不需要的文件 |
rm -r dir/ |
递归删除目录 |
删除整个项目目录 |
rmdir emptydir |
删除空目录 |
仅当目录为空时使用 |
4. 文件内容查看
| 命令示例 |
说明 |
使用场景 |
cat file.txt |
一次性显示全部内容 |
查看小文件(如配置文件) |
head file.txt |
显示文件前 10 行 |
快速预览文件开头内容 |
head -n 20 file.txt |
显示前 20 行 |
指定行数查看 |
tail file.txt |
显示文件后 10 行 |
查看文件末尾内容 |
tail -f app.log |
实时跟踪日志更新 |
最常用:查看实时日志输出 |
more large.log |
分页查看(空格翻页,q 退出) |
查看大文件,避免刷屏 |
5. 系统信息查看
| 命令示例 |
说明 |
使用场景 |
date |
查看当前系统日期时间 |
确认服务器时间 |
cal |
显示当月日历 |
快速查看日期 |
whoami |
显示当前登录用户名 |
确认当前用户身份 |
hostname |
显示主机名 |
确认当前服务器名称 |
uname -a |
显示完整系统信息(内核/架构) |
查看系统版本 |
6. 用户切换与帮助
| 命令示例 |
说明 |
使用场景 |
su - root |
切换到 root 用户 |
需要管理员权限时 |
passwd |
修改当前用户密码 |
定期更换密码 |
命令 --help |
查看命令的简要帮助 |
记不清选项时快速查阅 |
man ls |
查看命令的完整手册(按 q 退出) |
深入了解命令用法 |
clear |
清屏 |
终端内容太多时清理屏幕 |
7. 关机与重启
| 命令示例 |
说明 |
使用场景 |
shutdown -r now |
立刻重启 |
系统更新后需要重启 |
shutdown -h now |
立刻关机 |
关闭服务器 |
shutdown -h 22:30 |
定时关机(晚上 10:30) |
计划内维护 |
shutdown -c |
取消已设定的定时关机 |
取消计划维护 |
📗 中级篇 —— 高效处理(提升工作效率的命令)
适用人群:已熟悉基础操作,需要处理文本、排查问题、做简单脚本的开发者/运维
学习目标:掌握文本处理、搜索、权限管理、进程监控等实用技能
1. 文本搜索(grep)
| 命令示例 |
说明 |
使用场景 |
grep "error" app.log |
在文件中查找包含 "error" 的行 |
排查日志错误 |
grep -i "error" app.log |
忽略大小写查找 |
不区分 Error/ERROR |
grep -r "TODO" ./ |
在当前目录下递归搜索所有文件 |
代码中查找待办项 |
grep -v "debug" app.log |
显示不包含 "debug" 的行(反向匹配) |
过滤掉调试日志 |
grep -E "error\|fatal" log |
使用正则表达式匹配多个关键词 |
同时查找错误和致命错误 |
ps aux \| grep nginx |
结合管道,查找进程信息 |
检查 nginx 是否运行 |
2. 文本统计与处理(wc / sort / uniq)
| 命令示例 |
说明 |
使用场景 |
wc -l file.txt |
统计文件行数 |
统计日志行数 |
wc -w file.txt |
统计单词数 |
统计文本字数 |
sort names.txt |
按字母顺序排序 |
整理名单列表 |
sort -n scores.txt |
按数字大小排序 |
排序成绩或时间 |
sort -r names.txt |
反向排序 |
从 Z 到 A 排列 |
sort file.txt \| uniq |
去重(需先排序) |
统计独立 IP 数 |
sort file.txt \| uniq -c |
统计每个值出现的次数 |
统计访问次数最多的 IP |
3. 文件搜索(find)
| 命令示例 |
说明 |
使用场景 |
find . -name "*.log" |
在当前目录查找所有 .log 文件 |
查找日志文件 |
find /home -type d -name "cache" |
按类型查找目录 |
查找缓存目录 |
find /var -size +100M |
查找大于 100MB 的文件 |
清理大文件释放空间 |
find /tmp -mtime +7 |
查找 7 天前修改过的文件 |
清理过期临时文件 |
find . -name "*.tmp" -delete |
查找并删除匹配的文件 |
批量清理临时文件 |
4. 权限管理(chmod / chown)
| 命令示例 |
说明 |
使用场景 |
chmod 755 script.sh |
设置权限:rwxr-xr-x |
给脚本添加执行权限 |
chmod +x script.sh |
给文件添加执行权限 |
快速赋予可执行权限 |
chown zhangsan file.txt |
修改文件所有者为 zhangsan |
转移文件归属 |
chown -R zhangsan:devops /project |
递归修改目录所有者和组 |
移交整个项目目录 |
5. 进程管理
| 命令示例 |
说明 |
使用场景 |
ps aux |
显示所有进程的详细信息 |
查看系统所有运行进程 |
ps aux \| grep java |
查找 Java 进程 |
查看 Java 服务是否运行 |
top |
动态显示进程资源占用(按 q 退出) |
实时监控 CPU/内存 |
top -p 12345 |
只监控指定 PID 的进程 |
专注观察某个服务 |
kill 12345 |
正常终止 PID 为 12345 的进程 |
关闭服务 |
kill -9 12345 |
强制立即终止进程 |
服务无响应时强杀 |
killall nginx |
按名称终止所有 nginx 进程 |
重启 nginx 服务 |
6. 压缩与打包
| 命令示例 |
说明 |
使用场景 |
tar -czvf archive.tar.gz /data |
打包并压缩成 .tar.gz |
备份整个数据目录 |
tar -xzvf archive.tar.gz |
解压 .tar.gz 文件 |
还原备份 |
tar -cjvf archive.tar.bz2 /data |
打包成 .tar.bz2(压缩率更高) |
需要更小体积时 |
zip -r archive.zip /data |
压缩成 .zip 格式 |
与 Windows 用户交换文件 |
unzip archive.zip -d /target |
解压到指定目录 |
解压到特定位置 |
7. 网络查看
| 命令示例 |
说明 |
使用场景 |
ifconfig 或 ip addr |
查看 IP 地址和网卡信息 |
查看服务器 IP |
ping 192.168.1.1 |
测试网络连通性 |
排查网络是否通畅 |
netstat -tuln |
查看所有监听端口 |
检查服务是否正常监听 |
netstat -anp \| grep 8080 |
查看端口 8080 被哪个进程占用 |
解决端口冲突问题 |
ss -tuln |
更快的端口查看命令(替代 netstat) |
查看监听端口 |
8. 别名与快捷操作
| 命令示例 |
说明 |
使用场景 |
alias ll='ls -alF' |
设置别名,简化长命令 |
提高日常操作效率 |
alias gst='git status' |
设置 Git 别名 |
简化 Git 操作 |
unalias ll |
取消别名 |
临时取消别名设置 |
history |
查看命令历史记录 |
找回之前用过的命令 |
!! |
重复执行上一条命令 |
忘记加 sudo 时用 sudo !! |
Ctrl + R |
反向搜索历史命令 |
快速找回之前的长命令 |
📕 高级篇 —— 运维进阶(脚本编写与系统调优)
适用人群:有经验的运维工程师、系统管理员、DevOps 工程师
学习目标:掌握流编辑、计划任务、性能分析、批量处理等高级技能
1. 流编辑与文本处理(sed / awk)
| 命令示例 |
说明 |
使用场景 |
sed 's/old/new/g' file.txt |
将文件中的 old 全部替换为 new(预览) |
查看替换效果 |
sed -i 's/old/new/g' file.txt |
直接修改文件(原地替换) |
批量修改配置文件 |
sed -i '/^#/d' file.txt |
删除所有以 # 开头的行 |
清理配置文件中的注释 |
sed -n '10,20p' file.txt |
只显示第 10 到第 20 行 |
提取日志中间部分 |
awk '{print $1}' log.txt |
打印每行的第一个字段 |
提取 IP 地址或时间戳 |
awk '{sum+=$1} END {print sum}' data.txt |
对第一列求和 |
统计数据总和 |
awk '$3 > 100' data.txt |
过滤第三列大于 100 的行 |
筛选符合条件的记录 |
2. 定时任务(crontab)
| 命令示例 |
说明 |
使用场景 |
crontab -e |
编辑当前用户的定时任务 |
添加/修改定时任务 |
crontab -l |
查看当前用户的定时任务列表 |
检查已配置的任务 |
crontab -r |
删除当前用户的所有定时任务 |
清空任务列表 |
| 定时任务语法示例 |
|
|
0 2 * * * /backup.sh |
每天凌晨 2 点执行备份 |
自动备份数据 |
*/5 * * * * /check.sh |
每 5 分钟执行一次检查 |
监控服务状态 |
0 9-18 * * 1-5 /work.sh |
工作日 9:00~18:00 每小时执行 |
业务时段任务 |
3. 性能监控(vmstat / iostat / sar)
| 命令示例 |
说明 |
使用场景 |
vmstat 2 |
每 2 秒输出一次系统状态(CPU/内存/IO) |
快速查看系统负载 |
vmstat 2 5 |
输出 5 次后停止 |
采样分析 |
iostat -x 2 |
查看磁盘 I/O 详细情况(每 2 秒) |
定位磁盘性能瓶颈 |
iostat -x 2 5 |
采样 5 次后停止 |
短期 I/O 分析 |
free -h |
查看内存使用情况(人性化显示) |
检查内存是否不足 |
df -h |
查看磁盘分区使用情况 |
检查磁盘空间是否快满 |
du -sh /home/* |
查看每个用户占用的磁盘空间 |
找出占用空间大的用户 |
time ls -R / |
测量命令执行耗时 |
评估命令/脚本性能 |
4. 高级进程管理(pgrep / pkill / nohup)
| 命令示例 |
说明 |
使用场景 |
pgrep -u root sshd |
查找指定用户运行的进程 PID |
精确查找进程 |
pgrep -f "java.*jar" |
按完整命令匹配查找 |
查找特定 Java 服务 |
pkill -u zhangsan |
终止某用户的所有进程 |
用户退出时清理进程 |
nohup java -jar app.jar & |
后台运行程序,退出终端也不停止 |
部署 Java 服务 |
jobs |
查看当前终端后台运行的任务 |
管理后台任务 |
fg %1 |
将后台任务 1 调回前台 |
恢复交互操作 |
bg %1 |
将挂起的任务放到后台继续运行 |
后台执行任务 |
5. 重定向与管道组合(高级用法)
| 命令示例 |
说明 |
使用场景 |
./script.sh > output.log 2>&1 |
将标准输出和错误输出都写入文件 |
完整记录脚本执行日志 |
./script.sh >> output.log 2>&1 |
追加输出到文件(不覆盖) |
累加日志 |
./script.sh 2>/dev/null |
忽略错误输出 |
只看正常输出 |
cat file1 file2 \| sort \| uniq > result.txt |
组合多个命令处理数据 |
复杂数据清洗 |
find . -name "*.log" \| xargs grep "ERROR" |
用 xargs 批量处理搜索结果 |
在大量日志文件中搜索 |
6. 链接与环境变量
| 命令示例 |
说明 |
使用场景 |
ln -s /usr/bin/python3 /usr/local/bin/python |
创建软链接(快捷方式) |
统一不同版本的路径 |
ln file.txt hardlink.txt |
创建硬链接(同一文件不同名字) |
备份而不占用额外空间 |
export JAVA_HOME=/usr/lib/jvm/java-11 |
设置环境变量 |
配置程序运行环境 |
echo $PATH |
查看当前 PATH 路径 |
确认命令搜索路径 |
unset http_proxy |
删除环境变量 |
取消代理设置 |
7. 远程操作与数据传输(scp / rsync)
| 命令示例 |
说明 |
使用场景 |
scp file.txt user@192.168.1.100:/home/user/ |
通过 SSH 复制文件到远程服务器 |
上传文件到服务器 |
scp -r /data user@192.168.1.100:/backup/ |
递归复制整个目录 |
同步整个文件夹 |
rsync -avz /data/ user@192.168.1.100:/backup/ |
增量同步(只传输变化部分) |
高效备份数据 |
rsync -avz --delete /data/ user@192.168.1.100:/backup/ |
同步并删除目标端多余文件 |
精确镜像同步 |
8. 系统服务与日志轮转
| 命令示例 |
说明 |
使用场景 |
systemctl start nginx |
启动 nginx 服务 |
管理系统服务(CentOS 7+) |
systemctl status nginx |
查看服务运行状态 |
检查服务是否正常 |
systemctl enable nginx |
设置服务开机自启 |
配置开机自动启动服务 |
journalctl -u nginx -f |
实时查看某个服务的日志 |
排查服务启动问题 |
journalctl -u nginx --since today |
查看今天的所有服务日志 |
分析今日服务运行情况 |
📊 难度对照速查表(快速定位)
| 难度 |
核心命令 |
典型使用场景 |
| ⭐ 初级 |
cd, ls, cp, mv, rm, mkdir, cat, head, tail, pwd, date, whoami |
日常文件管理、目录导航 |
| ⭐⭐ 中级 |
grep, find, ps, kill, chmod, chown, sort, uniq, tar, zip, netstat, alias |
日志排查、权限管理、进程控制 |
| ⭐⭐⭐ 高级 |
sed, awk, crontab, vmstat, iostat, nohup, rsync, systemctl, xargs |
脚本编写、性能调优、自动化运维 |
🔥 高频组合命令(实战推荐)
| 场景 |
命令组合 |
| 实时查看错误日志 |
tail -f app.log \| grep ERROR |
| 统计 Top 10 访问 IP |
cat access.log \| awk '{print $1}' \| sort \| uniq -c \| sort -rn \| head -10 |
| 批量停止所有 Java 服务 |
ps aux \| grep java \| awk '{print $2}' \| xargs kill -9 |
| 查找并清理 7 天前的备份 |
find /backup -name "*.tar.gz" -mtime +7 -delete |
| 备份目录并压缩为带日期的文件 |
tar -czvf backup_$(date +%Y%m%d).tar.gz /data |
| 远程同步网站根目录 |
rsync -avz --delete /var/www/ user@backup-server:/backup/www/ |