评论

收藏

[JavaScript] [JavaScript] 几个 Linux 命令教你秒级定位线上 Bug

开发技术 开发技术 发布于:2026-03-20 22:01 | 阅读数:22 | 评论:0

线上出故障,还在傻傻地把 10G 日志下载到本地?还在用 vim 打开大文件导致服务器卡死?本文汇集了阿里、腾讯大厂运维都在用的 Linux 日志分析"神技"。从基础的 grep 到"上帝视角"的 awk,一文讲透,建议收藏!
一、grep - 快速定位关键词
grep "ERROR" app.log    => 查找所有错误日志
grep -i "error" app.log   => 忽略大小写查找
grep -n "ERROR" app.log   => 显示行号
grep -C 3 "ERROR" app.log   => 显示匹配行前后 3 行
grep -r "ERROR" ./logs    => 递归查找目录下所有文件
二、tail - 实时查看日志
tail -f app.log          => 实时跟踪日志文件
tail -n 100 app.log        => 查看最后 100 行
tail -f app.log | grep "ERROR"   => 实时过滤错误日志
三、awk - 日志分析神器
awk '/ERROR/{print $0}' app.log    => 打印包含 ERROR 的行
awk -F: '{print $1}' app.log       => 以冒号分隔,打印第一列
awk 'NR>=100 && NR<=200' app.log     => 打印 100-200 行
四、sed - 流编辑器
sed -n '100,200p' app.log      => 打印 100-200 行
sed -n '/ERROR/p' app.log       => 打印包含 ERROR 的行
sed -i 's/old/new/g' file       => 替换文件内容
五、组合拳 - 多个命令组合使用
cat app.log | grep "ERROR" | wc -l        => 统计错误数量
cat app.log | grep "ERROR" | awk '{print $1}'   => 提取错误时间
find ./logs -name "*.log" -exec grep "ERROR" {} \; => 查找所有日志文件的错误
掌握这些命令,让你从日志小白变身运维大神!