[語法]: find 路徑名... 表達式
[說明]: find 命令遞歸地遍歷指定路徑下的每個文件和子目錄,看該文件是否能使表達式值為真,以下 n 代表一個十進制整數,+n 代表打印 n , -n 代表小於 n ,下面是合法表達式說明:
-name 模式 文件名與模式匹配則為真,(\ 為轉意符)
-perm [-]八進制數 文件存取模式與八進制數相同則為真若有- 選項,則文件存
取模式含有八進制數規定模式即為真
-size n[c] 文件塊長度為 n 則真(一塊為512字節),若
有c 選項,則文件字節長度為 n 則真
-atime n 若文件的最近訪問時間為 n 天前則為真,
find 命令將改變其訪問的目錄的訪問時間
-mtime n 若文件的最近修改時間為 n 天前則為真
-ctime n 若文件狀態為 n 天前改變則為真
-exec 命令 { }\; 若命令返回值為0則真,{ }內為命令參數,
此命令必須以 \; 為結束
-ok 命令 { }\; 與 exec 相同,只是在命令執行前先提示,若
回答 y 則執行命令
-print 顯示輸出使表達式為真的文件名
-newer 文件 若文件的訪問時間比newer 指定的文件新則真
-depth 先下降到搜索目錄的子目錄,然後才至其自身
-mount 僅查找包含指定目錄的文件系統
-local 文件在當前文件系統時為真
-type c 文件類型為 c 則真,c 取值可為 b(塊文件) c (字符文件)
d(目錄) l (符號鏈接) p (命名管道) f (普通文件)
\( 表達式 \) 表達式為真則真
-links n 文件鏈接數為 n 時為真
-user 用戶 當文件屬於用戶時為真,用戶可用數字表示UID
-nouser 當文件不屬於 /etc/passwd 中的一個用戶時為真
-group 文件組 當文件屬於文件組時為真,文件組可用數字表示GID
-nogroup 當文件不屬於 /etc/group 中的一個組時為真
-fstype 類型 當文件所屬文件系統類型為指定類型時真
-inum n 當文件 i 節點號為 n 時為真
-prune 當目錄名與模式匹配時,不再搜索其子目錄
可以用邏輯操作符將簡單表達式連接成復雜表達式
邏輯操作符有 ! 表示非操作, -o 表示或操作,兩個表達式並列則表示
與操作
[例子]:
find / -name find* -print
從根目錄開始搜索文件名如 find* 的文件並顯示之
find ./ -exec sleep{1}\; -print
每秒顯示一個當前目錄下的文件
find $HOME \(-name a.out -o -name '*.o' \) -atime +7 -exec rm {} \;
從$HOME目錄開始搜索,刪除所有文件名為a.out 或 *.o 且訪問時間在7天前的文件