linux的系統中的文件實在是太多了,怎麼樣才能快速而且精確的在linux系統找出你想要的文件呢?Linux 的find命令提供了很強大的功能,學好find命令的使用,可以給你節省大量花費在找文件的時間
“一切皆文件”是 Linux的哲學思想之一, 這條命令可以統計當前linux系統中有多少文件ls -R / |wc -l &建議放在後台執行,因為你的系統文件很多則會消耗很多時間,你可以看見這個結果是龐大的,linux的系統中的文件實在是太多了,怎麼樣才能快 速而且精確的在linux系統找出你想要的文件呢?Linux 的find命令提供了很強大的功能,學好find命令的使用,可以給你節省大量花費在找文件的時間。
find的基本語法格式:
find [查找位置] [查找標准] [處理動作]
查找位置:默認為當前目錄,可以指定多個目錄,多個之間用空格
查找標准:默認為查找指定目錄下的所有文件
處理動作:顯示到標准輸出,默認為print
剖析find的查找標准可分為哪些:
1)文件名
-name "文件名稱" : 根據文件名查找,支持glob
-iname "文件名稱",根據文件名查找,不區分大小寫
2)文件的屬主、屬組
-user "USERNAME" : 根據屬主查找
-group "GROUP" : 根據屬組查找
-uid "UID" : 根據UID查找
-gid "GID" : 根據GID查找
-nouser : 查找沒有屬主的文件
-nogroup : 查找沒有屬組的文件
3)文件的類型
-type
f 文件
d 目錄
b 塊設備
c 字符設備
l 符合鏈接文件
p 命令管道文件
s 套接字文件
4)文件的大小
-size
#[k|M|G]:#表示數字,匹配的時候為模糊匹配
+#[k|M|G]:+#表示大於,匹配的結果大於#
-#[k|M|G] :-#表示小於,匹配的結果是小於#
5)文件修改時間
-atime [+|-]# :訪問時間,默認為天,#表示#天的這個時間點,+#表示至少有#天沒訪問 , -#表示#天之內沒訪問
-mtime [+|-]# : 修改時間,#表示#天的這個時間點沒有被修改,+#表示至少有#天沒有修改 , -#表示#天之內沒有修改
-ctime [+|-]# : 改變時間,#表示#天的這個時間點沒有被改變,+#表示至少有#天沒有被改變 , -#表示#天之內沒有被改變
-amin [+|-]# : 時間為分鐘,#表示#分鐘的這個時間點沒有被訪問,+#表示至少有#分鐘沒有被訪問 , -#表示#分鐘之內沒訪問
-mmin [+|-]# :時間為分鐘,#表示#分鐘的這個時間點沒有被修改,+#表示至少有#分鐘沒有被修改 , -#表示#分鐘之內沒有被修改
-cmin [+|-]# :時間為分鐘,#表示#分鐘的這個時間點沒有被改變,+#表示至少有#分鐘沒有被改變 , -#表示#分鐘之內沒有被改變
6)文件權限
-perm [+|-] MODE
不帶[+|-]表示精確權限匹配,
+表示任何一類用戶的任何一位權限匹配
- 表示每類用戶的每位權限都匹配
find在查找標准時支持組合查找條件,在使用組合查找條件時要考慮優先級,優先級為順序為非→與→或,在組合參數是想改變優先級可以用()來提升優先級。
-a (and) 與默認是與
-o (or) 或
-not,! 非
find的處理動作可以是:
-print 默認為輸出
-ls 顯示查找到的文件的詳細信息
-ok COMMAND ; 要確認
&