Linux系統之whereis命令的基本使用
- 一、whereis命令介紹
- 二、whereis命令的使用幫助
- 2.1 whereis命令的幫助信息
- 2.2 whereis命令幫助解釋
- 三、whereis命令的基本使用
- 3.1 查找命令的位置
- 3.2 僅查找二進制文件
- 3.3 僅查找手冊頁
- 3.4 輸出實際使用的查找路徑
- 3.5 指定自定義搜索路徑
- 四、注意事項
一、whereis命令介紹
whereis 命令在 Linux 系統中用于查找二進制文件、源代碼文件和幫助手冊頁的位置。它主要搜索標準的可執行文件路徑、特定配置文件路徑以及手冊頁路徑,對于定位系統命令或工具非常有用。
二、whereis命令的使用幫助
2.1 whereis命令的幫助信息
在命令行終端中,我們使用
-h
選項查詢whereis命令的基本幫助信息。
[root@openEuler ~]# whereis -hUsage:whereis [options] [-BMS <dir>... -f] <name>Locate the binary, source, and manual-page files for a command.Options:-b search only for binaries-B <dirs> define binaries lookup path-m search only for manuals and infos-M <dirs> define man and info lookup path-s search only for sources-S <dirs> define sources lookup path-f terminate <dirs> argument list-u search for unusual entries-g interpret name as glob (pathnames pattern)-l output effective lookup paths-h, --help display this help-V, --version display versionFor more details see whereis(1).
2.2 whereis命令幫助解釋
用法:
whereis [選項] [-BMS <目錄>... -f] <名稱>
命令功能:
- 查找命令的二進制文件、源文件和手冊頁文件的位置。
選項說明:
-b
:僅查找二進制文件。-B <目錄>
:指定查找二進制文件的路徑。-m
:僅查找手冊頁和信息文件。-M <目錄>
:指定查找手冊頁和信息文件的路徑。-s
:僅查找源代碼文件。-S <目錄>
:指定查找源代碼文件的路徑。-f
:表示目錄參數列表的結束。-u
:查找不符合常規的條目,即那些沒有對應的二進制文件、手冊頁或源文件的項目。-g
:將名稱解釋為路徑名模式(globbing pattern)。-l
:輸出實際使用的查找路徑。
幫助和版本信息:
-h, --help
:顯示幫助信息。-V, --version
:顯示版本信息。
三、whereis命令的基本使用
3.1 查找命令的位置
查找 httpd的位置,包括其二進制文件、源碼文件和手冊頁。
[root@openEuler ~]# whereis httpd
httpd: /usr/sbin/httpd /usr/lib64/httpd /etc/httpd /usr/share/httpd /usr/share/man/man8/httpd.8.gz
3.2 僅查找二進制文件
可以使用 -b 選項,僅查找二進制文件。
[root@openEuler ~]# whereis -b httpd
httpd: /usr/sbin/httpd /usr/lib64/httpd /etc/httpd /usr/share/httpd
3.3 僅查找手冊頁
可以使用 -m 選項,查看httpd的手冊頁。
[root@openEuler ~]# whereis -m httpd
httpd: /usr/share/man/man8/httpd.8.gz
3.4 輸出實際使用的查找路徑
使用-l選項,輸出實際使用的查找路徑,如下所示:
[root@openEuler ~]# whereis -l
bin: /usr/bin
bin: /usr/sbin
bin: /usr/lib
bin: /usr/lib64
bin: /etc
bin: /usr/games
bin: /usr/local/bin
bin: /usr/local/sbin
bin: /usr/local/etc
bin: /usr/local/lib
bin: /usr/local/games
bin: /usr/include
bin: /usr/local
bin: /usr/libexec
bin: /usr/share
bin: /opt/containerd/bin
man: /usr/share/man/es
man: /usr/share/man/man0p
man: /usr/share/man/zh_CN
man: /usr/share/man/da
man: /usr/share/man/man9
man: /usr/share/man/man4x
man: /usr/share/man/man3
man: /usr/share/man/man5x
man: /usr/share/man/man6x
man: /usr/share/man/pt
man: /usr/share/man/man6
man: /usr/share/man/mann
man: /usr/share/man/tr.UTF-8
man: /usr/share/man/man7x
man: /usr/share/man/it
man: /usr/share/man/man7
man: /usr/share/man/cs
man: /usr/share/man/man8
man: /usr/share/man/man1x
man: /usr/share/man/nl
man: /usr/share/man/tr
man: /usr/share/man/uk
man: /usr/share/man/man8x
man: /usr/share/man/ru
man: /usr/share/man/sv
man: /usr/share/man/pl
man: /usr/share/man/man3p
man: /usr/share/man/man2
man: /usr/share/man/man4
man: /usr/share/man/tr.ISO8859-9
man: /usr/share/man/id
man: /usr/share/man/man1p
man: /usr/share/man/sr
man: /usr/share/man/ja
man: /usr/share/man/man2x
man: /usr/share/man/man5
man: /usr/share/man/ro
man: /usr/share/man/man9x
man: /usr/share/man/de
man: /usr/share/man/sk
man: /usr/share/man/ko
man: /usr/share/man/man3x
man: /usr/share/man/pt_BR
man: /usr/share/man/fr
man: /usr/share/man/ca
man: /usr/share/man/man1
man: /usr/share/info
src: /usr/src/debug
src: /usr/src/kernels
3.5 指定自定義搜索路徑
如果有特定的路徑想要搜索,可以使用 -B, -M, 或 -S 來定義這些路徑。例如,要在一個非標準目錄/root/node-v14.17.0-linux-x64/bin 中查找node 的二進制文件:
[root@openEuler ~]# whereis -B /root/node-v14.17.0-linux-x64/bin -b node
node: /root/node-v14.17.0-linux-x64/bin/node
四、注意事項
- 使用
-b
,-m
, 或-s
選項可分別限制搜索僅限于二進制文件、手冊頁或源代碼文件。 - 如果要查找非標準位置的文件,請結合
-B
,-M
, 或-S
選項自定義搜索路徑。 - 當命令未找到預期的結果時,可能是因為程序不是從標準路徑安裝的,考慮使用
find
或locate
命令代替。 - 使用
-u
選項可以幫助發現那些缺少了通常應關聯的文件(如手冊頁或二進制)的不尋常條目。 - 對于有多個版本或同名但不同用途的命令,
whereis
可能會列出所有匹配項,注意甄別所需的具體路徑。 - 記住
whereis
不會搜索$PATH
環境變量中定義的所有路徑,它有一套自己的默認搜索路徑。