一、文件查找定義及locate命令的使用
1.定義:在文系統上查找符合條件的文件
2.查找工具:locate,find
非實時查找(數據庫查找):locate
實時查找:find
3.locate命令
1)查詢系統上預建的文件索引數據庫
/var/lib/mlocate/mlocate.db
工具是由mlocate安裝包提供
2)依賴於事先構建的索引
索引的構建是在系統較爲空閒時自動進行(週期性任務),管理員手動更新數據庫(updatedb)
3)索引構建過程需要遍歷整個根文件系統,極消耗資源
4)工作特點:
查找速度快
模糊查找
非實時查找
搜索的是文件的全路徑,不僅僅是文件名
可能只搜索用戶具備讀取和執行權限的目錄
5)使用方法
locate KEYWORD
有用的選項
-i 執行區分大小寫的搜索
-n N只列舉前N個匹配項目
locate foo
搜索名稱或路徑中帶有“foo”的文件
locate -r ‘\.foo$’
使用Regex來搜索以“.foo”結尾的文件
locate -r '\<passwd$'
6)注意:偶爾在更新數據時忘記切換爲root用戶,會出現如下錯誤
在使用updatedb時有時會出現下面的錯誤updatedb: can not open a temporary file for `/var/lib/mlocate/mlocate.db'。這是因爲權限不夠,我們要切換到root 用戶下,su - root ,然後再updatedb就可以了
二、find命令使用詳解