命令与包管理65 条

grep 文本搜索

在文件与目录中做正则搜索:-r 递归、-E 扩展正则、-i 忽略大小写、-v 反向过滤,-A/-B/-C 看上下文;排障查配置与日志的日常工具。

信创系统运维速查系统更新于 2026-10-12
递归grep -rn 关键字 /etc
过滤文件--include='*.conf'
上下文-A3 后 3 行、-B3 前 3 行

典型用法

典型用法
grep -rn 'Listen' /etc/nginx --include='*.conf'
grep -iE 'error|fail' /var/log/messages | tail
grep -v '^#' /etc/ssh/sshd_config | grep -v '^$'
journalctl -b | grep -i oom | head
大目录全文搜索可换 ripgrep(rg),默认忽略 .git 且速度更快。

易错点

  • 搜二进制文件会提示 binary file matches,需要时加 -a 强制按文本处理
  • 管道里 grep 没匹配时退出码为 1,set -e 脚本里要显式处理

数据来源与参考

  • GNU grep 手册
  • 运维实践
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌