whereis 專門用於查詢指令二進制檔、原始碼與手冊頁的安裝路徑。它不搜尋一般檔案,而是針對預建資料庫(通常為 /var/lib/mlocate 或內建路徑表)進行快速查找,速度極快,適合確認指令是否安裝、版本路徑、多版本共存時的實際調用位置。
whereis [選項] 指令名稱...
| 參數 | 功能 |
|---|---|
-b | 僅搜尋二進制執行檔 |
-m | 僅搜尋手冊頁 |
-s | 僅搜尋原始碼檔案 |
-u | 搜尋不包含指定類型的檔案(異常檢測) |
-B 目錄 | 限定二進制檔搜尋目錄 |
-M 目錄 | 限定手冊頁搜尋目錄 |
-S 目錄 | 限定原始碼搜尋目錄 |
-f | 不顯示檔名前的路徑前綴(僅顯示檔名) |
$ whereis git
git: /usr/bin/git /usr/share/man/man1/git.1.gz
顯示:二進制路徑 + 手冊頁路徑(無原始碼則不顯示)。
$ whereis -b git
git: /usr/bin/git
$ whereis -b nginx php-fpm mysqld
nginx: /usr/sbin/nginx
php-fpm: /usr/sbin/php-fpm
mysqld: /usr/sbin/mysqld
$ whereis -u -b -m -s nginx
# 若有輸出,表示該指令缺少某類型檔案
$ whereis -B /usr/local/nginx/sbin -f nginx
nginx: nginx
| 指令 | 搜尋範圍 | 速度 | 適用場景 |
|---|---|---|---|
whereis | 二進制、man、source 預設路徑 | 極快 | 確認指令安裝位置、多版本檢查 |
which | $PATH 環境變數路徑 | 極快 | 驗證當前 Shell 實際調用哪個版本 |
locate | 全系統檔案資料庫(updatedb 更新) | 快 | 模糊查找檔案名、配置檔定位 |
find | 即時遍歷檔案系統 | 慢 | 精確條件搜尋(時間、大小、權限、內容) |
whereis 依賴預建路徑表,新安裝軟體需等待系統更新資料庫或手動執行 updatedb(針對 locate),或直接用 which 驗證 $PATH。cd、alias)或別名。whereis 是「指令地圖」的快速索引,配合 which 驗證實際調用路徑、locate 模糊尋找配置檔、find 深度條件搜尋,構成 Linux 檔案定位的四大金剛工具組合。
iptables hashlimit 模塊深度解析:基於令牌桶的連接限速實戰與參數全解
零成本打造校園網內容過濾:Linux + Squid + SquidGuard 完整部署實戰
VMware 虛擬機 Linux 無法自動獲取 IP 解決方案:修正網卡啟動檢查邏輯
Linux 上安裝 Eclipse 與 Flex Builder 開發環境步驟指南
Linux flock 命令實現腳本級互斥鎖:並發控制、異步等待、共享/獨佔模式全解析
HP 伺服器 Linux 開機報 PCI ROOT HID fail=0x5 錯誤解決方案