linux常用命令(3)-檔案搜尋命令
3、檔案搜尋命令
find:檔案搜尋 find [搜尋範圍] [匹配條件]
find /etc -name init:通過檔名在etc目錄中查詢檔名是init的檔案,精確搜尋
find /etc -name *init*:檔名中包含init這四個字母都會被查詢到,init*:以init開頭,init???:問好匹配單個字母,-iname:不區分大小寫
find / -size +204800:在根目錄查詢大於100MB的檔案 -n:小於n的檔案 n:等於n的檔案 linux中資料用資料塊表示,一個數據塊等於0.5K,所以100MB=204800資料塊
find /home -user zhangsan:按照所有者查詢,查詢所有者是zhangsan的檔案,-group:按照所屬組查詢
find /etc -cmin -5:在etc下查詢5分鐘內被修改過檔案屬性的檔案和目錄,-amin訪問時間 -mmin檔案內容
連線選項:
find /etc -size +163840 -a -size -204800:在etc下查詢大於80MB小於100MB的檔案 -a:兩個條件同時滿足,-o:兩個條件滿足任意一個即可
find /etc -name inittab -exec ls -l {} \;:在etc下查詢inittab檔案並顯示其詳細資訊 -exec/-ok 命令 {} \;:後面是固定格式({} \;),-ok有一個詢問的過程
-type:根據檔案型別查詢 f:檔案 d:目錄 l:軟連線檔案
-inum:根據i節點查詢
locate:在檔案資料庫中查詢檔案,類似於window的everything查詢軟體,速度快,缺點:剛建立未收入檔案庫中則不能找到
locate 123:查詢123檔案
updatedb:手動更新檔案庫,改善locate的缺點,不能查詢到臨時檔案目錄(tem)下的檔案
locate -i abc:查詢時不區分字母的大小寫
which:搜尋命令所在目錄及別名資訊
which useradd:查詢useradd命令的所在目錄,可以看出命令的操作許可權
whereis:可以查詢命令的絕對路徑和幫助文件所在路徑
grep:在檔案中搜尋字元匹配的行並輸出 -i:不區分大小寫 -v:排除指定字串所在的行 grep -iv [指定字串] [檔案]
grep 123 /etc/abc:查詢abc檔案中123字元所在的行,區分大小寫,-i:不區分大小寫
grep -v ^# /etc/inittab:去掉以#開頭所在的行 ^表示行首