Linux 神秘對決:which vs. whereis vs. whatis

it is possible that you have used the commands which, whereis, and whatis multiple times on linux.。這三個命令都用于查找關(guān)于其他 linux 命令的信息。這些命令看起來相似,但它們確實(shí)有一些區(qū)別。

以下是對 Linux 上 which、whereis 和 whatis 命令的詳細(xì)比較。

which 命令

某些命令在不同的目錄中具有多個可執(zhí)行文件。Shell會在PATH環(huán)境變量所指定的文件夾中查找可執(zhí)行文件,以運(yùn)行相應(yīng)的命令。

要查找 PATH 環(huán)境變量中包含的目錄,請?jiān)?Linux 終端中運(yùn)行以下命令:

┌──(linuxmi?linuxmi)-[~/www.linuxmi.com]└─$ echo $PATH

Linux 神秘對決:which vs. whereis vs. whatis

小貼士:您還可以手動將目錄添加到您的PATH環(huán)境變量中。

一旦在Linux中找到了第一個可執(zhí)行的路徑,shell將立即執(zhí)行該路徑。使用 which 命令,您可以確定該可執(zhí)行文件的路徑。

這種情況下會很有用:當(dāng)您的系統(tǒng)上安裝了兩個具有不同版本的同一程序時,或者安裝了兩個具有相同名稱但不同程序的軟件時。使用 which 命令,您可以找出哪個將首先被執(zhí)行。

以下是 which 命令的語法:

which [選項(xiàng)] [命令]

例如,要檢查 tar 命令的實(shí)際路徑,您可以輸入:

┌──(linuxmi?linuxmi)-[~/www.linuxmi.com]└─$ which tar

Linux 神秘對決:which vs. whereis vs. whatis

這個命令會展示tar命令在PATH中的第一個可執(zhí)行路徑,即位于/usr/bin。每次運(yùn)行 tar 命令時,都會由 shell 執(zhí)行位于 /usr/bin 目錄中的二進(jìn)制文件,這就是其意義。

要顯示命令的所有可用可執(zhí)行路徑,請使用 which 命令加上 -a 選項(xiàng):

┌──(linuxmi?linuxmi)-[~/www.linuxmi.com]└─$ which -a tar

Linux 神秘對決:which vs. whereis vs. whatis

您還可以同時顯示多個命令的可執(zhí)行路徑,如下所示:

which [命令1] [命令2] [命令3]

whereis 命令

whereis命令能夠展示與指定命令相關(guān)的可執(zhí)行文件、源代碼文件和手冊頁面文件的路徑。與 which 命令不同,它不僅在 $PATH 中搜索可執(zhí)行文件,還在 $MANPATH 和其他預(yù)定義位置進(jìn)行搜索。

如果沒有任何命令行選項(xiàng),whereis 命令會顯示命令的二進(jìn)制文件、源文件和手冊頁面文件:

┌──(linuxmi?linuxmi)-[~/www.linuxmi.com]└─$ whereis tar

Linux 神秘對決:which vs. whereis vs. whatis

要僅顯示二進(jìn)制文件路徑,請使用 -b 選項(xiàng):

┌──(linuxmi?linuxmi)-[~/www.linuxmi.com]└─$ whereis -b tar

Linux 神秘對決:which vs. whereis vs. whatis

要僅顯示源文件,請使用-s標(biāo)志:

┌──(linuxmi?linuxmi)-[~/www.linuxmi.com]└─$ whereis -s tar

Linux 神秘對決:which vs. whereis vs. whatis

要僅顯示手冊頁面,請使用 -m 選項(xiàng):

┌──(linuxmi?linuxmi)-[~/www.linuxmi.com]└─$ whereis -m tar

Linux 神秘對決:which vs. whereis vs. whatis

whatis 命令

whatis 命令提供了給定 Linux 命令的一行描述。它從命令的 man 頁面中獲取這些信息。

例如,要查找 tar 命令的功能,請運(yùn)行:

┌──(linuxmi?linuxmi)-[~/www.linuxmi.com]└─$ whatis tar

Linux 神秘對決:which vs. whereis vs. whatis

您還可以同時查找多個命令的信息,例如:

┌──(linuxmi?linuxmi)-[~/www.linuxmi.com]└─$ whatis ls cp mkdir cat head

Linux 神秘對決:which vs. whereis vs. whatis

which、whereis 和 whatis 之間的區(qū)別是什么?

若您需要查找 shell 中命令的可執(zhí)行文件路徑,請嘗試使用 which 命令。使用 whereis 命令可查找命令的源文件、二進(jìn)制文件和 man 頁面。

whereis 命令列出所有的二進(jìn)制可執(zhí)行文件,而 which 命令僅顯示在 shell 中輸入該命令時執(zhí)行的第一個可執(zhí)行文件。

which 命令在 PATH 變量中進(jìn)行搜索,而 whereis 命令在標(biāo)準(zhǔn)的Linux目錄中進(jìn)行搜索,包括 $PATH 和 $MANPATH。

最后,whatis 命令會從命令的 man 頁面中提取出一行簡短的描述。

查找Linux命令的信息

which、whereis 和 whatis 命令可以幫助您找到其他 Linux 命令的信息,如可執(zhí)行文件的完整路徑、二進(jìn)制文件、源文件、手冊頁面以及命令的功能。

除了 whatis 命令,您還可以使用其他命令,如 apropos、man、info 和 help,以獲得關(guān)于 Linux 命令及其功能的詳細(xì)信息和更好的理解。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊12 分享