find 命令總結
實時查找工具,通過遍歷指定路徑下的文件系統完成文件查找
工作特點
查找速度略慢
精確查找
實時查找
語法
find [option] ... [查找路徑][查找條件][處理動作]
查找路徑:指定具體目標路徑,默認為當前路徑
查找條件:制定的查找標準,可以以文件名、大小、類型、權限等標準進行,默認為找出指定路徑下的文件
處理動作:對符合條件的文件做什麽操作,默認輸出至屏幕
查找條件:
根據文件名查找
-name:"文件名稱",支持使用通配符
-iname:"文件名稱"不區分字母大小寫
-regex:"PATTEN"支持使用正則表達式,以PATTEN匹配整個文件路徑字符串,而不僅僅是文件名稱
根據文件的屬主、屬組進行查找
-user :查找屬主為指定用戶的文件
-group:查找屬組為指定組的文件
-uid :查找屬主為指定uid號的文件
-gid:查找屬組為指定的GID號的文件
-nouser:查找沒有屬主的文件
-nogroup:查找沒有屬組的文件
根據文件類型查找
-type TYPE
f:普通文件
d:目錄文件
l:符號鏈接文件
s:套接字文件
b:塊設備文件
c:字符設備文件
p:管道文件
組合條件
與: -a
或: -o
非: -not
!a -a !b =! (a -o b)
!a -o !b = ! (a -a b)
根據文件大小來查找
-size [+|-]#UNIT
常用單位 K,M,G
根據時間戳
以天為單位
-atime [+|-]
#[#,#+1)
+#[#+1,oo]
-mtime
-ctime
以分鐘為單位
-amin
-mmin
-cmin
根據權限來查找
-perm [+|-]MOOE
MOOE:精確權限匹配
/MOOE:任何一類(u,g,o)對象的權限中只要能一位匹配即可
-MOOE:每一類對象都必須同時擁有為其指定的權限標準
處理動作
-print:默認的處理動作,顯示至屏幕
-ls:類似於對查找到的文件執行"ls -l"命令
-delete:刪除查找到的文件
-fls /path/tp.somefile:查找到的所有文件的長格式信息保存到指定文件中
-ok COMMAND {}\;:對查找到的每個文件執行由COMMAND指定的命令
對於每個文件執行命令之前,都會交互式要求用戶確認
-exec COMMAND {} \; :對查找到的每個文件執行由COMMAND指定的命令
{}:用於引用查找到的名稱本身
註意;find傳遞查找到的文件至後面指定的命令時,查找到所有符合田間的文件一次性傳遞給後面的命令;
有些命令不能接受過多參數,此時命令執行可能會失敗,另一種方式可規避此問題
find|xargs COMMAND
find 命令總結