查找文件和目錄
實際工作中文件多了,可能就會忘掉它的位置,這個時候就可以使用 find
命令快速查找出文件所在目錄的地址,提升了文件查找的效率。
1. 按照文件類型查找
使用 -type
參數(shù)可以查找不同類型的文件,其可以查找的文件類型如下:
find -type 文件類型介紹 | 描述 |
---|---|
f | 普通文件 |
d | 目錄文件 |
l | 符號鏈接文件 |
b | 塊設(shè)備文件 |
c | 字符設(shè)備文件 |
p | 管道文件 |
s | 套接字文件 |
這里以查找 /home
目錄中的所有目錄為例,使用 find
命令跟上 -type
來限制文件類型,命令如下:
cd /
find ./home -type d
執(zhí)行結(jié)果如下圖:
Tips:
find ./home -type d
其中的./home
表示要查找的相對路徑的目錄,-type d
表示查找文件類型為目錄。
2. 按照文件名查找
使用 -name
參數(shù)可以按照文件名來查找,這里以查找 /home
目錄下所有的 .txt
文件為例,命令如下:
cd /
find ./home -name *.txt
執(zhí)行結(jié)果如下圖:
Tips:
find ./home -name *.txt
其中的./home
表示要查找的相對路徑目錄,-name
表示按照文件名查找,*.txt
表示文件名匹配規(guī)則,*
表示通配符,還可以查找指定文件名,如find ./home -name a.txt
。
3. 查找排除指定文件
可以在查找文件的時候使用 !
取反來排除指定的文件,例如查找 /home
目錄中除了 .txt
文件以外的所有文件,命令如下:
cd /
find ./home -name *.txt
find ./home ! -name a.txt
執(zhí)行結(jié)果如下圖:
Tips:
find ./home ! -name a.txt
中的!
可以理解為排除符合要求的文件。
4. 對查找到的文件執(zhí)行操作
有時候需要對查找到的指定文件執(zhí)行特定的操作:
cd /
find ./home -name *.txt
find ./home -name *.txt -exec rm {} \;
find ./home -name *.txt
執(zhí)行結(jié)果如下圖:
Tips:注意
find ./home -name *.txt -exec rm {} \;
后面的;
不要漏掉,-exec
表示執(zhí)行某個操作,rm
表示刪除操作。
5. 小結(jié)
本小節(jié)介紹了如何使用 find
命令去查找目錄中指定的文件,可以通過 -type
指定查找文件的類型, !
排除查找文件,-exec
對查找到的文件執(zhí)行特定命令,需要注意的是 find
命令用法很多,本小節(jié)介紹了幾種比較常見的用法,另外在查找文件名稱時,可以使用表達式去匹配符合要求的文件名。