本次記錄以下命令如locate, find的使用格式、常用選項及它們有哪些使用實例等。
wlocate與find命令的特性
locate與find命令都用來查找文件或目錄的。但明顯locate查找速度要比find快得多,原因在於locate不需要搜索具體目錄,而是搜索一個數據庫文件。一般來說,Linux系統會將系統內的所有文件都記錄在一個數據庫文件裡面,Linux系統自動創建這個數據庫,且每天自動更新一次,所以有時你還發現使用locate,會找到已經被刪掉的文件!也會查不到最新變動過的文件。
find命令是直接查找硬盤,比較耗費時間。
1. Locate命令
用來查找文件或目錄。它是非實時查找工具,依賴於事先構建好的索引,而不是在文件系統上直接搜索的。查找速度快,模糊查找。
Locate尋找的數據是由已創建的數據庫/var/lib/mlocate裡面的數據所查找到的,此數據庫每天更新一次,所以當你新建文件後查找該文件,那麼locate會告訴你“找不到”!因為必須要更新數據庫。
手動通過updatedb命令讀取/etc/updated.conf的設置去查找系統硬盤內的文件名,並更新/var/lib/mlocate內的數據庫文件。
Locate依據/var/lib/mlocate內數據庫記載,找出用戶輸入的關鍵字文件名。
查找文件與目錄Locate命令格式:
locate [OPTION]... PATTERN...
OPTION:
-i 忽略大小寫
-r 可接正則表達式的顯示方式
[root@www tmp]# locate -r 'pwd$' |grep -n 'pwd$'
1:/bin/pwd
2:/sbin/unix_chkpwd
3:/usr/lib64/cracklib_dict.pwd
4:/usr/share/cracklib/cracklib-small.pwd