It is possible that you have used the commands which, whereis, and whatis multiple times on Linux.。這三個命令都用於查找關於其他 Linux 命令的資訊。這些命令看起來相似,但它們確實有一些區別。
以下是對 Linux 上 which、whereis 和 whatis 指令的詳細比較。
某些指令在不同的目錄中具有多個執行檔。 Shell會在PATH環境變數所指定的資料夾中尋找可執行文件,以執行對應的指令。
要尋找PATH 環境變數中包含的目錄,請在Linux 終端機中執行以下命令:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ echo $PATH
小貼士:您也可以手動將目錄加入到您的PATH環境變數。
一旦在Linux中找到了第一個可執行的路徑,shell就會立即執行該路徑。使用 which 指令,您可以確定該執行檔的路徑。
這種情況下會很有用:當您的系統上安裝了兩個具有不同版本的相同程式時,或者安裝了兩個具有相同名稱但不同程式的軟體時。使用 which 指令,您可以找出哪一個會先執行。
以下是which 指令的語法:
which [选项] [命令]
例如,要檢查tar 指令的實際路徑,您可以輸入:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ which tar
這個指令會展示tar指令在PATH中的第一個可執行路徑,也就是位於/usr/bin。每次執行 tar 命令時,都會由 shell 執行位於 /usr/bin 目錄中的二進位文件,這就是其意義。
要顯示指令的所有可用可執行路徑,請使用which 指令加上-a 選項:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ which -a tar
你也可以同時顯示多個指令的可執行路徑,如下所示:
which [命令1] [命令2] [命令3]
whereis命令能夠展示與指定命令相關的可執行檔、原始程式碼檔案和手冊頁面文件的路徑。與 which 指令不同,它不僅在 $PATH 中搜尋可執行文件,還在 $MANPATH 和其他預定義位置進行搜尋。
如果沒有任何命令列選項,whereis 命令會顯示命令的二進位檔案、來源檔案和手冊頁面檔案:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ whereis tar
要僅顯示二進位文件路徑,請使用-b 選項:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ whereis -b tar
要僅顯示來源文件,請使用-s標誌:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ whereis -s tar
要只顯示手冊頁面,請使用-m 選項:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ whereis -m tar
whatis 指令提供了給定Linux 指令的一行說明。它從命令的 man 頁面中獲取這些資訊。
例如,要尋找tar 指令的功能,請執行:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ whatis tar
#您也可以同時尋找多個指令的資訊,例如:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ whatis ls cp mkdir cat head
若您需要尋找 shell 中指令的執行檔路徑,請嘗試使用 which 指令。使用 whereis 指令可尋找指令的來源檔案、二進位檔案和 man 頁面。
whereis 指令列出所有的二進位可執行文件,而 which 指令僅顯示在 shell 中輸入該指令時執行的第一個執行檔。
which 指令在 PATH 變數中進行搜索,而 whereis 指令在標準的Linux目錄中進行搜索,包括 $PATH 和 $MANPATH。
最後,whatis 指令會從指令的 man 頁面中擷取一行簡短的描述。
which、whereis 和whatis 命令可以幫助您找到其他Linux 命令的信息,如可執行文件的完整路徑、二進製文件、源文件、手冊頁面以及命令的功能。
除了 whatis 命令,您還可以使用其他命令,例如 apropos、man、info 和 help,以獲得關於 Linux 命令及其功能的詳細資訊和更好的理解。
以上是Linux 神秘對決:which vs. whereis vs. whatis的詳細內容。更多資訊請關注PHP中文網其他相關文章!