首页/系统/Linux 运维命令速查/grep 递归搜索目录
本包目录(613 条)
文件与目录76 条
文本处理77 条
网络命令82 条进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

grep 递归搜索目录

在目录树中递归搜索:-r 递归、-l 只列文件名、--include/--exclude-dir 过滤范围,代码与配置排查利器。

Linux 运维命令速查系统更新于 2026-10-12
用途在目录树里递归搜索文本
语法grep -r [选项] 模式 目录
关键-l 文件名 -R 跟随符号链接 --include 模式

常用示例

常用示例
grep -rn 'api_key' /etc/myapp           # 带行号递归找
grep -rl 'old-domain.com' /var/www      # 只列命中的文件
grep -rn 'TODO' src/ --include='*.py'
grep -r --exclude-dir={.git,node_modules} 'password' .
批量改内容前的第一步通常就是 grep -rl 圈定文件清单,再交给 sed/xargs 处理。

易错点

  • -r 不跟随符号链接、-R 跟随(可能绕圈循环),默认选 -r 更安全
  • 大目录不加 --exclude-dir 会扫进 .git/node_modules,慢且噪音大

数据来源与参考

  • man 1 grep(GNU grep 手册)

相关工具

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