--生成數據庫的命令:updatedb。輸入updatedb命令後,在var/lib/mlocate 中生成mlocate.db.
支持按照各種條件方式搜索,功能強大。
支持對搜素得到的文件進一步用命令操作。
常用參數如下:根據文件屬性查找
-user:根據文件擁有者尋找文件
-group:根據文件所屬組尋找文件
-name:根據文件名尋找文件;-iname:不區分大小寫
-uid:根據uid查找文件
-gid:根據gid查找文件 eg: find /tmp -gid 1000 查找gid是1000的文件
-perm:根據文件權限尋找文件
+:滿足其中的一位就可匹配 -:只指定權限為1的位,其他位不作要求.
eg:
find / -perm 755 查找根目錄下權限是755的文件
find / -perm +222 表示只要有一類用戶(屬主,屬組,其他)匹配寫權限就行.
find / -perm +6 只要 其他 中的讀或寫權限為1. eg:--- --- 100、--- --- 010、--- ---110.
find / -perm -222 表示必須所有類別用戶都滿足有寫權限,第二位必須為1.
-size:根據文件大小尋找文件
eg:
find /tmp -size 2M 查找在/tmp目錄下等於2M的文件
find /tmp -size +2M 查找在/tmp目錄下大於2M的文件
find /tmp -size -2M 查找在/tmp目錄下小於2M的文件
-type x:根據文件類型尋找文件
。
x參數對應:b--塊設備文件,c--字符設備文件,d--目錄文件,l--符號鏈接文件,p--命名管道,f--普通文件,s--socket文件
根據時間查找(可以使用stat命令來查看文件的時間信息):-amin n 查找n分鐘以前被訪問過的所有文件
-atime n 查找n天以前被訪問過的所有文件
-cmin n 查找n分鐘以前文件狀態被修改過的所有文件
-ctime n 查找n天以前文件狀態被修改過的所有文件
-mmin n 查找n分鐘以前文件內容被修改過的所有文件。
-mtime n 查找n天以前文件內容被修改過的所有文件。
eg:
find /tmp –atime +5 //表示查找在五天內沒有訪問過的文件
find /tmp -atime -5 //表示查找在五天內訪問過的文件
表達式通配符:find的表達式使用通配符時需使用“”。
*: 表示通配任意的字符。
?:表示通配任意的單個字符。
[]:表示通配括號裡的任意一個字符。
-a,-o,-not的使用:
-a:連接兩個不同的條件(兩個條件同時滿足)。
-o:連接兩個不同的條件(兩個條件滿足其一)。
-not:滿足對條件取反的條件
操作找到的文件:
語法:find 【路徑】【參數】【表達式】-exec 命令 {} \;
說明: 直接對符合條件的文件執行所給的命令,不詢問用戶是否需要執行。
{}表示命令的參數即為find找到的文件。
\禁止轉義
;表示本行命令結束。
語法:find 【路徑】【參數】【表達式】-ok 命令 {} \;
說明:會詢問用戶是否需要執行該命令。
-ls:列出所找到的所有文件
-fprintf 文件名: 將找到的文件名寫入指定文件
-printf:在標准輸出設備上顯示查找到的文件名(默認情況下的操作)