locate命令:非實時查詢,資料庫查詢(速度快)
依賴於事先構建的索引;索引在系統較為空閒時自動構建(週期性任務)
updatedb:構建最新的索引(超級耗資源)
locate 字串:搜尋所有路徑中是否有字串
find命令:檔案系統上查詢指定符合條件的檔案(實時查詢慢)
find [選項]... [查詢路徑] [查詢條件] [處理動作]
查詢路徑:可指定多個路徑,預設為當前目錄
查詢條件:指定以檔名、大小、型別、許可權等條件查詢,預設為所有檔案
處理動作:對符合條件的檔案做什麼操作,預設輸出到螢幕
查詢條件:
根據檔名查詢
-name "檔名":支援使用萬用字元
-iname "檔名":忽略大小寫,支援使用萬用字元
-regex "pattern":以pattern匹配整個檔案路徑
根據檔案屬主、屬組查詢
-user 使用者名稱:查詢屬主
-group 組名:查詢屬組
-uid uid:查詢指定uid檔案
-gid gid:查詢指定gid檔案
-nouser:查詢沒有屬主的檔案
-nogroup:查詢沒屬組的檔案
根據檔案型別查詢
-type f|d|l...:指定檔案型別查詢
根據檔案大小查詢
-size [+|-]大小
大小可為:#k,#m,#g
3k:查詢大於2k小於等於3k的檔案
-3k:查詢小於等於2k的檔案
+3k:查詢大於3k的檔案
根據時間戳查詢
以天為單位
-atime [+|-]#
3:表示大於等於3天小於4天
+3:大於等於4
-3:小於3天
-mtime [+|-]#:
-ctime [+|-]#:
以分鐘為單位
-amin [+|-]#:
-mmit [+|-]#:
-cmin [+|-]#:
根據許可權查詢
-perm [/|-]777
777:精確許可權匹配
/777:屬主、屬組、其它中任意讀、寫、執行許可權匹配就行
例:/700;屬主有讀或寫或執行許可權
-777:查詢屬主許可權為7或屬組為7或其它為7
組合條件
-a:與(可忽略)
-o:或(例:find /home -nouser -o -nogroup)
-not|!:非
如果有處理動作,組合後需要加括號,例:find /home \( -nouser -o -nogroup \) -ls
處理動作
-print:預設的處理動作,顯示到螢幕
-ls:類似ll命令
-delete:刪除查詢到的檔案
-fls /file:查到到所有檔案的長格式資訊儲存到檔案
-ok command {} \; :對查到的檔案由command執行
每個檔案執行之前,都會互動式要求使用者確認
-exec command {} \; :對查詢到檔案執行command執行
{}:用於引用查詢到的檔案
例:find /tmp -cmin -5 -exec mv {} {}.new \;查詢tmp下最近5分鐘改變過檔案並重命名
注意:find查到所有的檔案,一次性傳遞給後面的命令,有些命令接受過多引數,可能會失敗可使用
| xargs command:乙個乙個檔案傳遞給command執行
12 檔案操作
可以採用如下兩種方法記錄多個相關 字串1.採用二維陣列 這種方法記錄相關字串會造成內容浪費 而且儲存區使用不夠靈活 2.採用指標陣列 這種方法記錄相關字串不會浪費記憶體而且 儲存區的使用比較靈活 記錄普通變數位址的指標叫一級指標 記錄一級指標變數位址的指標叫二級指標 二級指標可以和指標陣列 記錄第乙...
12 檔案基本許可權
檢視檔案許可權 d 目錄 檔案 軟鏈結 檔案基本許可權 rwx r xr x root root filename 型別擁有者的許可權 所屬組的許可權 其他人的許可權 擁有者屬組 物件型別 檔案 rwx d目錄 wxr 對於檔案 r 讀 可以檢視,不能更改,刪除w寫 可插入x 執行一般指的是指令碼檔...
20181217檔案查詢
命令 find 檢視檔案 root localhost find name httpd.conf 在系統中查詢乙個名為httpd.conf的檔案 絕對路徑,從根目錄開始查詢,find命令會遍歷 下所有的檔案,然後列印出尋找結果 root localhost find etc name httpd.c...