在 Linux 中搜索文件内容,常用以下几种方式,按使用频率从高到低介绍:
grep(最常用 ✅)grep "关键词" 文件名
grep -r "关键词" 目录
示例:
grep -r "ERROR" /var/log
grep -ri "error" /var/log
grep -rn "关键词" 目录
grep -rl "关键词" 目录
grep -rE "error|fail" /var/log
find + grepfind . -name "*.log" | xargs grep "error"
或:
find . -name "*.conf" -exec grep "port" {} \;
grep -a "关键词" 文件名
或:
strings 文件名 | grep "关键词"
ripgrep(推荐 ⭐,速度最快)需要先安装:
sudo apt install ripgrep(Ubuntu)
rg "关键词"
特性:
.gitackack "关键词"
| 需求 | 命令 |
|---|---|
搜索当前目录所有文件中包含 main |
grep -r "main" . |
搜索 .py 文件中包含 import |
grep -r "import" --include="*.py" . |
| 搜索日志中的错误 | grep -i error app.log |
| 查找包含某字符串的文件 | grep -rl "配置" /etc |
grep -rn "关键词" 目录
rg "关键词"
如果你有具体场景(比如大文件、日志、代码仓库、中文内容、二进制文件),可以告诉我,我可以给你更精确的命令。