12 檔案查詢locate find

2021-08-13 21:02:13 字數 1738 閱讀 9466

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...