温馨提示×

怎么搜索Linux文件内容

小樊
96
2026-07-15 00:09:10
栏目: 智能运维

在 Linux 中搜索文件内容,常用以下几种方式,按使用频率从高到低介绍:


一、用 grep(最常用 ✅)

1️⃣ 在当前目录搜索文件内容

grep "关键词" 文件名

2️⃣ 递归搜索目录(非常常用)

grep -r "关键词" 目录

示例:

grep -r "ERROR" /var/log

3️⃣ 忽略大小写

grep -ri "error" /var/log

4️⃣ 显示行号

grep -rn "关键词" 目录

5️⃣ 只显示匹配的文件名

grep -rl "关键词" 目录

6️⃣ 使用正则表达式

grep -rE "error|fail" /var/log

二、结合 find + grep

先找文件,再搜内容

find . -name "*.log" | xargs grep "error"

或:

find . -name "*.conf" -exec grep "port" {} \;

三、搜索二进制文件内容(如 jar、可执行文件)

grep -a "关键词" 文件名

或:

strings 文件名 | grep "关键词"

四、用 ripgrep(推荐 ⭐,速度最快)

需要先安装:sudo apt install ripgrep(Ubuntu)

rg "关键词"

特性:

  • 自动递归
  • 自动忽略 .git
  • 支持正则
  • 速度极快

五、按文件内容搜索文件(不常用)

ack

ack "关键词"

六、常见场景示例

需求 命令
搜索当前目录所有文件中包含 main grep -r "main" .
搜索 .py 文件中包含 import grep -r "import" --include="*.py" .
搜索日志中的错误 grep -i error app.log
查找包含某字符串的文件 grep -rl "配置" /etc

七、总结(记住这几个就够了 ✅)

grep -rn "关键词" 目录
rg "关键词"

如果你有具体场景(比如大文件、日志、代码仓库、中文内容、二进制文件),可以告诉我,我可以给你更精确的命令。

0