whereis命令使用詳解
linux/Unix可以使用 whereis 這個(gè)命令來(lái)查找某個(gè)特定的程序和命令的二進(jìn)制文件()、源代碼和man手冊(cè)的位置,貌似現(xiàn)在還能看到軟件的配置文件的位置(路徑)。
命令作用:
查找二進(jìn)制文件位置
查找軟件的配置文件的位置
查找源代碼文件位置
查看man手冊(cè)位置
語(yǔ)法
基本語(yǔ)法如下:
OR
OR
OR
whereis 使用舉例:
查找 date 命令的 可執(zhí)行文件、源代碼和man手冊(cè)的位置,輸入:
輸出如下圖:

Animated gif 01: whereis command running on my Debian based server
如何只搜索二進(jìn)制文件的位置?
使用 -b 參數(shù) :
如何只搜索man手冊(cè)的位置?
使用 -m 參數(shù):
如何只搜索源代碼文件的位置?
使用 -s 參數(shù):
問(wèn)題:whereis -u參數(shù)是有問(wèn)題的,按照man whereis 的說(shuō)明,-u的就是搜索那些沒(méi)有二進(jìn)制文件或者源代碼文件或者man手冊(cè)的文件的。但是實(shí)際測(cè)試發(fā)現(xiàn),和這毛關(guān)系都沒(méi)有啊。
man手冊(cè)上的一個(gè)例子:
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)前目錄下,沒(méi)有man文檔的文件):
我們先cd /bin ,然后執(zhí)行上面的命令,會(huì)發(fā)現(xiàn) whereis -m -u * 和 where -m * 結(jié)果是一模一樣的。-u的功能完全沒(méi)體現(xiàn)出來(lái)。而且與man文檔描述的完全不符,因?yàn)?bin目錄下的文件都是有man文檔的,按man文檔的意思,結(jié)果應(yīng)該是空的,但是結(jié)果卻不是空的。
如何限制搜索的路徑?
使用下面的參數(shù)限制對(duì)應(yīng)的搜索路徑:
-B /path/to/dir : 限制在指定的目錄搜索二進(jìn)制文件.
-M /path/to/dir : 限制在指定的目錄搜索man手冊(cè)文件.
-S /path/to/dir : 限制在指定的目錄搜索二進(jìn)制文件.
在使用了-B , -M , -S 任意一個(gè)參數(shù)時(shí),必須加上 -f 參數(shù), 然后指定要搜索的文件名.
實(shí)例如下:只在 /bin 目錄下搜索 ls 和gcc的:
結(jié)果如下:
gcc:
可以看到,gcc在/bin目錄下搜索二進(jìn)制文件是沒(méi)有結(jié)果的,說(shuō)明gcc的二進(jìn)制文件不在 /bin目錄下。
問(wèn)題:但是,我發(fā)現(xiàn),雖然/bin目錄下沒(méi)有g(shù)cc二進(jìn)制文件,但是使用上面的命令照樣有輸出,而不是像我翻譯的這篇文章那樣。
實(shí)例:這也是man手冊(cè)上的例子,經(jīng)測(cè)試,這里 -u參數(shù)還是和man手冊(cè)上描述的不符合。
查找所有/usr/bin目錄下的,其man文檔不在 /usr/man/man1/ ,且其源代碼文件不在/usr/src/ 的 文件, 輸入:
# whereis -u -ms -M /usr/man/man1 -S /usr/src -f *
測(cè)試:
#whereis -u -m -M /root -f *
按man手冊(cè)的意思,這行命令的功能是:查找 所有/bin下,其man文檔不在/root的文件。所以應(yīng)該是有結(jié)果輸出的,因?yàn)?root目錄下根本沒(méi)有任何文件的man手冊(cè)??梢裕@奇的發(fā)現(xiàn),結(jié)果居然是空的。
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。