linux系統find命令的一些使用技巧
阿新 • • 發佈:2022-05-16
引數:
1.-name選項:按照檔名稱查詢,允許使用萬用字元
2.-type選項:按照檔案型別查詢
3.-user選項:按照檔案所有者查詢
4.-size選項:按照檔案大小查詢
5.-maxdepth<目錄層級〉:設定最大目錄層級
6.-mindepth<目錄層級〉:設定最小目錄層級
示例
1.find /etc -name "net*.conf" 查詢etc目錄下所有檔名是以"net"開頭,".conf"結尾的檔案
2.find /boot -type d 查詢boot目錄下所有的目錄
3.find /boot -size +1024k 查詢boot目錄下所有大於1024k的檔案
4.find /home -user horse 查詢home目錄下所有歸屬者是horse的檔案
基於目錄深度搜索
find /home -maxdepth 3 -type f 查詢向下最大深度限制為3層的普通檔案
find /home -mindepth 2 -type f 搜尋出深度距離當前目錄至少2層目錄的普通檔案
查詢時,忽略一個或多個目錄下檔案
注意:-path 的字首要和find的目錄一樣
查詢一個或多個目錄下檔案#忽略單個目錄 #-a邏輯與,當-path "./var"為真,則執行-prune,返回真;-o邏輯或,增加查詢條件,與前面排除目錄條件組合輸出符合的內容 理解方法:find . {{{-path "./var"} -a {-prune}} -o {-name ".log"}} -print find . -path "./var" -a -prune -o -name ".log" -print #忽略多個目錄 find . \( -path "./var" -o -path "./opt" \) -a -prune -o -name ".log" -print 或者 #忽略單個目錄,其中./var*表示./var下所有檔案 find . ! -path "./var*" -name ".log" #忽略多個目錄 find . ! -path "./var*" ! -path "./opt*" -name "*.log"
#在當前目錄下的dir1目錄及dir1子目錄下查詢檔案
find ./ -path "./dir1*" -name 1.txt
#在當前目錄下的dir1、dir2目錄及dir1、dir2子目錄下查詢檔案
find ./ \( -path "./dir1*" -o -path "./dir2*" \) -name a
查詢範圍時間內的檔案
引數
-mmin N 分鐘
-mtime N 小時
-newermt 指定日期檔案
find /home -type f -mmin -1 //查詢/home下在一分鐘內修改的檔案 find /home -type f -mmin +1 //查詢/home下在一分鐘前修改的檔案 find /home -type f -newermt "2022-5-06" //查詢5月6號的檔案 查詢條件還有'-10 minutes' '-24 hours' '1 day ago ' 'yesterday'