檔案查找:
檔案查找:locate, find
非實時查找(資料庫查找):locate
實時查找:find
locate:
依賴于事先建構的索引;索引的建構是在系統較為空閑時自動進行(周期性任務);手動更新資料庫(updatedb);
索引建構過程需要周遊整個根檔案系統,極消耗資源;
工作特點:
查找速度快;
模糊查找;
非實時查找;
locate KEYWORD
find:
實時查找工具,通過周遊指定路徑下的檔案系統完成檔案查找;
工作特點:
查找速度略慢;
精确查找;
實時查找;
文法:
find [OPTION]... [查找路徑] [查找條件] [處理動作]
查找路徑:指定具體目标路徑;預設為目前目錄;
查找條件:指定的查找标準,可以檔案名、大小、類型、權限等标準進行;預設為找出指定路徑下的所有檔案;
處理動作:對符合條件的檔案做什麼操作;預設輸出至螢幕;
查找條件:
根據檔案名查找:
-name "檔案名稱":支援使用glob
*, ?, [], [^]
-iname "檔案名稱":不區分字母大小寫
-regex "PATTERN":以PATTERN比對整個檔案路徑字元串,而不僅僅是檔案名稱;
根據屬主、屬組查找:
-user USERNAME:查找屬主為指定使用者的檔案;
group GRPNAME: 查找屬組為指定組的檔案;
-uid UserID:查找屬主為指定的UID号的檔案;
-gid GroupID:查找屬組為指定的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
#UNIT: (#-1, #]
-#UNIT:[0,#-1]
+#UNIT:(#,oo)
根據時間戳:
以“天”為機關;
-atime [+|-]#,
#: [#,#+1)
+#: [#+1,oo]
-#: [0,#)
-mtime
-ctime
以“分鐘”為機關:
-amin
-mmin
-cmin
根據權限查找:
-perm [/|-]MODE
MODE: 精确權限比對
/MODE:任何一類(u,g,o)對象的權限中隻要能一位比對即可;
-MODE:每一類對象都必須同時擁有為其指定的權限标準;