find是 Linux下用來尋找檔案及目錄的命令。
語法
find [path] [options] [expression]
常用 Option
find command options | |
-name [pattern] | 搜尋符合 pattern的檔案。 |
-iname [pattern] | 搜尋符合 pattern的檔案。(case insensitive) |
-type [type] | 搜尋特定類型的檔案。-type f為只搜尋檔案,-type d為只搜尋目錄。 |
-maxdepth [levels] | 限制最大的搜尋的目錄層數。 |
-mindepth [levels] | 限制最小的搜尋的目錄層數。 |
-exec [command] {} \; | 對於每個找到的檔案執行 [command],帶入 {}為找到的檔案。 |
-delete | 移除所找到的檔案。 |
使用方法
find . -name "file.txt"
在當前目錄尋找名為 file.txt的檔案。
find . -iname "file.txt"
忽略大小寫,在當前目錄尋找名為 file.txt的檔案。(case insensitive)
find . -name "*.txt"
在當前目錄尋找名稱結尾為 .txt的檔案
find . -name "*file*" -type -d
在當前目錄尋找名稱帶有 file的目錄
find . -name "*file*" -type -f
在當前目錄尋找名稱帶有 file的檔案
find . -iname "*file*" -exec rm -i {} \;
移除所有帶有 file名稱的檔案
應用
find . -iname "*file*" | grep -c ".*"
計算用 find所找到檔案的數量
find . -iname "*file*" | sort
排序用 find所找到的檔案
find . -iname "*file*" | xargs md5sum
取得找到檔案的 md5值