爲初學者介紹 Linux whereis 命令

為初學者介紹 Linux whereis 命令

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

Linux whereis 命令

whereis 命令可以幫助用戶尋找某一命令的二進制文件,源碼以及幫助頁面。下面是它的格式:

這是這一命令的 man 頁面給出的解釋:

whereis 可以查找指定命令的二進制文件、源文件和幫助文件。 被找到的文件在顯示時,會去掉主路徑名,然後再去掉文件的(單個)尾部擴展名 (如: .c),來源於源代碼控制的 s. 前綴也會被去掉。接下來,whereis 會嘗試在標準的 Linux 位置裡尋找具體程序,也會在由 $PATH 和 $MANPATH 指定的路徑中尋找

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

Q1. 如何用 whereis 命令尋找二進制文件所在位置?

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


[root@leyi ~]# whereis whereis
whereis: /usr/bin/whereis /usr/share/man/man1/whereis.1.gz

需要注意的是,輸出的第一個路徑才是你想要的結果。使用 whereis 命令,同時也會顯示幫助頁面和源碼所在路徑。

Q2. 怎麼在搜索時規定只搜索二進制文件、幫助頁面,還是源代碼呢?

如果你想只搜索,假設說,二進制文件,你可以使用 -b 這一命令行選項。例如:

[root@leyi ~]# whereis -b ls
ls: /usr/bin/ls

類似的, -m 和 -s 這兩個 選項分別對應 幫助頁面和源碼


[root@leyi ~]# whereis -m ls
ls: /usr/share/man/man1/ls.1.gz
[root@leyi ~]# whereis -s ls #沒找到

Q3.如何限制 whereis 命令搜索位置?

默認情況下,whereis 是從由匹配符所定義的硬編碼路徑來尋找文件的。但如果你想的話,你可以用命令行選項來限制搜索。例如,如果你只想在 /usr/bin 尋找二進制文件,你可以用 -B 這一選項來實現,下面的-f是分割搜索路徑和要搜索的文件名

[root@leyi ~]# whereis -B /usr/bin/ -f ls
ls: /usr/share/man/man1/ls.1.gz /usr/bin/ls
[root@leyi ~]# whereis -B /usr/bin/ /usr/loal/bin/ -f ls
ls: /usr/share/man/man1/ls.1.gz /usr/bin/ls

Q4. 如何查看 whereis 的搜索路徑?

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

[root@leyi ~]# whereis -l
bin: /usr/bin
bin: /usr/sbin
bin: /usr/lib
bin: /usr/lib64
bin: /etc
bin: /usr/etc
bin: /usr/games
bin: /usr/local/bin
bin: /usr/local/sbin
...


分享到:


相關文章: