Linux locate命令
Linux 命令大全
Linux locate命令用于查找符合條件的文檔,他會去保存文檔和目錄名稱的數據庫內,查找合乎范本樣式條件的文檔或目錄。
一般情況我們只需要輸入 locate your_file_name 即可查找指定文件。
語法
locate [-d ][--help][--version][范本樣式...]
參數:
-
-b, --basename -- 僅匹配路徑名的基本名稱
-
-c, --count -- 只輸出找到的數量
-
-d, --database DBPATH -- 使用 DBPATH 指定的數據庫,而不是默認數據庫 /var/lib/mlocate/mlocate.db
-
-e, --existing -- 僅打印當前現有文件的條目
-
-1 -- 如果 是 1.則啟動安全模式。在安全模式下,使用者不會看到權限無法看到 的檔案。這會始速度減慢,因為 locate 必須至實際的檔案系統中取得檔案的 權限資料。
-
-0, --null -- 在輸出上帶有NUL的單獨條目
-
-S, --statistics -- 不搜索條目,打印有關每個數據庫的統計信息
-
-q -- 安靜模式,不會顯示任何錯誤訊息。
-
-P, --nofollow, -H -- 檢查文件存在時不要遵循尾隨的符號鏈接
-
-l, --limit, -n LIMIT -- 將輸出(或計數)限制為LIMIT個條目
-
-n -- 至多顯示 n個輸出。
-
-m, --mmap -- 被忽略,為了向后兼容
-
-r, --regexp REGEXP -- 使用基本正則表達式
-
--regex -- 使用擴展正則表達式
-
-q, --quiet -- 安靜模式,不會顯示任何錯誤訊息
-
-s, --stdio -- 被忽略,為了向后兼容
-
-o -- 指定資料庫存的名稱。
-
-h, --help -- 顯示幫助
-
-i, --ignore-case -- 忽略大小寫
-
-V, --version -- 顯示版本信息
實例
查找 passwd 文件,輸入以下命令:
locate passwd
搜索 etc 目錄下所有以 sh 開頭的文件 :
locate /etc/sh
忽略大小寫搜索當前用戶目錄下所有以 r 開頭的文件 :
locate -i ~/r
附加說明
locate 與 find 不同: find 是去硬盤找,locate 只在 /var/lib/slocate 資料庫中找。
locate 的速度比 find 快,它并不是真的查找,而是查數據庫,一般文件數據庫在 /var/lib/slocate/slocate.db 中,所以 locate 的查找并不是實時的,而是以數據庫的更新為準,一般是系統自己維護,也可以手工升級數據庫 ,命令為:
updatedb
默認情況下 updatedb 每天執行一次。
Linux 命令大全