whereis是一个用来查找给定命令的二进制文件,源代码文件,man手册文件的命令。
如何使用whereis命令
whereis命令的基本语法如下:
1
whereis [OPTIONS] FILE_NAME...
当不带有任何参数时,whereis将搜索相关命令的二进制文件,源代码及man手册文件。
默认,whereis是在环境变量中定义的路径和目录中搜索命令文件。使用-l选项可以看到whereis命令搜索的目录都有哪些。
1
whereis -l
想要获取有关bash命令的信息,可以使用如下命令:
1
whereis bash
输出:
1
bash: /bin/bash /etc/bash.bashrc /usr/share/man/man1/bash.1.gz
输出内容中,/bin/bash是二进制文件的路径,/etc/bash.bashrc是源代码文件, /usr/share/man/man1/bash.1.gz是手册文件的位置。
当搜索的命令不存在时,whereis将只打印命令名称。
跟which命令一样,可以指定多个参数。
1
whereis netcat uptime
下面是输出内容
1
2
netcat: /bin/netcat /usr/share/man/man1/netcat.1.gz
uptime: /usr/bin/uptime /usr/share/man/man1/uptime.1.gz
要只想搜索命令的二进制文件,可以用-p选项。 例如,要查找ping命令的位置,可使用如下命令:
1
whereis -b ping
输出:
1
ping: /bin/ping
只想查特定命令的二进制文件的位置时,建议使用which或type命令。
如果只想查看命令的源代码文件时,可使用-s选项。
1
whereis -s command
当源代码文件存在时,将打印出其路径。
使用-m选项时,只会查man文件位置。
1
whereis -m command
想要限制whereis命令要查找的目录时,二进制文件用-B选项,手册文件用-M选项,源代码文件用-S选项。每个选项都是,接收以空格分隔的目录的绝对路径列表。而且目录列表必须以-f选项终止。
1
whereis -b -B /bin -f cp
输出:
1
cp: /bin/cp
-u选项是用来搜索异常条目的,如果一个命令对应的请求类型(二进制文件,源代码,手册)数量不是1个的时候(没有或有多个),被看作为异常条目。
例如,想要搜索/bin目录中没有文档或具有多个文档的所有二进制文件,可执行:
1
2
cd /bin
whereis -m -u *
当通配符(*)在-f选项后面时,表示当前工作目录中(/bin)的所有文件。
以上介绍了用whereis命令查找二进制文件,源代码,手册的方法。