Linux學習--檔案搜尋命令
一、檔案搜尋命令 find
語法:find [搜尋範圍] [匹配條件] {find [搜尋範圍] [搜尋模式] [搜尋條件]}
1.以檔名來查詢 -name(區分大小寫)-iname (不區分大小寫)
find /etc -name inid
或者 find /etc/ -iname init
需要注意的是,以上命令只能進行精準搜尋,即檔名全匹配,對於檔名中包含以上字母的檔案時搜尋不到的,這存在一定的侷限性,要想進行模糊匹配搜尋可以使用一些萬用字元,如:“*” 可以代表任意的字元,“?” 代表一個字元;案例如下:
查詢以init開頭的檔案
· 查詢以init結尾的檔案
查詢檔名中包含init的檔案
查詢以init開頭,後面有三個字元的檔案
2.以檔案大小搜尋 -size
以檔案大小搜尋,需要注意的是其大小的單位為資料塊,一個數據塊是512位元組即512B等於0.5K,如果要索大於100M的檔案,其大小可以表示為100*1024*2=204800。在命令中用+代表大於,用-代表小-於,不使用代表等於,如下例項:在根目錄下查詢大於100M的檔案
3.以檔案所有者或者所屬組搜尋 -user -group
如:查詢所屬組為hefei,或者所有者為an的檔案
4.根據時間屬性來查詢
語法:-amin 訪問時間 access 查詢某個時間範圍被訪問過的檔案
-cmin 檔案屬性 change 查詢某個時間範圍被修改過檔案屬性的檔案
-mmin 檔案內容 modify 查詢某個時間範圍被修改過檔案內容的檔案
如:find /etc -mmin -600 查詢600分鐘以內被修改過的檔案或目錄
5.根據檔案型別來查詢 -type
語法:f 指定檔案型別
d 指定目錄型別
l 指定軟連線型別
如:find /tmp -type d 查詢/tmp目錄下的目錄
6.根據i節點來查詢 -inum
7.查詢命令的條件連線符
語法:-a 左右兩個條件同時滿足 and
-o 兩個條件滿足任意一個都行
如:find /etc -name init* -a -type f 查詢/etc 目錄下以名稱以init開頭的檔案
find /etc -name init* -o -name a* 查詢/etc 目錄下以名稱以init開頭或者以a開頭的檔案或目錄
8.對查詢的內容資訊結合其他命令執行進一步操作
語法:find查詢命令後跟 -exec/-ok 執行命令 {} \;
如:find /etc -name init* -exec ls -l {} \; 以長格式的形式顯示查詢內容的資訊
以上命令使用-ok 也行,只是使用-ok的時候回多一個確認的環節,比如,當要刪除一些檔案的時候: