Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux whereis 指令詳解:快速定位二進制、原始碼與手冊頁路徑

編輯:Linux 教學

whereis 專門用於查詢指令二進制檔、原始碼與手冊頁的安裝路徑。它不搜尋一般檔案,而是針對預建資料庫(通常為 /var/lib/mlocate 或內建路徑表)進行快速查找,速度極快,適合確認指令是否安裝、版本路徑、多版本共存時的實際調用位置。

語法格式

whereis [選項] 指令名稱...

核心參數

參數功能
-b僅搜尋二進制執行檔
-m僅搜尋手冊頁
-s僅搜尋原始碼檔案
-u搜尋不包含指定類型的檔案(異常檢測)
-B 目錄限定二進制檔搜尋目錄
-M 目錄限定手冊頁搜尋目錄
-S 目錄限定原始碼搜尋目錄
-f不顯示檔名前的路徑前綴(僅顯示檔名)

實戰範例

1. 全資訊查詢(預設)

$ whereis git
git: /usr/bin/git /usr/share/man/man1/git.1.gz

顯示:二進制路徑 + 手冊頁路徑(無原始碼則不顯示)。

2. 僅定位執行檔(腳本調用路徑驗證)

$ whereis -b git
git: /usr/bin/git

3. 多指令批次查詢

$ whereis -b nginx php-fpm mysqld
nginx: /usr/sbin/nginx
php-fpm: /usr/sbin/php-fpm
mysqld: /usr/sbin/mysqld

4. 檢測異常安裝(缺少手冊頁或原始碼)

$ whereis -u -b -m -s nginx
# 若有輸出,表示該指令缺少某類型檔案

5. 自訂搜尋路徑(編譯安裝軟體定位)

$ whereis -B /usr/local/nginx/sbin -f nginx
nginx: nginx

whereis vs which vs locate vs find

指令搜尋範圍速度適用場景
whereis二進制、man、source 預設路徑極快確認指令安裝位置、多版本檢查
which$PATH 環境變數路徑極快驗證當前 Shell 實際調用哪個版本
locate全系統檔案資料庫(updatedb 更新)快模糊查找檔案名、配置檔定位
find即時遍歷檔案系統慢精確條件搜尋(時間、大小、權限、內容)

常見問題

  • 找不到剛安裝的指令:whereis 依賴預建路徑表,新安裝軟體需等待系統更新資料庫或手動執行 updatedb(針對 locate),或直接用 which 驗證 $PATH。
  • 僅顯示指令名無路徑:表示資料庫中記錄了該指令但無對應檔案類型,可能為 Shell 內建指令(如 cd、alias)或別名。

whereis 是「指令地圖」的快速索引,配合 which 驗證實際調用路徑、locate 模糊尋找配置檔、find 深度條件搜尋,構成 Linux 檔案定位的四大金剛工具組合。

Copyright © Windows教程網 All Rights Reserved