whereis命令只能用于程序名的搜索,而且只搜索二進(jìn)制文件(參數(shù)-b)、man說明文件(參數(shù)-m)和源代碼文件(參數(shù)-s)。如果省略參數(shù),則返回所有信息。
和find相比,whereis查找的速度非常快,這是因為linux系統(tǒng)會將 系統(tǒng)內(nèi)的所有文件都記錄在一個數(shù)據(jù)庫文件中,當(dāng)使用whereis和下面即將介紹的locate時,會從數(shù)據(jù)庫中查找數(shù)據(jù),而不是像find命令那樣,通 過遍歷硬盤來查找,效率自然會很高。
但是該數(shù)據(jù)庫文件并不是實時更新,默認(rèn)情況下時一星期更新一次,因此,在用whereis和locate 查找文件時,有時會找到已經(jīng)被刪除的數(shù)據(jù),或者剛剛建立文件,卻無法查找到,原因就是因為數(shù)據(jù)庫文件沒有被更新。
whereis [-bmsu] [BMS 目錄名 -f ] 文件名
whereis命令是定位可執(zhí)行文件、源代碼文件、幫助文件在文件系統(tǒng)中的位置。這些文件的屬性應(yīng)屬于原始代碼,二進(jìn)制文件,或是幫助文件。whereis 程序還具有搜索源代碼、指定備用搜索路徑和搜索不尋常項的能力。
-b - 定位可執(zhí)行文件。-m - 定位幫助文件。-s - 定位源代碼文件。-u - 搜索默認(rèn)路徑下除可執(zhí)行文件、源代碼文件、幫助文件以外的其它文件。-B - 指定搜索可執(zhí)行文件的路徑。-M - 指定搜索幫助文件的路徑。-S - 指定搜索源代碼文件的路徑。命令:
whereis python
執(zhí)行演示及輸出:
[yiibai@localhost ~]$ whereis python
python: /usr/bin/python /usr/bin/python2.7 /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz
[yiibai@localhost ~]$ whereis git
git:[yiibai@localhost ~]$
說明:
git沒安裝,找不出來,python安裝了,所以找出了很多相關(guān)文件
命令:
whereis -b python
執(zhí)行演示及輸出:
[yiibai@localhost ~]$ whereis -b python
python: /usr/bin/python /usr/bin/python2.7 /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7