如何使用Whereis查找Linux命令和程序

你有沒有試過找到一個命令,程序或應用程序的位置,但不知道在哪裡看?

當然,您可以使用find命令來嘗試找到它,如下所示:

找到/ -name firefox

這將返回潛在結果列表,通常您可以通過這種方式找到程序的位置。

您可以使用的另一個命令是locate命令。 例如:

找到Firefox

但是,查找程序的最佳方法是whereis命令。

根據手冊頁

whereis定位指定命令名稱的二進製文件,源文件和手動文件。 提供的名稱首先被剝離了前導路徑名組件和表單.ext的任何(單個)尾隨擴展名(例如:.c)s的前綴。 源代碼控制的使用所產生的結果也被處理。 然後,Whereis嘗試在標準Linux位置以及$ PATH和$ MANPATH指定的地方找到指定的所需程序。

因此,本質上,whereis命令可以找到源代碼,手冊和程序的位置。

讓我們用Firefox試試吧:

其中firefox

上述命令的輸出如下所示:

firefox:/ usr / bin / firefox / usr / lib64 / firefox /usr/share/man/man1/firefox.1.gz

如果你只是想找到程序的位置,你可以使用開關-b,如下所示:

其中-b firefox

這將返回以下結果:

firefox:/ usr / bin / firefox / usr / lib64 / firefox

或者,如果您只想知道手冊的位置,則可以使用-m開關。

其中-m firefox

上述命令的結果如下所示:

firefox:/usr/share/man/man1/firefox.1.gz

最後,您可以使用-s開關將搜索範圍限制為源代碼。

還有其他交換機可用於whereis命令,包括用於查找不尋常文件的-u。

手冊中提到了關於-u開關的以下內容:

如果一個命令不具有每個明確請求類型的一個條目,就會被認為是不尋常的。 因此,'whereis -m -u *'會詢問當前目錄中沒有文檔文件或多個文件的文件。

基本上,如果您的系統上安裝了多個手冊,或者您正在運行的程序出現在多個位置,它將被退回。

如果您對程序或命令的位置有一個模糊的概念,並且您想要搜索特定的一組目錄,則可以使用-B開關在指定列表中搜索二進製文件。

例如:

whereis -b -B / usr / bin -f firefox

上面的命令有幾個部分。 首先是-b開關,這意味著我們只在尋找二進製文件(程序本身)。 -B開關用於提供搜索二進製文件的位置列表,文件夾列表由-f開關終止。 因此,在上面的命令中,唯一搜索的目錄是/ usr / bin。 最後,-f後面的firefox告訴它它在找什麼。

-B開關的另一種選擇是-M,它在特定的文件夾集中搜索手冊。

-M開關的命令行如下所示:

其中-m -M / usr / share / man / man1 -f firefox

-M的邏輯與-B的邏輯相同。 -m告訴whereis查找手冊,-M告訴whereis應該查找手冊的文件夾列表即將到來。 -f終止文件列表,firefox是whereis命令要查找手冊的程序。

最後,-S開關可用於列出一組文件夾以搜索源代碼。