首页/系统/Linux 运维命令速查/grep 日志检索与上下文

grep 日志检索与上下文

在日志里大海捞针靠 grep:-i 忽略大小写、-A/-B/-C 带上下文、-E 多模式、--color 高亮;配合 tail/awk 形成组合拳。

Linux 运维命令速查系统更新于 2026-10-12
用途按模式检索日志内容
语法grep [选项] 模式 文件...
所属grep(GNU grep)

常用示例

常用示例
grep -i 'error' /var/log/myapp.log | tail -n 20
grep -n -C3 'NullPointer' app.log          # 带前后 3 行
grep -E 'timeout|refused|failed' app.log
zgrep 'error' /var/log/myapp.log-20261010.gz    # 检索轮转压缩日志
日志量大时用 grep -m 限制命中数(-m 5 前五条)与 --color=auto 提效;范围检索再叠加 --line-buffered 做实时流。

易错点

  • 模式里含 . * $ 等正则字符要用 -F 固定字符串或转义,搜 IP/路径尤其容易踩
  • 对压缩历史日志用 zgrep,直接 grep *.gz 只会报 binary file matches

数据来源与参考

  • man 1 grep(GNU grep)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌