前言
对于Linux运维工程师来说,熟练掌握命令行是基本功。本文精选了20个实战中最常用的命令技巧,涵盖日志分析、进程管理、网络诊断、文件处理等核心场景,助你快速解决实际问题。
一、日志分析篇
1. 实时追踪日志
tail -f /var/log/nginx/access.log | grep -E "(500|502|503)"
实时监控Nginx错误日志,快速定位500错误。
2. 日志统计IP访问量
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -20
统计访问量前20的IP,方便识别异常流量或攻击源。
3. 查找错误关键词
grep -E "error|warning|fatal" /var/log/syslog | tail -100
从系统日志中提取最近100条错误或警告记录。
4. 日志大小统计
du -h /var/log/*.log --max-depth=0 2>/dev/null | sort -rh | head -10
快速查看各个日志文件的占用空间,及时清理。
二、进程与资源管理篇
5. 按CPU/内存排序查看进程
# 按CPU占用排序
ps aux --sort=-%cpu | head -11
# 按内存占用排序
ps aux --sort=-%mem | head -11
6. 一键杀掉僵尸进程
ps aux | awk '$2 ~ /[0-9]+/ && $8 ~ /Z/{print $2}' | xargs -r kill -9
7. 监控CPU/内存实时数据
vmstat 1 10 # 每秒更新,共10次
观察CPU和内存的实时使用情况。
8. 查找占用端口的进程
# 查找占用80端口的进程
lsof -i :80
# 或者
ss -tlnp | grep :80
三、网络诊断篇
9. 快速测试网络延迟
ping -c 10 baidu.com | tail -1
测试到百度服务器的延迟,tail -1只显示最后汇总。
10. 追踪路由节点
traceroute -m 15 8.8.8.8
追踪到目标IP经过的所有路由节点,最多15跳。
11. 查看网络连接状态统计
ss -s
# 或者
netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
快速了解当前网络连接状态(ESTABLISHED、TIME_WAIT等)。
12. 检查DNS解析
dig +short xjahb.cn
# 或
nslookup xjahb.cn
四、文件处理篇
13. 批量查找大文件
find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null | awk '{print $5, $9}'
找出大于100MB的文件,方便清理或优化存储。
14. 批量重命名文件
# 把所有 .txt 改成 .log
rename 's/.txt$/.log/' *.txt
# 或者用 rename 命令(Debian系)
rename 's/^file_/backup_/' file_*.txt
15. 远程同步目录
rsync -avz --progress /data/backup/ user@remote:/backup/
使用rsync高效同步目录,支持断点续传。
16. 查看文件类型和编码
file myfile.txt
# 查看编码
iconv -l | grep -i utf
五、系统维护篇
17. 一键清理缓存
# 清理pagecache
sync && echo 1 > /proc/sys/vm/drop_caches
# 清理dentries和inodes
sync && echo 2 > /proc/sys/vm/drop_caches
# 清理所有缓存
sync && echo 3 > /proc/sys/vm/drop_caches
⚠️ 生产环境慎用,建议在业务低峰期执行。
18. 查看系统启动时间与负载
uptime
# 输出示例:15:30:01 up 45 days, 3:22, 2 users, load average: 0.15, 0.10, 0.08
19. 磁盘I/O性能测试
# 顺序写入测试
dd if=/dev/zero of=/tmp/test bs=1M count=1024 oflag=direct
# 顺序读取测试
dd if=/tmp/test of=/dev/null bs=1M iflag=direct
20. 定时任务管理
# 查看当前用户所有定时任务
crontab -l
# 编辑定时任务
crontab -e
# 示例:每天凌晨3点执行备份脚本
0 3 * * * /opt/scripts/backup.sh >> /var/log/backup.log 2>&1
结语
以上20个命令技巧覆盖了Linux运维中最常见的场景。熟练掌握后,你的运维效率将大幅提升。建议把这些命令收藏起来,实际操作几次加深印象。遇到问题时,多用 man 命令查看帮助文档。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END















暂无评论内容