Linux文件查找詳解
文件查找:
locate:
非實時,模糊匹配,查找是根據全系統文件數據庫進行的
# updatedb (手動生成文件數據庫)
速度快
find:
實時
精確
支持眾多查找標準
遍歷指定目錄中的所有文件完成查找,速度慢
# find 查找路徑 查找標準 查找到以後的處理動作
查找路徑:默認為當前目錄
查找標準:默認為指定路徑下的所有文件
處理動作:默認為顯示
匹配標準:
-name ‘FILENAME‘:對文件名作精確匹配
文件名通配:*
-iname ‘FILENAME‘:文件名匹配時不區分大小寫
-regex PATTERN:基於正則表達式進行文件名匹配
-user USERNAME:根據屬主查找
-group GROUPNAME:根據屬組查找
-uid UID:根據UID查找
-gid GID:根據GID查找
-nouser:查找沒有屬主的文件
-nogroup:查找沒有屬組的文件
-type f/d/c/b/l/P/s:根據文件類型查找
-size k/M/G:根據文件大小查找,默認單位為字節
[+/-]10k:表示大於/小於10k,沒有[+/-]代表精確為10k
組合條件:(默認為-a與條件)
-a(與)、-o(或)、-not(非)
時間戳:
-atime +/-n:訪問時間(-n表示n天以內,+n表示n天以前)access
-ctime +/-n:修改權限時間change
-mtime +/-n:修改內容時間modify
-mmin、-amin、-cmin 表示分鐘
權限:
-perm MODE:匹配權限
MODE:完全匹配
/MODE:任意一位匹配即滿足條件
-MODE:文件權限能完全包含此MODE才符合條件
處理操作:
-print:顯示
-ls:類似ls -l的形式顯示每一個文件的詳細信息
-ok COMMAND {} \; 每一次操作都需要用戶確認
-exec COMMAND {} \; 直接執行操作不需要確認({}引用文件名時使用)
等同於 | xargs COMMAND,且不需要{}占位符
Linux文件查找詳解