updatedb命令
updatedb
創建或更新locate
命令使用的數據庫,如果數據庫已經存在,則重用其數據以避免重新讀取未更改的目錄,updatedb
通常由cron
每天運行以更新默認數據庫。
語法
updatedb [OPTION]...
參數
-f, --add-prunefs FS
: 將空格分隔的列表FS
中的條目添加到PRUNEFS
。-n, --add-prunenames NAMES
: 將空格分隔的列表名稱中的條目添加到pruneName
。-e, --add-prunepaths PATHS
: 將以空格分隔的列表PATHS
中的條目添加到PRUNEPATHS
。-U, --database-root PATH
: 僅存儲掃描以生成的數據庫路徑爲根的文件系統子樹的結果,默認情況下會掃描整個文件系統即/
,locate
輸出的條目作爲絕對路徑名,不包含符號鏈接,無論PATH
的形式如何。-h, --help
: 顯示幫助信息。-o, --output FILE
: 將數據庫寫入文件,而不是使用默認數據庫,數據庫默認位置爲/var/lib/mlocate/mlocate.db
。--prune-bind-mounts FLAG
: 將PRUNE_BIND_MOUNTS
設置爲FLAG
,覆蓋配置文件,默認爲no
。--prunefs FS
: 將PRUNEFS
設置爲FS
,以覆蓋配置文件。--prunenames NAMES
: 將PRUNENAMES
設置爲NAMES
,以覆蓋配置文件。--prunepaths PATHS
: 將PRUNEPATHS
設置爲PATHS
,以覆蓋配置文件。-l, --require-visibility FLAG
: 將生成的數據庫中的"報告之前要求文件可見性"標誌設置爲FLAG
,默認值爲yes
。如果FLAG
爲0
或no
,或者數據庫文件可被others
讀取或不屬於slocate
,那麼locate
將輸出數據庫項,運行locate
的用戶無法讀取所需的目錄以找到數據庫項所描述的文件。如果FLAG
爲1
或yes
,則locate
在將每個條目的父目錄報告給調用用戶之前,先檢查其父目錄的權限。爲了使文件的存在真正被其他用戶隱藏,數據庫組設置爲slocate
,並且數據庫權限禁止用戶使用locate set-gid slocate
以外的其他方式讀取用戶的數據庫。注意,僅當數據庫由slocate
擁有並且others
不可讀時,才檢查可見性標誌。-v, --verbose
: 將文件的輸出路徑名輸出到標準輸出。-V, --version
: 輸出版本信息。
示例
更新locate
命令所使用的數據庫。
updatedb
更新locate
命令所使用的數據庫,並輸出找到的文件。
updatedb -v
指定更新locate
命令所使用的數據庫的目錄。
updatedb -U /home
每日一題
https://github.com/WindrunnerMax/EveryDay
參考
https://linux.die.net/man/8/updatedb
https://www.computerhope.com/unix/ulocate.htm
https://www.runoob.com/linux/linux-comm-updatedb.html