Linux文件查找命令-(which/whereis/locate)
1、which命令
描述:在PATH變量指定的路徑中,搜索某個系統命令的位置,並且返回第一個搜索結果。(查找系統命令位置)
用法:which [參數選項] [可執行文件名]
參數:
主要參數 |
意義 |
-n |
指定文件名長度,指定的長度必須大於或等於所有文件中最長的文件名 |
-w |
指定輸出結果欄位寬度 |
-v |
查看版本信息 |
Eg:
[root@test ~]#which pwd #查找pwd命令,並顯示詳細路徑
2、whereis命令
描述:定位可執行文件、源代碼文件、幫助文件在文件系統中的位置。(搜索程序名)
用法:whereis [參數選項] [程序名]
參數:
參數 |
意義 |
-b |
定位可執行文件 |
-m |
定位幫助(man)文件 |
-s |
定位源代碼文件 |
-u |
搜索默認路徑下除可執行、源代碼、幫助外其他文件 |
-B/-M/-S |
指定搜索可執行/幫助/源代碼文件路徑 |
Eg:
[root@test ~]#whereis zabbix #查找與zabbix相關的所有文件
3、locate命令
描述:配合數據庫查看文件位置。
說明:locate命令可以在搜尋數據庫時快速找到文件,數據庫由updatedb程序來更新,updatedb是由cron daemon週期性建立的,locate所找到的檔案若是最近才建立或剛更名,可能會找不到,在內定值中,updatedb每天會跑一次,可以由修改crontab來更新設定值。
locate指定用在搜尋符合條件的檔案,它會去儲存檔案與目錄名稱的數據庫內,尋找合乎範本樣式條件的檔案或目錄,可以使用特殊字元(如”*” 或”?”等)來指定範本樣式,如指定範本爲kcpa*ner, locate會找出所有起始字串爲kcpa且結尾爲ner的檔案或目錄,如名稱爲kcpartner若目錄錄名稱爲kcpa_ner則會列出該目錄下包括子目錄在內的所有檔案。
locate指令和find找尋檔案的功能類似,但locate是透過update程序將硬盤中的所有檔案和目錄資料先建立一個索引數據庫,在執行loacte時直接找該索引,查詢速度會較快,索引數據庫一般是由操作系統管理,但也可以直接下達update強迫系統立即修改索引數據庫。
用法:locatel [參數選項] [文件名稱]
參數:
參數 |
功能 |
-e |
排除在尋找範圍之外 |
-f |
將特定的檔案系統排除在外 |
-q |
安靜模式,不會顯示任何錯誤信息 |
-n |
最多顯示n個輸出 |
-o |
指定資料庫名稱 |
-d |
指定資料庫路徑 |
-h |
顯示輔助信息 |
-V |
顯示程序的版本訊息 |
Eg:
[root@test ~]#locate cp #查找與cp相關的所有文件
[root@test ~]#locate/etc/va #查找/etc目錄下所有va開頭文件
個人公衆號: