1. 程式人生 > >find 命令總結

find 命令總結

find

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]

-#[0,#)

-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 命令總結