Linux 运维高阶命令实战指南:5 大核心场景,线上故障一键排查
作为运维工程师与后端开发,日常服务器运维、线上故障排查都离不开 Linux 命令。基础命令只能完成简单的文件切换、内容查看,而高阶运维命令才是定位性能瓶颈、分析日志异常、管控进程资源、排查网络磁盘故障的核心工具。
线上生产环境经常遇到服务器负载飙高、日志报错刷屏、磁盘空间爆满、网络链路中断、进程僵死等问题,若只会基础命令,排障效率会大打折扣。本文结合生产实战经验,将运维高频高阶命令按系统监控、日志分析、进程管理、磁盘运维、网络调试五大核心场景分类,拆解每条命令的核心用途、常用参数与落地实战用法,规避死记参数的误区,直接拿来就能用,适合运维新人入门、老手收藏备查。

一、系统性能监控与瓶颈定位
服务器卡顿、响应超时、资源耗尽时,首要工作就是排查 CPU、内存、磁盘 IO 的占用情况,以下 3 条命令是性能诊断的标配。
1. top 系统动态监控
top 是 Linux 自带的实时系统监控工具,可动态刷新全局 CPU、内存、各进程资源占用,是排查系统负载过高的第一选择。
- 常用核心参数
top -d 2:设置刷新间隔为 2 秒(默认 3 秒)top -p 1234:只监控 PID 为 1234 的指定进程top -u root:过滤仅展示 root 用户下的进程
- 交互快捷操作
- 按下
P:按 CPU 占用率降序排序 - 按下
M:按内存占用率降序排序 - 按下
q:退出监控界面
- 按下
2. htop top 增强升级版
推荐生产环境优先安装使用,完美兼容 top 所有功能,解决了 top 界面简陋、操作繁琐的痛点。
- 核心优势:支持鼠标操作、树形展示进程父子关系、色彩区分资源状态
- 常用快捷操作
F2:自定义监控展示列、调整刷新频率F4:关键词快速筛选目标进程F9:直接向进程发送终止、暂停等操作信号
3. iostat 磁盘 IO 专项分析
专门用于排查磁盘性能瓶颈,精准监控磁盘读写速度、IO 利用率、请求响应时间,区分是磁盘硬件故障还是应用频繁读写导致的卡顿。
- 核心用法
iostat -d -x 1:只展示磁盘 IO 扩展信息,每秒刷新一次iostat -d -x 1 sda:单独监控 sda 磁盘分区状态
- 关键字段解读
%util:磁盘 IO 利用率,持续超过 80% 基本判定 IO 瓶颈rMB/s/wMB/s:磁盘每秒读写流量await:IO 请求平均响应时间,数值过高代表磁盘处理缓慢
二、日志排查与文本智能处理
线上服务报错、接口异常、业务逻辑故障,80% 都需要通过日志定位根源。tail、grep、awk构成日志分析铁三角,高效完成日志跟踪、关键词过滤、结构化统计。
1. tail 日志实时跟踪
主要用于查看日志末尾内容,支持实时监听日志新增数据,是线上实时排障必备。
- 实战用法
tail -n 100 app.log:查看日志最后 100 行内容tail -f app.log:实时跟踪日志新增内容tail -F app.log:超强适配日志切割场景,日志文件删除重建后自动续连监听
2. grep 关键词精准过滤
支持普通字符串与正则匹配,可快速从海量日志中筛选错误、告警信息,还能递归检索全目录日志。
- 常用参数
grep -i "error" app.log:忽略大小写匹配关键词grep -n "ERROR" app.log:匹配结果显示行号,快速定位日志位置grep -C 5 "ERROR" app.log:展示错误行前后 5 行上下文,梳理报错原因grep -r "Exception" /var/log/:递归检索指定目录下所有日志文件
3. awk 结构化日志分析
擅长按列拆分文本,适配 Nginx、Tomcat 等结构化日志,可实现 IP 提取、请求过滤、访问量统计等高级操作。
- 实战案例
- 提取 Nginx 日志所有客户端 IP:
awk '{print $1}' nginx.access.log - 筛选响应时间超 100ms 的请求:
awk '$10>100' nginx.access.log - 统计每个 IP 的访问次数:
awk '{count[$1]++} END{for(ip in count) print ip, count[ip]}' nginx.access.log
- 提取 Nginx 日志所有客户端 IP:
三、进程管理与异常故障恢复
服务宕机、进程僵死、子进程异常衍生时,需要快速查看进程状态、梳理父子关系、终止异常进程。
1. ps 进程静态快照
静态查看系统所有进程信息,获取 PID、运行用户、资源占用等核心数据,常搭配管道筛选指定服务进程。
- 高频组合命令
ps -ef | grep java:查看所有 Java 相关进程ps aux:按资源占用排序展示所有进程,适合查找高占用异常进程
2. pstree 进程树形展示
以树形结构直观呈现进程父子关系,专门用于排查守护进程异常、子进程僵死、进程启动失败等问题。
- 常用用法
pstree -p:展示进程树并附带 PID 编号pstree root:只展示 root 用户名下的所有进程树
四、磁盘存储排查与文件精细化管理
磁盘空间爆满、inode 耗尽、大文件占用资源等存储问题,依靠df、du、find三条命令即可快速定位解决。
1. df 磁盘分区使用率
查看系统各磁盘分区容量、已用空间、使用率,是排查磁盘爆满的第一道关口。
- 常用参数
df -h:人性化 GB/MB 格式展示分区大小,直观易懂df -i:查看 inode 使用率,解决磁盘有空间但无法创建文件的隐藏问题
2. du 文件目录占用统计
精准查看单个文件或目录的实际占用大小,解决 df 显示磁盘满却找不到大文件的痛点。
- 实战用法
du -sh /var/log/:汇总查看日志目录总占用大小du -h --max-depth=1 /:查看根目录下一级目录占用,快速定位大文件夹du -h /var/log/ | sort -nr | head -10:排序找出目录下最大的 10 个文件
3. find 文件精准检索
可按文件大小、修改时间、权限等多条件递归查找文件,常用于清理过期日志、定位超大垃圾文件。
- 生产常用案例
- 查找根目录下大于 100MB 的文件:
find / -size +100M -type f - 查找 7 天前的历史日志:
find /var/log/ -mtime +7 -type f - 批量删除 7 天前过期日志:
find /var/log/ -mtime +7 -type f -exec rm -rf {} \;
- 查找根目录下大于 100MB 的文件:
五、网络连通性与路由故障调试
服务无法访问、网络延迟高、链路丢包时,通过网络命令快速检测连通性、追踪路由节点、定位故障断点。
1. ping 基础连通检测
测试主机间网络连通性,判断目标服务器是否可达、网络延迟是否超标。
- 常用参数
ping -c 4 192.168.1.1:发送 4 个数据包后自动终止,适配脚本调用ping -i 2 192.168.1.1:设置每 2 秒发送一个探测包
2. traceroute /mtr 路由追踪
- traceroute:追踪数据包从本机到目标地址经过的所有路由节点,定位网络中断的网关位置
- mtr:ping 与 traceroute 的整合升级版,生产环境首选。可实时统计每个路由节点的丢包率、平均延迟,故障定位更精准,用法:
mtr www.baidu.com
六、运维实战核心技巧总结
- 优先选用增强工具:用 htop 替代 top、mtr 替代 traceroute,功能更强、操作更人性化,大幅提升排障效率;
- 善用管道组合命令:单条命令能力有限,结合
|管道可实现筛选、排序、统计一站式批量操作; - 摒弃死记参数思维:无需熟记所有参数,掌握核心场景用法,复杂参数按需查阅即可;
- 线上操作严守谨慎:find 批量删除、kill 终止进程等高危操作,务必先查询确认,避免误操作引发生产事故。
写在最后
以上五大场景的高阶 Linux 命令,覆盖了运维日常 90% 的故障排查、服务器巡检、资源管控需求。建议先在测试环境熟悉命令用法,理解背后的使用场景,而非机械背诵。后续我会持续分享 Linux 运维命令组合实战、线上故障排障流程等干货,欢迎点赞、收藏、关注,一起精进运维技术!
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐



所有评论(0)