Linux系统之whereis命令的基本使用
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 -h
Usage:
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 version
For 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
环境变量中定义的所有路径,它有一套自己的默认搜索路径。