温馨提示×

linux文件搜索怎么上手

小樊
50
2026-10-13 09:55:54
栏目: 智能运维

在 Linux 里“文件搜索”其实有很多层,从最常用、最该先学会的,到高级玩法,下面按“上手顺序”给你讲,配例子,照着敲就行。


一、最先该会的两个命令(90% 场景够用)

1️⃣ find:按“文件属性”找(最常用)

特点:慢一点,但最靠谱,能按名字、类型、大小、时间找

按文件名找

find /home -name "test.txt"
  • /home:从哪里开始找
  • -name:精确匹配(区分大小写)

不区分大小写:

find /home -iname "test.txt"

按类型找

find . -type f   # 普通文件
find . -type d   # 目录

按大小找

find . -size +10M   # 大于10M
find . -size -1k    # 小于1k

按修改时间

find . -mtime -1    # 1天内改过的
find . -mtime +7    # 7天前改的

找到后直接操作

find . -name "*.log" -delete

2️⃣ grep:按“文件内容”找(搜代码/日志神器)

特点:找“文件里写了什么”

在文件中搜内容

grep "error" app.log

递归搜整个目录

grep -r "main" /project

显示行号

grep -n "error" app.log

忽略大小写

grep -i "error" app.log

二、如果你只想“快速找文件”(像 Windows 搜索)

3️⃣ locate(快,但不够实时)

locate nginx.conf

⚠️ 第一次用可能要先建索引:

sudo updatedb

适合:

  • 知道文件名
  • 不关心最新创建的文件

三、进阶但很爽的玩法

4️⃣ find + grep 组合

find . -name "*.py" | xargs grep "def main"

5️⃣ 用 fd(现代版 find,超好用)

安装(Ubuntu):

sudo apt install fd-find

使用:

fd test

✅ 默认忽略 .git ✅ 智能大小写 ✅ 速度快


四、新手推荐学习顺序(照这个来)

  1. ✅ find -name
  2. ✅ grep -r
  3. ✅ find -type / -size / -mtime
  4. ✅ locate
  5. ✅ fd(效率拉满)

五、一句话总结

  • 找文件本身 → find / locate / fd
  • 找文件内容 → grep
  • 新手先练 find + grep 就够了

如果你愿意,可以告诉我:

  • 你用的是 Ubuntu / CentOS / macOS?
  • 是 搜日志、搜代码、还是找配置文件?

我可以直接给你“最合适的一条命令”。

0 踩