在Linux运维工作中,掌握关键命令可以大幅提升故障排查和系统管理效率。无论是服务器卡顿、网络异常,还是日志分析、性能优化,合适的命令能快速定位问题并解决。
整理了20个最实用的Linux命令,涵盖系统监控、网络诊断、日志分析、文件管理等场景,应对突发故障。
作用:查看CPU、内存、进程占用情况。
救急场景:服务器卡顿,快速定位高负载进程。
示例:
top -c # 显示完整命令
htop # 更友好的交互式界面(需安装)
输出关键列:
%CPU:进程CPU占用率
RES:内存占用
COMMAND:进程名称
作用:查看CPU、内存、I/O、上下文切换等整体情况。
救急场景:排查系统瓶颈(如CPU等待I/O)。
示例:
vmstat 1 5 # 每秒1次,共5次
关键指标:
r:运行队列长度(>CPU核心数说明过载)
wa:I/O等待时间占比(高说明磁盘瓶颈)
作用:分析磁盘读写性能。
救急场景:数据库缓慢,怀疑磁盘瓶颈。
示例:
iostat -x 1 # 显示扩展统计,每秒刷新
关键指标:
%util:磁盘利用率(>80%说明繁忙)
await:I/O平均等待时间(毫秒)
作用:查看内存和Swap使用情况。
救急场景:服务崩溃,怀疑内存耗尽。
示例:
free -h
关键指标:
available:可用内存(包括缓存和缓冲区)
作用:df查看磁盘剩余空间,du统计目录大小。
救急场景:日志写满磁盘导致服务异常。
示例:
df -h / # 查看根分区使用率du -sh /var/log # 统计日志目录大小
作用:检查网络延迟和路由路径。
救急场景:用户反馈网站无法访问。
示例:
ping example.comtraceroute example.com
作用:查看当前网络连接和监听端口。
救急场景:服务端口未启动或连接数爆满。
示例:
netstat -tulnp # 传统写法ss -tulnp # 更快的替代方案
作用:捕获网络数据包,排查协议问题。
救急场景:API接口异常,怀疑网络丢包。
示例:
tcpdump -i eth0 port 80 -w capture.pcap
作用:按进程或IP查看网络带宽占用。
救急场景:服务器流量激增,定位异常连接。
示例:
iftop -i eth0 # 按IP统计流量nethogs eth0 # 按进程统计(需安装)
作用:快速过滤关键日志。
救急场景:从海量日志中找错误信息。
示例:
grep "ERROR" /var/log/sysloggrep -A 3 -B 2 "panic" app.log # 显示匹配行的前后内容
作用:动态查看日志更新。
救急场景:调试服务启动问题。
示例:
tail -f /var/log/nginx/access.log
作用:提取、替换、统计文本内容。
救急场景:分析日志生成报告。
示例:
awk '{print $1}' access.log | sort | uniq -c # 统计IP访问次数sed -i 's/old/new/g' file.conf # 批量替换文本
作用:按名称、时间、大小查找文件。
救急场景:清理过期日志或临时文件。
示例:
find /var/log -name "*.log" -mtime +30 -delete
作用:修改文件权限和所有者。
救急场景:因权限问题导致服务无法启动。
示例:
chmod 755 script.shchown -R nginx:nginx /var/www
作用:启动、停止、重启服务。
救急场景:服务崩溃需快速恢复。
示例:
systemctl restart nginxsystemctl status docker
作用:查询systemd管理的服务日志。
救急场景:服务启动失败排查。
示例:
journalctl -u nginx --since "1 hour ago"
文章
阅读量
获赞