文件及內容處理 - whereis、locate
1. whereis:查找二進制命令,按環境變量PATH路徑查找
whereis命令的功能說明
whereis
命令用於查找文件。該指令會在特定目錄中查找符合條件的文件。這些文件應屬於原始代碼、二進制文件,或是幫助文件。該指令只能用於查找二進制文件、源代碼文件和man
手冊頁,一般文件的定位需使用locate
命令。whereis命令的語法格式
whereis
[options] [-BMS directory... -f] name...whereis
[-bfmsu][-B <目錄>...][-M <目錄>...][-S <目錄>...][文件...]whereis命令的常用參數說明:
whereis
參數不多,表1爲whereis
命令的參數及說明:表1:
whereis
命令的參數及說明
參數選項 | 解釋說明 |
---|---|
-b | 只查找二進制文件。 |
-B<目錄> | 只在設置的目錄下查找二進制文件。 |
-f | 不顯示文件名前的路徑名稱。 |
-m | 只查找說明文件。 |
-M<目錄> | 只在設置的目錄下查找說明文件。 |
-s | 只查找原始代碼文件。 |
-S<目錄> | 只在設置的目錄下查找原始代碼文件。 |
-u | 查找不包含指定類型的文件。 |
whereis命令的實踐操作
範例1: 使用指令
whereis
查看指令cp
的位置,輸入如下命令
[root@m01 ~]# whereis cp
cp: /usr/bin/cp /usr/share/man/man1/cp.1.gz
注意:以上輸出信息從左至右分別爲查詢的程序名、
cp
路徑、cp
的man
手冊頁路徑範例2: 單獨查詢二進制文件或幫助文件,可使用如下命令
[root@m01 ~]# whereis -b cp
cp: /usr/bin/cp
[root@m01 ~]# whereis -m cp
cp: /usr/share/man/man1/cp.1.gz
2. locate:標註從數據庫 (/var/lib/mlocate/mlocate.db) 查找命令,使用updatedb更新庫
locate命令的功能說明
locate
命令用於查找符合條件的文檔,他會去保存文檔和目錄名稱的數據庫內,查找合乎範本樣式條件的文檔或目錄。一般情況我們只需要輸入locate your_file_name
即可查找指定文件。CentOS 7已經沒有此命令,需手動安裝,方法爲:yum install -y mlocate
locate命令的語法格式
locate
[--version]locate
[-d ][--help][--version][範本樣式...]locate命令的常用參數說明:
locate
參數不多,表1爲locate
命令的參數及說明:表1:
locate
命令的參數及說明
參數選項 | 解釋說明 |
---|---|
-d或--database= | 配置locate指令使用的數據庫。locate指令預設的數據庫位於/var/lib/slocate目錄裏,文檔名爲slocate.db,您可使用 這個參數另行指定。 |
--help | 在線幫助。 |
--version | 顯示版本信息。 |
locate命令的實踐操作
範例1: 查找
passwd
文件,輸入以下命令
locate passwd
附加說明
locate
與find
不同:find
是去硬盤找,locate
只在/var/lib/slocate
資料庫中找。locate
的速度比find
快,它並不是真的查找,而是查數據庫,一般文件數據庫在/var/lib/slocate/slocate.db
中,所以locate
的查找並不是實時的,而是以數據庫的更新爲準,一般是系統自己維護,也可以手工升級數據庫 ,命令爲locate -u
今天就寫到這裏,有什麼疑問或出現什麼錯誤,隨時歡迎大神們發表評論指點迷津