巧技篇-Day27|寻宝探物:Windows 搜索框 → find 查找文件

0 次阅读 2026-10-27 11:43

📖 知识点

1. Windows 搜索框 → Linux find

 

 

WindowsLinux说明
资源管理器搜索框

find 路径 -name 文件名

按名字查找文件
全局搜索

find / -name 文件名

全盘搜索

find 是 Linux 的 "寻宝探测器":在指定目录(和它的所有子目录)里,按名字等条件查找文件。

💡 生活比喻Windows 搜索框像 "在房间里喊一嗓子,看谁答应";find 像 "逐间房间地毯式翻找"—— 你告诉它从哪间屋找起(路径)、找什么(文件名),它就一层层翻到底。

2. 基本用法

 

find 路径 -name 文件名

 

find . -name "报告.txt"        # 在当前目录(.)找报告.txt
find /home/user -name "*.txt"  # 在home下找所有.txt结尾的

 

-name 指定文件名;* 是通配符,*.txt 匹配所有以.txt 结尾的文件。

3. 常用查找方式

 

find . -name "*.log"        # 找所有.log文件
find / -name "config.py"    # 全盘找config.py(可能较慢)
find . -name "笔记*"         # 找名字以"笔记"开头的
find . -type d -name "项目"  # -type d 只找目录(文件夹)

 

-type 指定类型:d目录、f文件。找文件夹用 -type d。

4. 找不到就缩小范围

全盘 find / 会慢,先缩小到可能的位置:

 

find /home/user -name "*.txt"   # 在用户家目录找,更快
find . -name "报告*"            # 在当前目录找

 

⚠️ 易错提醒

  1. 文件名最好用引号括起来("*.txt"),有通配符时避免被 shell 误解析

  2. find / 全盘搜索较慢,先缩小路径范围

  3. -type d 找目录,-type f 找文件,默认都找

⚔️ Kata 实战任务

任务需求:

  1. 回家,创建几个测试文件:报告.txt、笔记.txt、脚本.sh、data.log

  2. 用 find . -name "*.txt" 找所有.txt 文件

  3. 用 find . -name "报告.txt" 精确找报告.txt

  4. 用 find . -type d 只找目录(文件夹)

  5. 用 find ~ -name "*.log" 在家目录找.log 文件

参考代码(在终端依次敲)

 

# 准备几个"宝藏"
cd ~
touch 报告.txt 笔记.txt 脚本.sh data.log

# 1. 找所有 .txt 文件
find . -name "*.txt"

# 2. 精确找"报告.txt"
find . -name "报告.txt"

# 3. 只找目录
find . -type d

# 4. 在家目录找 .log 文件
find ~ -name "*.log"

 

运行示例:

 

user@linux:~$ find . -name "*.txt"
./报告.txt
./笔记.txt

user@linux:~$ find . -name "报告.txt"
./报告.txt

user@linux:~$ find . -type d
.
./Desktop
./Documents
./项目

user@linux:~$ find ~ -name "*.log"
/home/user/data.log

 

🧠 思考题

  1. find . -name "*.txt" 里,.、-name、"*.txt" 分别代表什么?* 是什么?

  2. find 和 -type d 配合能找什么?如果想找某个文件夹,该怎么写?