Linux运维必知:20个让你效率翻倍的常用命令技巧

前言

对于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
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容