Linux 中怎么按关键字搜索文件内容

夜敏同学_5047

夜敏同学_5047

2026-10-25

370人浏览

原创

用grep -r搜索文件内容最常用可靠,加-l只列文件名,配合--include或find可限定类型;rg、ag、ack是大项目更快替代。

linux 中怎么按关键字搜索文件内容

直接用 grep -r 就行,这是最常用、最可靠的方式。关键不是“能不能搜”,而是“怎么避免白忙活”——比如搜出一堆乱码、卡在二进制文件里,或者误把文件名当内容搜。

按内容搜文件:用 grep -r(别漏 -l)

grep 默认输出的是匹配的**行内容**,不是文件路径。想快速知道“哪些文件含关键字”,必须加 -l(小写 L):

  • grep -rl "get_config_of_tunnel" ./src → 只列出含该关键字的文件名
  • grep -rni "error" /var/log → 递归、忽略大小写、显示行号
  • grep -r --binary-files=without-match "TODO" . → 跳过 .png/.so 等二进制文件,不报错不卡住

限定文件类型再搜:更干净、更高效

如果只关心源码或配置文件,硬扫全部文件既慢又干扰多。两种主流做法:

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载
  • grep 自带过滤:grep -rl --include="*.py" "import requests" ./src
  • find + grep 组合:find ./src -name "*.go" -exec grep -l "func main" {} \;(适合复杂条件,比如还要排除 test 文件)

按文件名搜 vs 按内容搜:别混用

这是最容易踩的坑:

  • find -name "*nginx*" → 找文件名里带 nginx 的文件或目录(不管里面写了啥)
  • grep -rl "nginx" /etc → 找内容里含 nginx 的所有文件(哪怕叫 a.conf)
  • locate nginx → 查数据库里“文件名含 nginx”的条目(快但可能不包含刚新建的文件)

大项目建议换更快工具

如果代码库超过几万行,原生 grep 会变慢。推荐三个现代替代:

  • rg(ripgrep):默认跳过 .git/二进制/忽略文件,速度最快,rg "TODO" 直接开搜
  • ag(The Silver Searcher):老牌程序员友好工具,ag -l "error"
  • ack:轻量简洁,ack --python "def test" 可按语言过滤

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4210

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3553

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2793

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6850

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6502

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3733

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

3245

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3459

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

297

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习