文件查找:在文件系統(tǒng)上查找符合條件的文件
1.locate
查找事先構(gòu)建好的索引庫(/var/lib/mlocate/mlocate.db)膘流;索引庫:系統(tǒng)自動實現(xiàn)(計劃任務(wù))或手動更新數(shù)據(jù)庫 #updatedb
工作特性:查找速度快;模糊呀查找鲁沥;非實時查找呼股;
locate [option]...PATTREN
-b 只匹配basename
-c 統(tǒng)計匹配到的行數(shù)
-i 忽略字符大小寫
2.find
實時查找工具,通過遍歷指定起始路徑下文件系統(tǒng)層級結(jié)構(gòu)完成文件查找画恰;
*工作特性*:查找速度略慢彭谁;精確查找;實時查找允扇;
find [查找起始路徑] [查找條件] [處理動作]
查找起始路徑:默認為當(dāng)前目錄
查找條件:指定的查找標(biāo)準(zhǔn)缠局,可根據(jù)文件名,大小考润,權(quán)限...狭园;默認為指定起始路徑下的所有文件;
處理動作:對符合條件的文件作出的操作糊治;例如:刪除...;默認為輸出至屏幕
查找條件:
1.根據(jù)文件名:
-name|iname "PATTERN"唱矛;此處的PATTERN指glob風(fēng)格的通配(*,?,[].[^])
2.根據(jù)從屬關(guān)系:-user USERNAME;-group GROUPNAME
3.根據(jù)uid,gid號:-uid UID號;-gid GID號绎谦;
4.查找沒有屬主管闷,屬組的文件:-nouser |-nogroup
(文件的屬主被刪除后,文件屬主燥滑,屬組位置表現(xiàn)為原用戶的uid渐北,gid號;-nouser|-nogroup查找的就是此類文件)
5.根據(jù)文件類型:-type f|d|l|b|c|p|s
6.根據(jù)文件大忻 :-size [+|-]#單位
單位(#-1,#] ##單位:k赃蛛,M,G默認是字節(jié)
-#單位:[0,#-1] 例:-5k 表示小于5k
+#單位:(#,oo)例:+5k 表示大于5k
7.根據(jù)時間戳查找
以"天"為單位:
-atime [+|-]#
-mtime [+|-]#
-ctime [+|-]#
+#:(oo,#] 例:+3表示3天前
-#:(#,0) 例:-3表示3天內(nèi)
以"分鐘"為單位
-amin [+|-]#
-tmin [+|-]#
-cmin [+|-]#
8.根據(jù)權(quán)限查找:-perm [/|-]mode
mode 精確匹配權(quán)限
/mode 屬主屬組其他人的9位權(quán)限中任何一位權(quán)限滿足即滿足
-mode 屬主屬組其他人的9位權(quán)限中的每一位同時符合條件
/222 至少有一類用戶有寫權(quán)限
/001其他人有執(zhí)行權(quán)限
-001其他人有執(zhí)行權(quán)限
-222所有用戶都有寫權(quán)限
/022屬組或其他人有寫權(quán)限
-022屬組和其他人都有寫權(quán)限
9.限制查找目錄的層級數(shù)
-maxdepth # 最大深度為#搀菩;1表示當(dāng)前目錄
-mindepth # 從第#層開始查找
find / -mindepth 2 -maxdepth 2 僅查找根目錄下的二級子目錄
10.根據(jù)節(jié)點編號查找:
-inum 節(jié)點編號
11.查找節(jié)點編號相同的文件:
·-samefile FILE
12.查找鏈接數(shù)為n的文件
-links n
13.查找/etc目錄下除了sane.d目錄下所有.conf后綴的文件(-path "/PATH" -a -prune)
find /etc -path "/etc/sane.d" -a -prune -o -name "*.conf" -ls
find /etc \( -path "/etc/sena.d" -o -path "/etc/modprobe.d" \) -a -prune -o -name "*.conf"
###查找etc目錄下除了sane.d或modprobe.d目錄下所有.conf后綴的文件
14.組合測試條件
-a 同時滿足呕臂;默認組合邏輯
-o 符合一個條件即可 ###注意:-o時,使用ls列所有符合條件的文件肪跋,需要用小括號括起來(否則僅顯示ls前一個-o匹配到的文件),且小括號需要轉(zhuǎn)義
! |-not 取反
德摩根定律:非A且非B=非(A -o B) 非A或非B=非(A -a B)
處理動作:
-ls 相當(dāng)于ls -l歧蒋,顯示文件的詳細信息;
-delete 刪除
-fls /PATH/TO/SOMEFILE 將查找到文件的詳細信息保存至指定的文件中州既;
-ok COMMAND {} \; 對查找到的文件執(zhí)行由COMMAND表示的命令谜洽,需用戶確認操作;
-exec COMMAND { } \;對查找到的文件執(zhí)行由COMMAND表示的命令吴叶,無需用戶確認阐虚;