查找文件和目錄
實際工作中文件多了,可能就會忘掉它的位置,這個時候就可以使用 find 命令快速查找出文件所在目錄的地址,提升了文件查找的效率。
1. 按照文件類型查找
使用 -type 參數可以查找不同類型的文件,其可以查找的文件類型如下:
| find -type 文件類型介紹 | 描述 |
|---|---|
| f | 普通文件 |
| d | 目錄文件 |
| l | 符號鏈接文件 |
| b | 塊設備文件 |
| c | 字符設備文件 |
| p | 管道文件 |
| s | 套接字文件 |
這里以查找 /home 目錄中的所有目錄為例,使用 find 命令跟上 -type 來限制文件類型,命令如下:
cd /
find ./home -type d
執行結果如下圖:

Tips:
find ./home -type d其中的./home表示要查找的相對路徑的目錄,-type d表示查找文件類型為目錄。
2. 按照文件名查找
使用 -name 參數可以按照文件名來查找,這里以查找 /home 目錄下所有的 .txt 文件為例,命令如下:
cd /
find ./home -name *.txt
執行結果如下圖:

Tips:
find ./home -name *.txt其中的./home表示要查找的相對路徑目錄,-name表示按照文件名查找,*.txt表示文件名匹配規則,*表示通配符,還可以查找指定文件名,如find ./home -name a.txt。
3. 查找排除指定文件
可以在查找文件的時候使用 ! 取反來排除指定的文件,例如查找 /home 目錄中除了 .txt 文件以外的所有文件,命令如下:
cd /
find ./home -name *.txt
find ./home ! -name a.txt
執行結果如下圖:

Tips:
find ./home ! -name a.txt中的!可以理解為排除符合要求的文件。
4. 對查找到的文件執行操作
有時候需要對查找到的指定文件執行特定的操作:
cd /
find ./home -name *.txt
find ./home -name *.txt -exec rm {} \;
find ./home -name *.txt
執行結果如下圖:

Tips:注意
find ./home -name *.txt -exec rm {} \;后面的;不要漏掉,-exec表示執行某個操作,rm表示刪除操作。
5. 小結
本小節介紹了如何使用 find 命令去查找目錄中指定的文件,可以通過 -type 指定查找文件的類型, ! 排除查找文件,-exec 對查找到的文件執行特定命令,需要注意的是 find 命令用法很多,本小節介紹了幾種比較常見的用法,另外在查找文件名稱時,可以使用表達式去匹配符合要求的文件名。
愛因詩賢 ·
2025 imooc.com All Rights Reserved |