前天學習了如何通過man命令檢視man手冊,
那今天就不得不學另一條命令whereis了。
whereis命令用來檢視命令、源**或man手冊的。
1. 為什麼要將whereis命令和前天學習的man命令聯絡起來呢?
前面在man命令學習中,有提到man手冊有很詳細的分類。
針對命令、系統呼叫、庫函式等都會將對應的man手冊根據page number一一對應起來起來。
所以從whereis的執行結果來看,可以知道既有readlink這個命令,同時也有乙個readlink系統呼叫。
並且可以看到readlink命令是放在/bin/readlink目錄下的。
# whereis readlink
readlink: /bin/readlink /usr/share/man/man1/readlink.1.gz /usr/share/man/man2/readlink.2.gz
2. whereis命令是對指定的目錄全部搜尋?
因為只是對指定的目錄進行搜尋,所以其搜尋效率會很高。
但whereis命令與which命令不同:
which命令只會搜尋環境變數path指定的目錄,並且在找到乙個結果時就立即返回,不會再接著去查詢後面的路徑;
whereis命令會全部搜尋整個指定的目錄,所以whereis命令的查詢結果可能有很多個。
# whereis file
file: /usr/bin/file /usr/sbin/file /usr/share/man/man1/file.1.gz
3. whereis命令的應用?
從whereis命令的查詢結果,可以很容易的知道你要查詢的函式是乙個系統呼叫還是乙個庫函式。
結合man手冊中對man命令的說明可以知道:
fork函式是乙個系統呼叫;system函式是乙個庫函式。
# whereis fork
fork: /usr/share/man/man2/fork.2.gz
# whereis system
system: /usr/share/man/man3/system.3.gz
待確認問題:
whereis命令會指定哪些目錄進行搜尋?
Linux whereis 基礎命令
有時,在使用命令列的時候,我們需要快速找到某乙個命令的二進位制檔案所在位置。這種情況下可以選擇 find 命令,但使用它會耗費時間,可能也會出現意料之外的情況。有乙個專門為這種情況設計的命令 whereis。在這篇文章裡,我們會通過一些便於理解的例子來解釋這一命令的基礎內容。但在這之前,值得說明的一...
Linux whereis 基礎命令
有時,在使用命令列的時候,我們需要快速找到某乙個命令的二進位制檔案所在位置。這種情況下可以選擇 find 命令,但使用它會耗費時間,可能也會出現意料之外的情況。有乙個專門為這種情況設計的命令 whereis。在這篇文章裡,我們會通過一些便於理解的例子來解釋這一命令的基礎內容。但在這之前,值得說明的一...
通過命令學git
設定提交 時的使用者資訊 常用命令 遠端操作 分支管理 刪除分支 分支合併 檢視提交歷史 git標籤 配置git和github 菜鳥教程鏈結 git init git init 資料夾 git add c git add readme git commit m 初始化專案版本 git clone g...