Linux下find命令在目錄結構中搜索文件,並執行指定的操作。Linux下find命令提供了相當多的查找條件,功能很強大。即使系統中含有網絡文件系統,find命令在該文件系統中同樣有效。
在運行一個非常消耗資源的find命令時,很多人都傾向於把它放在後台執行,因為遍歷一個大的文件系統可能會花費很長的時間。
命令格式:find 路徑 -命令參數 [輸出形式]
-name
按照文件名查找文:
1> find ./ -name test.test //查找文件名為test.test的文件
2>find ./ -name 'test*' //查找文件名包含test的文件
3>find ./ -name '*.c' //查找以‘。c’結尾的文件
-type 查找某一類型的文件,諸如:b-塊設備文件;d-目錄;c-字符設備文件;p-管道文件;l-符號鏈接文件;f-普通文件;s-socket文件。
$
find . -type d
-perm
按照文件權限來查找文件
find -perm -g=w //找到具有組讀權限的文件
size
n[c] 查找文件長度為n塊的文件,帶有c時表示文件長度以字節計
1>find
~ -size -500k //查找比500k小的文件
2>find
~ -size +50k //查找比50k大的文件
3>find
~ -size 2k //查找文件大小為2k的文件
-depth
在查找文件時,首先查找當前目錄中的文件,然後再在其子目錄中查找。
1>find -maxdepth 2 -name test.test //在root目錄下以及深度為1的子目錄下查找文件名為test.test的文件
2>find
-mindepth 1 -name test.test
find用"!"來否定參數
find
./ ! -name 'test*' -print //查找文件名不為test.*的文件
根據文件時間查找:
1.訪問時間(accesstime):讀取一次文件的內容,該時間便會更新。
find ./ -newer tets.c //查找比tets.c還要新的文件
2.修改時間(modifytime):對文件內容修改一次便會更新該時間。例如使用vim等工具更改了文件內容並保存後,文件修改時間發生變化
find ./ -mtime -1 //查找小於等於1天內修改過的文件
3.改變時間(changetime):更改文件的屬性便會更新該時間,比如使用chmod命令更改文件屬性,或者執行其他命令時隱式的附帶更改了文件的屬性若文件大小等