运维人的 Linux 工具箱:这些命令能救急

在Linux运维工作中,掌握关键命令可以大幅提升故障排查和系统管理效率。无论是服务器卡顿、网络异常,还是日志分析、性能优化,合适的命令能让你快速定位问题并解决。

本文整理了一些最实用的Linux命令,涵盖系统监控、网络诊断、日志分析、文件管理等场景,教你如何使用它们应对突发故障。

一、系统监控与性能分析

1. top / htop —— 实时进程监控

作用:查看CPU、内存、进程占用情况。

救急场景:服务器卡顿,快速定位高负载进程。

示例:

复制
top -c # 显示完整命令 htop # 更友好的交互式界面(需安装)1.2.

输出关键列:

%CPU:进程CPU占用率RES:内存占用COMMAND:进程名称2. vmstat —— 系统资源统计

作用:查看CPU、内存、I/O、上下文切换等整体情况。

救急场景:排查系统瓶颈(如CPU等待I/O)。

示例:

复制
vmstat 1 5 # 每秒1次,共5次1.

关键指标:

r:运行队列长度(>CPU核心数说明过载)wa:I/O等待时间占比(高说明磁盘瓶颈)3. iostat —— 磁盘I/O监控

作用:分析磁盘读写性能。

救急场景:数据库缓慢,怀疑磁盘瓶颈。

示例:

复制
iostat -x 1 # 显示扩展统计,每秒刷新1.

关键指标:

%util:磁盘利用率(>80%说明繁忙)await:I/O平均等待时间(毫秒)4. free -h —— 内存使用情况

作用:查看内存和Swap使用情况。

救急场景:服务崩溃,怀疑内存耗尽。

示例:

复制
free -h1.

关键指标:available:可用内存(包括缓存和缓冲区)

5. df -h / du -sh —— 磁盘空间分析

作用:df查看磁盘剩余空间,du统计目录大小。

救急场景:日志写满磁盘导致服务异常。

示例:

复制
df -h / # 查看根分区使用率 du -sh /var/log # 统计日志目录大小1.2.

二、网络诊断

1. ping / traceroute —— 基础连通性测试

作用:检查网络延迟和路由路径。

救急场景:用户反馈网站无法访问。

示例:

复制
ping example.com traceroute example.com1.2.
2. netstat / ss —— 网络连接与端口监听

作用:查看当前网络连接和监听端口。

救急场景:服务端口未启动或连接数爆满。

示例:

复制
netstat -tulnp # 传统写法 ss -tulnp # 更快的替代方案1.2.
3. tcpdump —— 抓包分析

作用:捕获网络数据包,排查协议问题。

救急场景:API接口异常,怀疑网络丢包。

示例:

复制
tcpdump -i eth0 port 80 -w capture.pcap1.
4. iftop / nethogs —— 实时流量监控

作用:按进程或IP查看网络带宽占用。

救急场景:服务器流量激增,定位异常连接。

示例:

复制
iftop -i eth0 # 按IP统计流量 nethogs eth0 # 按进程统计(需安装)1.2.

三、日志与文本处理

1. grep —— 文本搜索

作用:快速过滤关键日志。

救急场景:从海量日志中找错误信息。

示例:

复制
grep "ERROR" /var/log/syslog grep -A 3 -B 2 "panic" app.log # 显示匹配行的前后内容1.2.
2. tail -f —— 实时日志跟踪

作用:动态查看日志更新。

救急场景:调试服务启动问题。

示例:

复制
tail -f /var/log/nginx/access.log1.
3. awk / sed —— 高级文本处理

作用:提取、替换、统计文本内容。

救急场景:分析日志生成报告。

示例:

复制
awk {print $1} access.log | sort | uniq -c # 统计IP访问次数 sed -i s/old/new/g file.conf # 批量替换文本1.2.

四、文件与权限管理

1. find —— 文件搜索

作用:按名称、时间、大小查找文件。

救急场景:清理过期日志或临时文件。

示例:

复制
find /var/log -name "*.log" -mtime +30 -delete1.
2. chmod / chown —— 权限管理

作用:修改文件权限和所有者。

救急场景:因权限问题导致服务无法启动。

示例:

复制
chmod 755 script.sh chown -R nginx:nginx /var/www1.2.

五、系统管理

3. systemctl —— 服务管理

作用:启动、停止、重启服务。

救急场景:服务崩溃需快速恢复。

示例:

复制
systemctl restart nginx systemctl status docker1.2.
4. journalctl —— 查看系统日志

作用:查询systemd管理的服务日志。

救急场景:服务启动失败排查。

示例:

复制
journalctl -u nginx --since "1 hour ago"1.
总结

以上这些命令覆盖了Linux运维中最常见的故障场景,建议收藏并熟练使用。实际工作中,可结合脚本实现自动化,进一步提升效率。

阅读剩余
THE END