Linux whereis 基礎命令

2021-08-15 22:02:00 字數 1947 閱讀 5542

有時,在使用命令列的時候,我們需要快速找到某乙個命令的二進位制檔案所在位置。這種情況下可以選擇 find 命令,但使用它會耗費時間,可能也會出現意料之外的情況。有乙個專門為這種情況設計的命令:whereis。

在這篇文章裡,我們會通過一些便於理解的例子來解釋這一命令的基礎內容。但在這之前,值得說明的一點是,下面出現的所有例子都在 ubuntu 16.04 lts 下測試過。

linux whereis 命令

whereis 命令可以幫助使用者尋找某一命令的二進位制檔案,原始碼以及幫助頁面。下面是它的格式:

whereis [options] [-bms directory... -f] name...
這是這一命令的 man 頁面給出的解釋:

whereis 可以查詢指定命令的二進位制檔案、原始檔和幫助檔案。 被找到的檔案在顯示時,會去掉主路徑名,然後再去掉檔案的(單個)尾部副檔名 (如: .c),**於源**控制的 s. 字首也會被去掉。接下來,whereis 會嘗試在標準的 linux 位置裡尋找具體程式,也會在由 $path 和 $manpath 指定的路徑中尋找。

下面這些以 q&a 形式出現的例子,可以給你乙個關於如何使用 whereis 命令的直觀感受。

q1. 如何用 whereis 命令尋找二進位制檔案所在位置?

假設你想找,比如說,whereis 命令自己所在位置。下面是你具體的操作:

whereis whereis
需要注意的是,輸出的第乙個路徑才是你想要的結果。使用 whereis 命令,同時也會顯示幫助頁面和原始碼所在路徑。(如果能找到的情況下會顯示,但是在這一例中沒有找到)所以你在輸出中看見的第二個路徑就是幫助頁面檔案所在位置。

q2. 怎麼在搜尋時規定只搜尋二進位制檔案、幫助頁面,還是源**呢?

如果你想只搜尋,假設說,二進位制檔案,你可以使用 -b 這一命令列選項。例如:

whereis -b cp
類似的, -m 和 -s 這兩個 選項分別對應 幫助頁面和原始碼。

q3.如何限制 whereis 命令搜尋位置?

預設情況下,whereis 是從由匹配符所定義的硬編碼路徑來尋找檔案的。但如果你想的話,你可以用命令列選項來限制搜尋。例如,如果你只想在 /usr/bin 尋找二進位制檔案,你可以用 -b 這一選項來實現。

whereis -b /usr/bin/ -f cp
注意:使用這種方式時可以給出多個路徑。使用 -f 這一選項來明確分隔目錄列表和要搜尋的檔名。

類似的,如果你想只搜尋幫助檔案或原始碼,你可以對應使用 -m 和 -s 這兩個選項。

q4. 如何檢視 whereis 的搜尋路徑?

與此相對應的也有乙個選項。只要在 whereis 後加上 -l。

whereis -l
這是例子的部分輸出結果:

q5. 如何找到乙個有異常條目的命令?

對於 whereis 命令來說,如果乙個命令對每個顯式的請求型別都不止一項,則該命令被視為異常。例如,沒有可用文件的命令,或者對應文件分散在各處的命令都可以算作異常命令。 當使用 -u 這一選項,whereis 就會顯示那些有異常條目的命令。

例如,下面這一例子就顯示,在當前目錄中,沒有對應文件或有多個文件的命令。

whereis -m -u *
總結via: 

本文由 lctt 原創編譯,linux中國 榮譽推出

Linux whereis 基礎命令

有時,在使用命令列的時候,我們需要快速找到某乙個命令的二進位制檔案所在位置。這種情況下可以選擇 find 命令,但使用它會耗費時間,可能也會出現意料之外的情況。有乙個專門為這種情況設計的命令 whereis。在這篇文章裡,我們會通過一些便於理解的例子來解釋這一命令的基礎內容。但在這之前,值得說明的一...

linux whereis命令學習

前天學習了如何通過man命令檢視man手冊,那今天就不得不學另一條命令whereis了。whereis命令用來檢視命令 源 或man手冊的。1.為什麼要將whereis命令和前天學習的man命令聯絡起來呢?前面在man命令學習中,有提到man手冊有很詳細的分類。針對命令 系統呼叫 庫函式等都會將對應...

Linux基礎篇(一)LINUX簡介與基礎命令

linux簡介與基礎命令 是一款功能強大的用來虛擬計算機的桌面軟體 通常我們稱物理機或者真機為host os 而虛擬機器則稱之為guset 1 unix發展史 1969年底開始研發unix系統,最終誕生於1970年1月1日 由ken thompson和dennis ritchire兩個人研發 2 l...