1. 程式人生 > >檔案和目錄管理

檔案和目錄管理

簡述

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 ~]$