每天乙個Linux命令(18) locate命令

2022-02-24 05:04:54 字數 1315 閱讀 3681

locate讓使用者可以很快速的搜尋檔案系統內是否有指定的檔案。器方法是先建立乙個包括系統內所有檔名稱及路徑的資料庫,之後當尋找時就需查詢這個資料庫,而不必實際深入檔案系統之中了。在一般的  ditrtibution 之中,資料庫的建立都北方在 crontab  中自動執行。

1.命令格式:

locate  [選擇引數]  [樣式]

2.命令功能:

locate 命令可以在搜尋資料庫時快速找到檔案,資料庫由updatedb 程式來更新, updatedb 是由 cron daemon週期性建立的,locate 命令在搜尋資料庫時比由整個硬碟資料來搜尋資料來的快,但不足之處是locate 所找到的檔案若是最近才建立或剛更該過的,可能會找不到,在內定植中,updatedb 每天會跑一次,可以修改 crontab 來更新設定值(/etc/crontab)

locate 指定用在搜尋符合條件的檔案,它會去儲存檔案與目錄名稱的資料庫內,尋找合乎範本樣式條件的檔案或目錄,可以使用特殊字元(如「*」、「?」)來指定範本樣式,如指定範本為 kcpa*ner,  locate 會找找出所有起始字串為 kcpa 且 結尾為 ner 的檔案或目錄,如名稱為 kcpartner 若目錄名稱為 kcpa_ner 則會列出該目錄下包括子目錄在內的所有檔案。

locate 指令和 find 找尋檔案的功能類似,但 locate 是透過 update 程式將硬碟中的所有檔案盒目錄資料先建立乙個索引資料庫,在執行locate 時直接找該索引,查詢速度會較快,索引資料庫一般是由作業系統管理,但也可以直接下達update 強迫系統立即修改索引資料庫。

3.命令引數:

-e  將排除在尋找的範圍之外。  except, 估計是這個單詞的縮寫。

-l  如果是 l 則啟動安全模式,在安全模式下,使用者不會看到許可權無法看到的檔案,這會使速度減慢,因為 locate 必須到實際的檔案系統中去的檔案的許可權資料。

-f  將特定的檔案系統排除在外,例如我們沒有道理要把  proc 檔案系統中的檔案 放在資料庫中。

-q  安靜模式,不會顯示任何錯誤訊息。 -----這種情況難道是為了用在當著老闆面展示的時候?

-n  至多顯示 n個輸出。

-r  使用正規表示式,做尋找的條件。

-o  指定資料庫存的名稱。

-d  指定資料庫的路徑。預設是在 /var/lib/mlocate/mlocate.db。

-h  顯示輔助訊息。

-v  顯示程式的版本訊息。

4.使用例項:

命令:locate  pwd

例項2:搜尋etc目錄下所有以sh開頭的檔案

命令:locate  /etc/sh  如果有更具體的要求,可以使用   * 萬用字元。

每天乙個Linux命令

將我遇到的linux指令總結一下,不斷增加 1 sz和rz 一般來說,linux 伺服器大多是通過 ssh客戶端來進行遠端的登陸和管理的,使用 ssh登陸 linux ssh有關的兩個命令可以提供很方便的操作 sz 將選定的檔案傳送 send 到本地機器 rz 執行該命令會彈出乙個檔案選擇視窗,從本...

每天乙個linux命令

linux cmp命令 linux cmp命令用於比較兩個檔案是否有差異。當相互比較的兩個檔案完全一樣時,則該指令不會顯示任何資訊。若發現有所差異,缺省會標示出第乙個不同之處的字元和列數編號。若不指定任何檔名稱或是所給予的檔名為 則cmp指令會從標準輸入裝置讀取資料。語法cmp clsv i 字元數...

每天乙個 Linux 命令

head 與 tail 就像它的名字一樣的淺顯易懂,它是用來顯示開頭或結尾某個數量的文字區塊,head 用來顯示檔案的開頭至標準輸出中,而 tail 想當然爾就是看檔案的結尾。1 命令格式 head 引數 檔案 2 命令功能 head 用來顯示檔案的開頭至標準輸出中,預設head命令列印其相應檔案的...