文件查找:
locate:
非實時,模糊匹配,查找是根據全系統文件數據庫進行的;速度快!
#updatedb :手動生成數據庫文件
find:
實時
精確
支持衆多查找標準
遍歷指定目錄中的所有文件完成查找,速度慢!
find 查找路徑 查找標準 查找到以後的處理運作
查找路徑:默認爲當前目錄
查找標準:默認爲指定路徑下的所有文件
處理運作:默認顯示
匹配標準:
-name 'Filename' :對文件名作精確匹配
文件名統配:
* :任意長度的任意字符
?
[]
-iname 'Filename' :文件名匹配時不區分大小寫
-regex PATTERN :基於正則表達式進行文件名匹配
-user USERNAME:根據UID查找
-group GROUPNAME:根據屬組查找
-uid UID:根據UID查找
-gid GID:根據GID查找
-nouser:查找沒有屬主的文件
-nogroup:查找沒有屬組的文件
-type :文件類型來查找
f:普通文件
d:目錄
c:字符
b:塊設備
l:鏈接文件
p:管道設備
s:套接設備
-size 根據文件大小查找
#k +k :大於多少k -k :小於多少k
#M
#G
組合條件:
-a :與
-o :或
-not :非
例:查找當前目錄下屬主既不是uesr1又不是user2的文件
#find ./ -not -user user1 -a -not -user user2
或
#find ./ -not \(-user user1 -o -user user2\)
-mtime:修改時間
-ctime:改變時間
-atime:訪問時間
[+/-] +:表示至少有多少天沒有訪問過了 -:多少天之內訪問過
-mmin
-cmin
-amin
[+/-] +:表示至少有多少分鐘沒有訪問過了 -:多少分鐘之內訪問過
-perm MODE
/mode:任意一位匹配即滿足條件
-mode:文件權限能完全包含此mode時才能顯示
find的動作:
-print:顯示
-ls:類似ls -l的形式顯示每一個文件的詳細
-ok command {} \;每一次操作都需要用戶確認
-exec command {} \;