linux(ubuntu)find命令詳解
find:
實時查詢工具,通過遍歷指定路徑下的檔案系統完成檔案查詢。
特點:
查詢速度慢
精確查詢
實時查詢
語法格式:
find [option]... [查詢路徑] [查詢條件] [處理動作]
查詢路徑:指定具體目標路徑;預設為當前目錄
查詢條件:指定的查詢標準,可以檔名、大小、型別、許可權等標準進行;預設為找出指定路徑下所有檔案
處理動作:對符合條件的檔案做什麼操作,預設為標準輸出至螢幕。、
-print:預設動作,輸出至螢幕
-ls:類似ls -l命令
-delete:查找出然後刪除
-fls /path/to/somefile
-ok COMMAND {} \;對查到的每個檔案執行COMMAND命令,對於每個檔案執行命令,需互動確認
-exec COMMAND {} \;直接處理,不互動。 {}:用於引用查詢到的檔名稱本身
查詢條件:
根據檔名查詢:
-name "檔名稱" (支援使用glob通配 *,?,[],[^]) 例如 find /etc -name "passwd*"
-iname "檔名稱" (不區分大小寫)
-regex "PATTEN": 以PATTEN匹配整個檔案路徑字串,而不僅僅是檔名稱:
根據屬主 屬組查詢
-user USERNAME:查詢屬主為指定使用者的檔案
group GROUPNAME:查詢屬組為指定使用者的檔案。
-uid UserID:查詢屬主為指定UID的檔案
-gid GroupID:查詢屬主為指定GID的檔案
-nouser:查詢沒有屬主的檔案
-nogroup:查詢沒有屬組的檔案
根據檔案型別查詢:
-type TYPE:
f:普通檔案
d:目錄檔案
l:符號連結檔案
s:套接字檔案
b:塊裝置檔案
c:字元裝置檔案
p:管道檔案
組合條件(與 或 非)
-a -o -n
根據檔案大小來查詢:
-size [+|-]#UNIT
常用單位:k,M,G
UNIT:(#-1,#]
-UNIT:(0,#-1]
+#UNIT:(#,oo)
根據時間戳:
以“天”為單位:
-atime: [+|-]#
-mtime:
-ctime:
以“分鐘”為單位:
-amin
-mmin
-cmin
根據許可權來查詢
-perm [+|-]MODE