IT俱乐部-城北日常经验分享

浏览: 5373    评论: 0

       Linux运维的核心竞争力,不在于背下多少孤立命令,而在于用命令组合快速解决真实故障:磁盘爆满、服务卡死、日志爆炸、网络不通、权限异常……单条命令往往不够用,组合起来才能一键定位、一键处理。


本文全新整理30组实战命令,按系统监控、日志分析、文件批量处理、进程服务、网络故障、安全审计六大高频场景分类,全部来自生产环境,可直接复制执行,新手也能快速上手。

一、系统监控与资源排查(6组)

1. 一键整机健康巡检

echo "=== 系统状态概览 ===" && \
top -b -n1 | awk '/%Cpu/ {print "CPU使用率: " $2 "%"}' && \
free -h | awk '/Mem/ {print "内存占用: " $3 "/" $2 " 可用: " $7}' && \
df -h | awk '/\/$/ {print "根分区使用率: " $5 " 剩余: " $4}' && \
uptime | awk '{print "系统负载: " $10 $11 $12}'
  • 场景:登录服务器先看核心指标,不用多次输入命令

  • 优势:一行输出CPU、内存、磁盘、负载四项关键数据

2. 按CPU占用Top10进程

ps -eo pid,ppid,%cpu,%mem,cmd --sort=-%cpu | head -10
  • 场景:CPU突然飙升,快速定位高占用程序(挖矿、异常脚本)

  • 技巧:查内存把--sort=-%cpu改为--sort=-%mem

3. 全局搜索大于100M大文件

find / -type f -size +100M 2>/dev/null | xargs du -sh | sort -hr
  • 场景:磁盘使用率告警,快速定位超大日志/备份/临时文件

  • 灵活:100M可改为1G、500M,按需调整

4. 磁盘IO等待实时监控

vmstat 1 3 | awk 'NR>2 {print "IO等待(wa): " $16 "ms 阻塞进程: " $17}'
  • 场景:CPU内存正常但系统卡顿,优先排查IO瓶颈

  • 标准:wa持续>10ms说明磁盘繁忙

5. 网卡实时流量统计

sar -n DEV 1 2 | grep -v Average | grep eth0 | awk '{print "收: "$5"KB/s 发: "$6"KB/s"}'
  • 场景:带宽跑满、网络延迟高,确认是入流量还是出流量异常

  • 注意:CentOS7+网卡名可能是ens33,按实际替换

6. 查看当前登录用户与来源IP

w | awk 'NR>1 {print "用户: "$1" IP: "$3" 登录时间: "$4}'
  • 场景:检查异常登录、暴力破解,快速识别陌生IP


二、日志分析与异常提取(6组)

7. 统计指定日期错误日志条数

grep -i "error" /var/log/nginx/error.log | grep "2026-03-20" | wc -l
  • 场景:定位某天错误爆发量,判断偶发/持续异常

8. Nginx 500错误Top10来源IP与接口

grep "500" /var/log/nginx/access.log | awk '{print $1,$7}' | sort | uniq -c | sort -nr | head -10
  • 场景:接口500飙升,快速定位高频报错IP与URL

9. 实时监控SSH登录成功/失败

tail -f /var/log/secure | grep --line-buffered sshd | awk '/Accepted/ {print "[成功] "$0} /Failed/ {print "[失败] "$0}'
  • 场景:实时防暴力破解,立即发现异常登录

10. 按时间段截取异常日志

sed -n '/2026-03-20 10:00/,/2026-03-20 10:30/p' /var/log/tomcat/catalina.out | grep Exception
  • 场景:开发反馈某时段报错,精准提取异常栈

11. 统计分隔符日志高频字段

awk -F '|' '{print $3}' /data/app/app.log | sort | uniq -c | sort -nr | head -5
  • 场景:统计接口调用量、用户访问TOP、错误码分布

12. 直接查询压缩日志关键字

zgrep "timeout" /var/log/nginx/access.log-20260320.gz | wc -l
  • 场景:不用解压直接检索.gz历史日志,节省空间与时间


三、文件管理与批量操作(6组)

13. 自动清理7天前备份文件

find /data/backup -name "*.tar.gz" -mtime +7 -delete
  • 场景:定时清理过期备份,防止磁盘占满

  • 安全:先把-delete换成-print预览再执行

14. 批量给日志文件加日期后缀

for f in /data/logs/*.log; do mv "$f" "${f}.$(date +%Y%m%d)"; done
  • 场景:日志切割归档,便于按天检索

15. 批量替换配置文件IP

sed -i 's/192.168.1.10/192.168.1.20/g' /etc/app/*.conf
  • 场景:服务迁移、IP变更,批量修改配置

  • 注意:含/需转义/

16. 打包目录并排除日志文件夹

tar -zcvf /data/backup/app_$(date +%Y%m%d).tar.gz /data/app --exclude=/data/app/logs
  • 场景:备份代码/配置,跳过大体积日志目录

17. 批量远程传输备份文件

rsync -avz /data/backup/*.tar.gz [email protected]:/data/remote_backup/
  • 场景:异地备份,支持断点续传,比scp更稳定

18. 黑名单IP过滤用户访问记录

awk 'NR==FNR{ip[$1]=1;next} $2 in ip==0' /data/black.txt /data/user.log
  • 场景:过滤恶意IP访问记录,生成白名单报表


四、进程与服务管理(4组)

19. 查看服务状态+最近10分钟日志

systemctl is-active nginx && journalctl -u nginx --since "10min ago" | tail -20
  • 场景:服务异常,快速看状态+最新日志

20. 强制杀死所有Java进程

ps -ef | grep java | grep -v grep | awk '{print $2}' | xargs kill -9
  • 场景:Java进程卡死、无法正常停止

  • 注意:多应用服务器需精确过滤

21. 后台启动程序并输出日志

nohup /data/app/start.sh > /data/logs/app.log 2>&1 &
  • 场景:退出终端不中断进程,常用于启动后台服务

22. 服务进程保活(可写入crontab)

pgrep -f "app.jar" || nohup /data/app/start.sh > /dev/null 2>&1 &
  • 场景:定时检查,进程不存在则自动拉起


五、网络连接与故障排查(4组)

23. 检查端口是否被监听

ss -tulnp | grep :8080
  • 场景:Tomcat/API启动后无法访问,确认端口是否正常监听

24. 端口连通性快速测试

nc -zv 192.168.1.200 3306 || echo "MySQL端口不通"
  • 场景:数据库/中间件连接失败,快速判断网络/防火墙问题

25. 路由链路追踪与丢包定位

traceroute -n 10.0.0.1 | grep -E '^[0-9]' | awk '{print "跳数:"$1" IP:"$2" 延迟:"$3}'
  • 场景:跨网段访问超时,定位哪一跳网络异常

26. 80端口连接数Top10来源IP

ss -ant | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head -10
  • 场景:CC攻击、连接暴涨,定位高频IP


六、权限与安全审计(4组)

27. 查找目录下777权限风险文件

find /data/app -perm 777 -type f 2>/dev/null
  • 场景:安全扫描告警,批量整改过高权限文件

28. 查看目录ACL精细权限

getfacl /data/app | grep -E "user:|group:"
  • 场景:普通权限正常但用户无法访问,排查ACL策略

29. 查看所有用户最后登录时间

lastlog | grep -v "Never"
  • 场景:安全巡检,清理长期未登录僵尸账号

30. 查看最近危险操作命令

grep -E "rm -rf|chmod|chown" /root/.bash_history | tail -20
  • 场景:文件丢失、权限异常,回溯管理员操作


运维命令组合3条黄金原则

  1. 先预览再执行:删除、修改、批量操作前,先用ls/cat/echo预览结果,避免误操作

  2. 按场景记逻辑:记组合思路而非死记命令,如找大文件=find+du+sort

  3. 管道是核心:用|串联输出,实现“筛选→统计→排序→展示”一站式处理

熟练掌握这30组组合,日常运维80%的问题都能一分钟定位、一行命令解决。建议收藏备用,遇到故障直接复制,大幅提升效率。
全文详见:http://it-club.cn/post/803.html

TOP

评论列表


发表评论
来宾的头像

☞☞☞大流量卡免费领取

☞☞☞大流量卡免费领取

全国大流量卡免费领取

TOP

站点信息

  • 文章总数:802
  • 页面总数:1
  • 分类总数:4
  • 标签总数:29
  • 评论总数:265
  • 浏览总数:17407366