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 环境变量中定义的所有路径,它有一套自己的默认搜索路径。
相关推荐
Yana.nice6 分钟前
openssl将证书从p7b转换为crt格式
java·linux
AI逐月11 分钟前
tmux 常用命令总结:从入门到稳定使用的一篇实战博客
linux·服务器·ssh·php
想逃离铁厂的老铁12 分钟前
Day55 >> 并查集理论基础 + 107、寻找存在的路线
java·服务器
小白跃升坊38 分钟前
基于1Panel的AI运维
linux·运维·人工智能·ai大模型·教学·ai agent
跃渊Yuey1 小时前
【Linux】线程同步与互斥
linux·笔记
杨江1 小时前
seafile docker安装说明
运维
舰长1151 小时前
linux 实现文件共享的实现方式比较
linux·服务器·网络
好好沉淀1 小时前
Docker开发笔记(详解)
运维·docker·容器
zmjjdank1ng1 小时前
Linux 输出重定向
linux·运维
路由侠内网穿透.1 小时前
本地部署智能家居集成解决方案 ESPHome 并实现外部访问( Linux 版本)
linux·运维·服务器·网络协议·智能家居