Linux 常用命令 - whereis 【定位指定命令的可执行文件、源代码文件和手册页文件的位置】

whereis命令是Linux系统中用于查找指定命令的可执行文件、源代码和手册页位置的工具。与which命令不同,whereis可以搜索更多类型的文件,并在系统目录中快速定位。本文介绍了whereis的使用方式、常用选项、文件搜索路径以及参考示例,帮助用户更好地理解和使用whereis。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

whereis 源于英语单词 “where is”,意为 “在哪里”。与 which 仅能定位可执行文件的路径不同,这个命令可用于定位指定指令的可执行文件、源代码文件和手册页文件的位置。通过在系统目录中快速搜索这些文件,whereis 能帮助用户找到特定程序及其相关文件的路径。

使用方式

whereis [选项] [-BMS 目录... -f] 命令名...

常用选项

  • -b:只搜索二进制文件。
  • -m:只搜索手册文件。
  • -s:只搜索源码文件。
  • -u:只显示具有 “异常” 条目的命令。如果一个命令对于指定的请求类型没有唯一(没有或有多个)的条目,它就被认为是异常的。如一个命令具有多个二进制文件,多个手册页或是缺少一类或多类文件,那么这个命令就是异常的。
  • -B list:在 list 指定的目录中搜索二进制文件。多个目录用空格分隔。必须结合 -f 使用。
  • -M list:在 list 指定的目录中搜索手册文件。多个目录用空格分隔。必须结合 -f 使用。
  • -S list:在 list 指定的目录中搜索源码文件,多个目录用空格分隔。必须结合 -f 使用。
  • -f:终止目录列表,并标记为文件名列表的开始。当使用 -B-M-S 时必须使用 -f 选项。
  • -l:输出 whereis 命令当前使用的有效查找路径列表。当没有指定 -B-M-S 选项时,-l 会输出程序在系统上找到的硬编码路径(whereis 默认使用的路径)。
  • -h --help:显示帮助信息。
  • -V --version:显示版本信息。

文件搜索路径

默认情况下,whereis 会尝试在硬编码路径(在 whereis 源码中写死的)中查找文件,这些路径是通过通配符模式定义的。该命令还会尝试使用环境变量 $PATH$MANPATH 的内容作为默认搜索路径。如果你想知道哪些路径是被搜索的,最简单的方式就是使用 -l 选项。同时 -B-M-S 的效果也会通过 -l 显示出来。

参考示例

1. 查找 ls 命令的所有相关文件

whereis ls

输出如下:

jay@jaylinuxlenovo:~$ whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

2. 仅查找 gcc 的可执行文件

whereis -b gcc

使用 -b 选项将搜索范围限制为可执行文件:

jay@jaylinuxlenovo:~$ whereis -b gcc
gcc: /usr/bin/gcc /usr/lib/gcc /usr/share/gcc

3. 仅查找 man 命令的手册文件

whereis -m man

使用 -m 选项将搜索范围限制为手册文件:

jay@jaylinuxlenovo:~$ whereis -m man
man: /usr/share/man/man7/man.7.gz /usr/share/man/man1/man.1.gz

4. 在指定路径 /usr/local/bin 中查找 node 的二进制文件

whereis -B /usr/local/bin/ -f node

使用 -B 指定路径查找 node 的二进制文件,同时通过 -f 分隔路径和所要查询的命令名:

jay@jaylinuxlenovo:~$ whereis -B /usr/local/bin/ -f node
node: /usr/share/man/man1/node.1.gz /usr/local/bin/node

注意事项

  • whereis 命令依赖于系统的文件结构和路径设置,可能会因为路径配置不同而产生不同结果。
  • 使用 -B-M-S 参数时需要带上 -f 参数,否则会提示错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WKJay_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值