濮阳杆衣贸易有限公司

主頁 > 知識庫 > whereis命令使用詳解

whereis命令使用詳解

熱門標(biāo)簽:百度地圖標(biāo)注陰影動態(tài) 廳外呼梯系統(tǒng)布線 鹽城客服外呼系統(tǒng)軟件 北京市地圖標(biāo)注 焦作人工智能電話機器人軟件 淘寶系統(tǒng)退貨外呼項目考試答案 2020電銷機器人排行 貴陽語音電銷機器人招商 鄭州營銷外呼系統(tǒng)運營商

linux/Unix可以使用 whereis 這個命令來查找某個特定的程序和命令的二進制文件()、源代碼和man手冊的位置,貌似現(xiàn)在還能看到軟件的配置文件的位置(路徑)。

命令作用:

    查找二進制文件位置
    查找軟件的配置文件的位置
    查找源代碼文件位置
    查看man手冊位置

語法

基本語法如下:


復(fù)制代碼
代碼如下:
whereis command

OR


復(fù)制代碼
代碼如下:
whereis program

OR


復(fù)制代碼
代碼如下:
whereis [options] program

OR


復(fù)制代碼
代碼如下:
whereis -BMS directory -f command

whereis 使用舉例:

查找 date 命令的 可執(zhí)行文件、源代碼和man手冊的位置,輸入:

復(fù)制代碼
代碼如下:
$ whereis date

輸出如下圖:

Animated gif 01: whereis command running on my Debian based server
如何只搜索二進制文件的位置?

使用 -b 參數(shù) :

復(fù)制代碼
代碼如下:
$ whereis -b date

如何只搜索man手冊的位置?

使用 -m 參數(shù):

復(fù)制代碼
代碼如下:
$ whereis -m date

如何只搜索源代碼文件的位置?

使用 -s 參數(shù):

復(fù)制代碼
代碼如下:
$ whereis -s date

問題:whereis -u參數(shù)是有問題的,按照man whereis 的說明,-u的就是搜索那些沒有二進制文件或者源代碼文件或者man手冊的文件的。但是實際測試發(fā)現(xiàn),和這毛關(guān)系都沒有啊。
man手冊上的一個例子:

A file is said to be unusual if it does not have one entry of each requested type. Thus the following example, asks for those files in the current directory which have no documentation(意思是搜索當(dāng)前目錄下,沒有man文檔的文件):

復(fù)制代碼
代碼如下:
$ whereis -m -u *

我們先cd /bin ,然后執(zhí)行上面的命令,會發(fā)現(xiàn)  whereis -m -u *  和 where -m *   結(jié)果是一模一樣的。-u的功能完全沒體現(xiàn)出來。而且與man文檔描述的完全不符,因為/bin目錄下的文件都是有man文檔的,按man文檔的意思,結(jié)果應(yīng)該是空的,但是結(jié)果卻不是空的。
如何限制搜索的路徑?

使用下面的參數(shù)限制對應(yīng)的搜索路徑:

    -B /path/to/dir : 限制在指定的目錄搜索二進制文件.
    -M /path/to/dir : 限制在指定的目錄搜索man手冊文件.
    -S /path/to/dir : 限制在指定的目錄搜索二進制文件.

在使用了-B , -M , -S  任意一個參數(shù)時,必須加上 -f  參數(shù), 然后指定要搜索的文件名.

實例如下:只在 /bin 目錄下搜索 ls 和gcc的:

復(fù)制代碼
代碼如下:
$ whereis -B /bin -f ls gcc

結(jié)果如下:

復(fù)制代碼
代碼如下:
ls: /bin/ls /usr/share/man/man1/ls.1.gz
gcc:

可以看到,gcc在/bin目錄下搜索二進制文件是沒有結(jié)果的,說明gcc的二進制文件不在 /bin目錄下。

問題:但是,我發(fā)現(xiàn),雖然/bin目錄下沒有g(shù)cc二進制文件,但是使用上面的命令照樣有輸出,而不是像我翻譯的這篇文章那樣。

 

實例:這也是man手冊上的例子,經(jīng)測試,這里 -u參數(shù)還是和man手冊上描述的不符合。

查找所有/usr/bin目錄下的,其man文檔不在 /usr/man/man1/  ,且其源代碼文件不在/usr/src/ 的 文件, 輸入:

復(fù)制代碼
代碼如下:
# cd /usr/bin
# whereis -u -ms -M /usr/man/man1 -S /usr/src -f *

測試:

復(fù)制代碼
代碼如下:
#cd /bin
#whereis -u -m -M /root -f *

按man手冊的意思,這行命令的功能是:查找 所有/bin下,其man文檔不在/root的文件。所以應(yīng)該是有結(jié)果輸出的,因為/root目錄下根本沒有任何文件的man手冊。可以,驚奇的發(fā)現(xiàn),結(jié)果居然是空的。

標(biāo)簽:和田 開封 馬鞍山 石家莊 法律問答 和田 淮安 湖南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《whereis命令使用詳解》,本文關(guān)鍵詞  whereis,命令,使用,詳解,whereis,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《whereis命令使用詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于whereis命令使用詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    尚义县| 浪卡子县| 淳安县| 梁山县| 麻栗坡县| 万安县| 清涧县| 天峨县| 平谷区| 文成县| 射洪县| 皋兰县| 沿河| 陕西省| 开封市| 嘉禾县| 伊金霍洛旗| 曲水县| 紫阳县| 三穗县| 乐昌市| 永川市| 马边| 淮滨县| 山西省| 海南省| 颍上县| 巴林右旗| 永定县| 汶川县| 康乐县| 荔波县| 申扎县| 离岛区| 泽州县| 通化市| 射阳县| 鄂伦春自治旗| 海安县| 隆林| 云梦县|