Linux系统之whereis命令的基本使用

Linux系统之whereis命令的基本使用

  • 一、whereis命令介绍
  • 二、whereis命令的使用帮助
    • [2.1 whereis命令的帮助信息](#2.1 whereis命令的帮助信息)
    • [2.2 whereis命令帮助解释](#2.2 whereis命令帮助解释)
  • 三、whereis命令的基本使用
    • [3.1 查找命令的位置](#3.1 查找命令的位置)
    • [3.2 仅查找二进制文件](#3.2 仅查找二进制文件)
    • [3.3 仅查找手册页](#3.3 仅查找手册页)
    • [3.4 输出实际使用的查找路径](#3.4 输出实际使用的查找路径)
    • [3.5 指定自定义搜索路径](#3.5 指定自定义搜索路径)
  • 四、注意事项

一、whereis命令介绍

whereis 命令在 Linux 系统中用于查找二进制文件、源代码文件和帮助手册页的位置。它主要搜索标准的可执行文件路径、特定配置文件路径以及手册页路径,对于定位系统命令或工具非常有用。

二、whereis命令的使用帮助

2.1 whereis命令的帮助信息

在命令行终端中,我们使用-h选项查询whereis命令的基本帮助信息。

bash 复制代码
[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的位置,包括其二进制文件、源码文件和手册页。

bash 复制代码
[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 选项,仅查找二进制文件。

bash 复制代码
[root@openEuler ~]# whereis -b httpd
httpd: /usr/sbin/httpd /usr/lib64/httpd /etc/httpd /usr/share/httpd

3.3 仅查找手册页

可以使用 -m 选项,查看httpd的手册页。

bash 复制代码
[root@openEuler ~]# whereis -m httpd
httpd: /usr/share/man/man8/httpd.8.gz

3.4 输出实际使用的查找路径

使用-l选项,输出实际使用的查找路径,如下所示:

bash 复制代码
[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 的二进制文件:

bash 复制代码
[root@openEuler ~]# whereis -B /root/node-v14.17.0-linux-x64/bin  -b node
node: /root/node-v14.17.0-linux-x64/bin/node

四、注意事项

  1. 使用 -b, -m, 或 -s 选项可分别限制搜索仅限于二进制文件、手册页或源代码文件。
  2. 如果要查找非标准位置的文件,请结合 -B, -M, 或 -S 选项自定义搜索路径。
  3. 当命令未找到预期的结果时,可能是因为程序不是从标准路径安装的,考虑使用 findlocate 命令代替。
  4. 使用 -u 选项可以帮助发现那些缺少了通常应关联的文件(如手册页或二进制)的不寻常条目。
  5. 对于有多个版本或同名但不同用途的命令,whereis 可能会列出所有匹配项,注意甄别所需的具体路径。
  6. 记住 whereis 不会搜索 $PATH 环境变量中定义的所有路径,它有一套自己的默认搜索路径。
相关推荐
yaoxtao1 小时前
Docker的镜像
运维·docker·容器
不一样的信息安全1 小时前
Docker环境下Nacos的保姆级安装教程
运维·docker·容器
小Tomkk1 小时前
Docker 部署 Starrocks 教程
运维·starrocks·docker·容器
玥轩_5212 小时前
《Linux服务与安全管理》| 数据库服务器安装和配置
linux·运维·服务器·数据库·安全·网络安全·redhat
深度Linux2 小时前
探秘Linux IO虚拟化:virtio的奇幻之旅
linux·c/c++·virtio·虚拟化技术
老大白菜2 小时前
在 Ubuntu 中使用 Conda 创建和管理虚拟环境
linux·ubuntu·conda
zhkmxx9303 小时前
docker pull Error response from daemon问题
运维·docker·容器
捡破烂的加菲猫3 小时前
Zookeeper入门部署(单点与集群)
linux·分布式·zookeeper
晚秋贰拾伍3 小时前
每天学点小知识之设计模式的艺术-策略模式
运维·设计模式·系统安全·运维开发·策略模式