Linux基本命令whereis命令詳解
whereis
是 Linux 系統(tǒng)中一個(gè)非常有用的命令,用于定位二進(jìn)制程序、源代碼文件和手冊(cè)頁(yè)的位置。與which
命令不同,whereis
不僅能找到可執(zhí)行文件,還能找到相關(guān)的文檔和源代碼,它也是系統(tǒng)管理員和開(kāi)發(fā)人員在查找命令相關(guān)文件時(shí)的有用工具,特別是在需要了解命令的完整安裝位置時(shí)非常實(shí)用。
一、基本語(yǔ)法
whereis [選項(xiàng)] 文件名
二、主要功能
whereis
命令會(huì)搜索以下類(lèi)型的文件:
二進(jìn)制文件(可執(zhí)行程序)
源代碼文件
手冊(cè)頁(yè)(man pages)
三、常用選項(xiàng)
選項(xiàng) | 說(shuō)明 |
---|---|
-b | 只搜索二進(jìn)制文件 |
-m | 只搜索手冊(cè)頁(yè)文件 |
-s | 只搜索源代碼文件 |
-u | 搜索不常見(jiàn)的文件(即沒(méi)有文檔、源代碼或二進(jìn)制文件的命令) |
-B | 指定二進(jìn)制文件的搜索路徑 |
-M | 指定手冊(cè)頁(yè)的搜索路徑 |
-S | 指定源代碼的搜索路徑 |
-f | 終止前面的路徑列表(與 -B , -M , -S 一起使用) |
四、使用示例
基本使用 - 查找命令的所有相關(guān)文件:
whereis ls
輸出示例:
只查找二進(jìn)制文件:
whereis -b gcc
輸出示例:
只查找手冊(cè)頁(yè):
whereis -m printf
輸出示例:
只查找源代碼:
whereis -s python
w
hereis
的默認(rèn)行為:如果找不到匹配的文件,它只會(huì)返回命令名稱(chēng)后跟冒號(hào):
,表示“未找到”。whereis -s
專(zhuān)門(mén)用于查找 源代碼文件(source code),但 Python 的源代碼通常不會(huì)默認(rèn)安裝在標(biāo)準(zhǔn)系統(tǒng)路徑中,因此whereis
可能找不到。查找不常見(jiàn)的命令(即沒(méi)有文檔、源代碼或二進(jìn)制文件的命令):
whereis -u *
指定搜索路徑:
whereis -B /usr/local/bin -f python
whereis
:Linux 命令,用于查找二進(jìn)制文件、手冊(cè)頁(yè)和源代碼文件。-B /usr/local/bin
:指定只搜索二進(jìn)制文件,并且限定在/usr/local/bin
目錄下查找。-f
:表示終止-B
指定的路徑列表,后面接要查找的命令名(這里是python
)。python
:要查找的目標(biāo)命令。
五、whereis 與 which 的區(qū)別(重點(diǎn))
特性 | whereis | which |
---|---|---|
搜索范圍 | 二進(jìn)制文件、手冊(cè)頁(yè)、源代碼 | 僅PATH中的可執(zhí)行文件 |
顯示結(jié)果 | 所有相關(guān)文件路徑 | 第一個(gè)找到的可執(zhí)行文件路徑 |
搜索速度 | 較快(使用數(shù)據(jù)庫(kù)) | 較慢(實(shí)時(shí)搜索) |
適用場(chǎng)景 | 查找命令的所有相關(guān)文件 | 確定執(zhí)行的是哪個(gè)版本 |
六、注意事項(xiàng)
whereis
通常比which
更快,因?yàn)樗阉鞯氖窍到y(tǒng)預(yù)先構(gòu)建的數(shù)據(jù)庫(kù),而不是實(shí)時(shí)搜索文件系統(tǒng)。在某些系統(tǒng)上,
whereis
可能不會(huì)找到所有文件,這取決于數(shù)據(jù)庫(kù)的更新頻率。如果找不到預(yù)期的文件,可以嘗試使用
updatedb
命令更新數(shù)據(jù)庫(kù)(需要root權(quán)限):
再使用 updatedb
命令更新數(shù)據(jù)庫(kù):
updatedb的作用
updatedb
是mlocate
包提供的工具,用于更新系統(tǒng)的文件索引數(shù)據(jù)庫(kù)(/var/lib/mlocate/mlocate.db
)。whereis
、locate
等命令依賴(lài)此數(shù)據(jù)庫(kù)快速查找文件,而非實(shí)時(shí)掃描磁盤(pán)。如果新安裝了軟件(如 Python 源碼),但數(shù)據(jù)庫(kù)未更新,
whereis
可能無(wú)法找到它。
到此這篇關(guān)于Linux基本命令whereis命令詳解的文章就介紹到這了,更多相關(guān)linux whereis命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
linux中編寫(xiě)自己的并發(fā)隊(duì)列類(lèi)(Queue 并發(fā)阻塞隊(duì)列)
這篇文章主要介紹了linux中編寫(xiě)并發(fā)隊(duì)列類(lèi),功能有:并發(fā)阻塞隊(duì)列、有超時(shí)限制、有大小限制2013-12-12Shell腳本實(shí)現(xiàn)線上服務(wù)器之間對(duì)比文件是否一致
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)線上服務(wù)器之間對(duì)比文件是否一致,本文腳本在特殊環(huán)境下使用,需要的朋友可以參考下2014-12-12如何解決jenkins 執(zhí)行shell腳本 sh: ... not f
這篇文章主要介紹了如何解決jenkins 執(zhí)行shell腳本 sh: ... not found的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。2023-06-06利用perl、python、php、shell、sed、awk、c 實(shí)現(xiàn)字符串的翻轉(zhuǎn)
今天心血來(lái)潮,看到下面的題目后延伸了一下,回顧自己以前學(xué)到的一些知識(shí)2014-04-04