檔案和目錄管理
阿新 • • 發佈:2019-01-03
簡述
whereis 命令用來定位指令的二進位制程式、原始碼檔案和 man 手冊頁等相關檔案的路徑。
和 find 相比,whereis 查詢的速度非常快,這是因為 Linux 會將系統內的所有檔案都記錄在一個資料庫檔案中。當使用 whereis 和即將介紹的 locate 時,會從資料庫中查詢資料,而不是像 find 命令那樣,通過遍歷硬碟來查詢,效率自然會很高。但是該資料庫檔案並不是實時更新,預設情況下一星期更新一次。因此,在用 whereis 和 locate 查詢檔案時,有時會找到已被刪除的資料,或者剛剛建立檔案卻無法查詢到,原因就是因為資料庫檔案沒有被更新。
命令介紹
-
命令名稱
whereis -
基本語法
whereis [選項] 檔案 -
功能描述
定位指令的二進位制程式、原始碼檔案和 man 手冊頁等相關檔案的路徑。
命令選項
選項 | 說明 |
---|---|
-b |
只搜尋二進位制檔案 |
-B <目錄> |
定義二進位制檔案查詢路徑 |
-m |
只搜尋 man 手冊 |
-M <目錄> |
定義 man 手冊查詢路徑 |
-s |
只搜尋原始碼 |
-S <目錄> |
定義原始碼查詢路徑 |
-f |
終止 <目錄> 引數列表 |
-u |
搜尋不常見記錄 |
-l |
輸出有效查詢路徑 |
使用範例
1.查詢檔案及其相關檔案
[wang@localhost ~]$ whereis nginx
nginx:
[wang@localhost ~]$ whereis svn
svn: /usr/bin/svn /usr/share/man/man1/svn.1.gz
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
由於沒有安裝 nginx,所以查找不出來;安裝了 svn,便可以找出很多相關檔案。
2.查詢二進位制檔案
# 查詢二進位制檔案
[wang@localhost ~]$ whereis -b svn
svn: /usr/bin/svn
# 查詢說明文件路徑
[wang@localhost ~]$ whereis -m svn
svn: /usr/share/man/man1/svn.1.gz
# 查詢 source 原始檔
[wang@localhost ~]$ whereis -s svn
svn:
[wang@localhost ~]$