find 命令及其示例

wongchaofan發表於2024-06-03

Linux 中的locate 命令用於按名稱查詢檔案。使用者可以使用兩種最廣泛使用的檔案搜尋實用程式,分別是 find 和locate。locate 實用程式比 find 命令的對應程式工作得更好、更快,因為在啟動檔案搜尋時,locate 實用程式不是搜尋檔案系統,而是檢視資料庫。此資料庫包含檔案的片段和部分以及它們在系統上的對應路徑。預設情況下,locate 命令不會檢查資料庫中找到的檔案是否仍然存在,也不會報告相關資料庫最近更新後建立的檔案。

Linux 中 `locate` 命令的語法

locate [OPTION]... PATTERN...

退出狀態:如果找到任何指定的匹配項,此命令將以狀態 0 退出。如果沒有找到匹配項或遇到致命錯誤,則它將以狀態 1 退出。

Linux 中 `locate` 命令可用的選項

選項

描述

-b, –基本名稱

僅將基本名稱與指定的模式進行匹配,這與–wholename相反

-c,–計數

不要在標準輸出上寫檔名,而只寫匹配條目的數量。

-d,–資料庫 DBPAT

用 DBPATH 替換預設資料庫。DBPATH 是一個用 :(冒號)分隔的資料庫檔名列表。如果指定了多個–database選項,則生成的路徑是各個路徑的串聯。空資料庫檔名將被替換為預設資料庫。資料庫檔名 – 指的是標準輸入。請注意,資料庫只能從標準輸入讀取一次。

-e,–現有

僅列印引用執行定位時存在的檔案的條目。

-L,–關注

檢查檔案是否存在時(如果指定了–existing選項),請跟蹤尾隨的符號連結。這會導致輸出中忽略損壞的符號連結。此選項是預設行為。可以使用–nofollow指定相反的行為。

-h、–幫助

將可用選項的摘要寫至標準輸出併成功退出。

-i,–忽略大小寫

匹配模式時忽略大小寫區別。

-l、–limit、-n 限制

找到 LIMIT 個條目後成功退出。如果指定了–count選項,則結果計數也限制為 LIMIT 個。

-m、–mmap

被忽略,但為了與 BSD 和 GNU 定位相容而包含在內。

-P、–nofollow、-H

檢查檔案是否存在時(如果指定了–existing選項),不要跟蹤尾隨的符號連結。這會導致損壞的符號連結像其他檔案一樣被報告。此選項與–follow相反

-0,-null

使用 ASCII NULL 字元分隔輸出中的條目,而不是將每個條目寫在單獨的行上。此選項旨在與GNU xargs 的–null選項進行互操作。

-S,–統計

將每個讀取資料庫的統計資訊寫入標準輸出而不是搜尋檔案併成功退出。

q,-安靜

不寫入有關讀取和處理資料庫時遇到的錯誤的訊息。

-r,–regexp REGEXP

搜尋基本正規表示式 REGEXP。如果使用此選項,則不允許使用 PATTERN,但可以多次指定此選項。

–正規表示式

將所有 PATTERN 解釋為擴充套件的正規表示式。

-s、–stdio

忽略,為了與 BSD 和 GNU 定位相容。

-V,–版本

在標準輸出上寫入有關locate的版本和許可證的資訊併成功退出。

-w, –整個名稱

僅將整個路徑名與指定模式進行匹配。此選項是預設行為。可以使用–basename指定相反的行為。

相關文章