實時查找工具,通過遍歷指定起始路徑下文件系統(tǒng)層級結(jié)構(gòu)完成文件查找;
查找速度略慢;
精確查找;
實時查找;
根據(jù)文件名查找:
-name "pattern"
-iname "pattern"
支持glob風格的通配符;
*, ?, [], [^]
-regex pattern:基于正則表達式模式查找文件,匹配是整個路徑linux命令大全,而非其名(所以不常用,因為可以使用locate);
根據(jù)文件的大小查找:
-size [+|-]#UNIT
常用單位:k, M, G
#UNIT:(#-1, #]
7k 小于等于7k大于6k
-#UNIT:[0,#-1]
-7k 從0到6k
+#UNIT:(#, oo)
+7k 大于7k
根據(jù)時間戳查找:
以“天”為單位:
-atime [+|-]#
#:[#, #-1) 表示第#天
-#:(#, 0] 最近#天
+#:(oo, #-1] #天前
-mtime
-ctime
以“分鐘”為單位:
-amin
-mmin
-cmin
根據(jù)權(quán)限查找:
-perm [/|-]mode
mode:精確權(quán)限匹配;
/mode:任何一類用戶(u,g,o)的權(quán)限中的任何一位(r,w,x)符合條件即滿足;
9位權(quán)限之間存在“或”關(guān)系;
-mode:每一類用戶(u,g,o)的權(quán)限中的每一位(r,w,x)同時符合條件即滿足;
9位權(quán)限之間存在“與”關(guān)系;
處理動作:
-print:輸出至標準輸出;默認的動作;
-ls:類似于對查找到的文件執(zhí)行“l(fā)s -l”命令,輸出文件的詳細信息;
-delete:刪除查找到的文件;
-fls /PATH/TO/SOMEFILE:把查找到的所有文件的長格式信息保存至指定文件中;
-ok COMMAND {} \; :對查找到的每個文件執(zhí)行由COMMAND表示的命令;每次操作都由用戶進行確認;
-exec COMMAND {} \; :對查找到的每個文件執(zhí)行由COMMAND表示的命令;
注意:find傳遞查找到的文件路徑至后面的命令時,是先查找出所有符合條件的文件路徑,并一次性傳遞給后面的命令;
但是有些命令不能接受過長的參數(shù),此時命令執(zhí)行會失。涣硪环N方式可規(guī)避此問題:
find | xargs COMMAND
練習2:
1、查找/var目錄下屬主為rootlinux命令大全,且屬組為mail的所有文件或目錄;
~]# find /var -user root -a -group mail -ls
2、查找/usr目錄下不屬于root, bin且hadoop的所有文件或目錄;用兩種方法;
~]# find /usr -not -user root -a -not -user bin -a -not -user hadoop
~]# find /usr -not \( -user root -o -user bin -o -user hadoop \) -ls
上一個教程:【實用的linux命令】
下一個教程:Linux系統(tǒng)命令介紹(一)