作者: 唐叔在学习
关键词: #Linux命令 #运维工程师 #Linux教程 #服务器管理 #Linux学习 #运维开发 #DevOps #Shell命令 #Linux系统 #IT技能
摘要: 本文由唐叔为大家整理Linux系统运维中最常用的20个核心命令,涵盖文件操作、系统监控、网络排查等高频场景,配合实战案例讲解,助你快速掌握Linux运维必备技能,建议收藏!
一、开篇唠嗑
各位优快云的老铁们好啊,我是你们的老朋友唐叔!今天咱们不聊996,不吐槽产品经理,来点实实在在的干货 - Linux运维工程师每天必敲的那些命令。
mindmap
root((Linux运维核心命令))
文件操作
ls
l: 详细信息
h: 人性化显示
t: 时间排序
grep
n: 显示行号
r: 递归搜索
find
name: 按名称查找
exec: 执行操作
系统监控
top
c: 完整命令
u: 按用户筛选
df
h: 可读格式
T: 文件系统类型
free
h: 可读格式
s: 刷新间隔
故障排查
tail
f: 实时追踪
n: 显示行数
journalctl
u: 服务筛选
since: 时间范围
tcpdump
i: 指定网卡
w: 保存文件
性能分析
vmstat
1 5: 采样间隔
iostat
x: 扩展统计
sar
A: 所有报告
实用工具
rsync
a: 归档模式
delete: 同步删除
crontab
e: 编辑
l: 查看
awk
'print \$1': 提取列
原图优快云不支持打开,可以复制内容到 中文Mermaid 进行打开。
二、文件操作三剑客
1. ls - 你的"眼睛"
ls -lht /var/log # 按时间倒序+人类可读大小显示
这个命令用的比筷子还频繁!加参数才是正确姿势:
-l
详细列表-h
人类可读文件大小-t
按时间排序-a
显示隐藏文件
2. grep - 文本"显微镜"
grep -n "error" /var/log/syslog --color=auto # 高亮显示错误行
排查日志必备:
-n
显示行号-A3 -B2
显示匹配行的前后内容-r
递归搜索目录
3. find - 系统"搜素引擎"
find / -name "*.log" -size +100M -exec ls -lh {} \; # 找大于100M的日志
高级玩法:
-mtime +7
修改时间超过7天-exec
对找到的文件执行操作-type f
只找文件不找目录
三、系统监控四天王
4. top - 系统"体检仪"
top -c -u mysql # 显示完整命令+只看mysql用户进程
关键看这几列:
%CPU
> 80% 的要警惕RES
内存占用S
进程状态(R=运行,S=睡眠)
5. df - 磁盘"警报器"
df -Th | grep -v overlay # 显示文件系统类型+排除容器挂载点
-h
人性化显示-i
查看inode使用情况(小文件多的场景必看)
6. free - 内存"晴雨表"
free -h -s 3 # 每3秒刷新内存情况
重点看:
available
真正可用内存buff/cache
缓存内存(Linux会自动利用)
7. netstat/ss - 网络"连接图"
ss -tulnp | grep nginx # 查看nginx监听端口(比netstat更快)
新系统推荐用ss
:
-t
TCP连接-u
UDP连接-l
监听端口
四、故障排查五虎将
8. tail - 日志"追踪器"
tail -f /var/log/nginx/access.log | grep "500" # 实时追踪500错误
常用组合:
-f
实时跟踪-n 100
显示最后100行- 配合
grep
过滤关键信息
9. journalctl - 系统日志"新贵"
journalctl -u docker --since "1 hour ago" -f # 追踪docker服务最新日志
Systemd系统专用:
-u
按服务筛选--since
时间范围筛选-x
显示更多解释信息
10. strace - 系统调用"监听器"
strace -ff -p 1234 -o debug.log # 跟踪进程1234的所有线程
调试神器:
- 查看进程卡在哪里
- 分析文件打不开原因
- 排查权限问题
11. tcpdump - 网络"窃听器"
tcpdump -i eth0 port 80 -w capture.pcap # 抓取80端口流量存文件
高级过滤:
host 1.1.1.1
指定IPtcp port 3306
MySQL通信分析-c 100
抓100个包就停
12. lsof - 文件"关联大师"
lsof -i :8080 # 查看谁在占用8080端口
经典场景:
- 删除文件提示被占用
- 查看进程打开了哪些文件
- 排查端口冲突
五、性能分析三板斧
13. vmstat - 系统健康"快照"
vmstat 1 5 # 每隔1秒采样,共5次
关键指标:
r
运行队列长度si/so
交换分区使用情况us/sy
CPU用户态/内核态时间
14. iostat - 磁盘IO"仪表盘"
iostat -x 1 # 显示扩展统计+1秒间隔
重点看:
%util
设备利用率await
IO等待时间svctm
服务时间
15. sar - 系统"黑匣子"
sar -u -r -n DEV 1 3 # 查看CPU/内存/网卡历史数据
需要先安装sysstat
:
-A
所有报告-f
读取历史文件-q
查看负载队列
六、实用小工具合集
16. rsync - 文件"同步专家"
rsync -avz --delete /data/ user@backup:/backup/ # 增量同步+删除目标多余文件
比scp更强大的特性:
- 增量传输
- 断点续传
- 保持权限属性
17. awk - 文本"瑞士军刀"
awk '{print $1,$4}' access.log | sort | uniq -c # 统计访问IP+状态码
常用套路:
BEGIN/END
预处理和后处理-F
指定分隔符- 数学运算和条件判断
18. sed - 流式"编辑器"
sed -i 's/old/new/g' file.txt # 批量替换文本
经典用法:
- 行筛选
/pattern/p
- 行删除
/pattern/d
- 批量替换
19. tar - 打包"老管家"
tar -czvf logs.tar.gz /var/log/ --exclude=*.tmp # 打包排除临时文件
参数详解:
-c
创建-x
解压-z
gzip压缩-v
显示过程
20. crontab - 定时"闹钟"
crontab -e # 编辑当前用户计划任务
时间格式口诀:
* * * * * command
分 时 日 月 周
七、终极总结
类别 | 核心命令 | 关键参数 | 典型应用场景 | 使用频率 |
---|---|---|---|---|
文件操作 | ls | -lh, -t, -a | 目录内容查看 | ⭐⭐⭐⭐⭐ |
grep | -n, -r, -A3 | 日志关键词过滤 | ⭐⭐⭐⭐⭐ | |
find | -name, -exec, -mtime | 文件搜索与批量操作 | ⭐⭐⭐⭐ | |
系统监控 | top | -c, -u, -p | 实时进程监控 | ⭐⭐⭐⭐⭐ |
df | -h, -T, -i | 磁盘空间检查 | ⭐⭐⭐⭐ | |
free | -h, -s | 内存使用分析 | ⭐⭐⭐⭐ | |
故障排查 | tail | -f, -n | 日志实时追踪 | ⭐⭐⭐⭐⭐ |
journalctl | -u, --since, -f | systemd服务日志查询 | ⭐⭐⭐⭐ | |
strace | -p, -o | 进程系统调用跟踪 | ⭐⭐⭐ | |
性能分析 | vmstat | 1 5 | 系统整体负载观测 | ⭐⭐⭐ |
iostat | -x, -d | 磁盘IO性能分析 | ⭐⭐⭐ | |
sar | -A, -f | 历史性能数据查询 | ⭐⭐ | |
实用工具 | rsync | -az, --delete | 文件同步备份 | ⭐⭐⭐⭐⭐ |
crontab | -e, -l | 定时任务管理 | ⭐⭐⭐⭐ | |
awk | ‘{print $1}’, -F | 文本数据提取 | ⭐⭐⭐⭐ |
图表使用技巧:
- 五角星数量代表使用频率(⭐⭐⭐⭐⭐为最高)
- 建议将表格保存为桌面壁纸或打印贴墙
- 手机用户可截图保存常用部分
最后唐叔再唠叨几句:
- 命令参数不用死记,多用
--help
查手册 - 危险操作(rm/chmod等)先
echo
预览 - 复杂命令存成脚本或alias别名
- 善用
man
和info
查看官方文档
各位还有什么压箱底的命令?评论区见!
(转载需授权,原创不易,求三连!)
往期推荐: