千家信息网

linux下whereis命令的使用方法

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容介绍了"linux下whereis命令的使用方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成
千家信息网最后更新 2026年11月02日linux下whereis命令的使用方法

本篇内容介绍了"linux下whereis命令的使用方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

linux/Unix可以使用 whereis 这个命令来查找某个特定的程序和命令的二进制文件()、源代码和man手册的位置,貌似现在还能看到软件的配置文件的位置(路径)。

命令作用:

查找二进制文件位置
查找软件的配置文件的位置
查找源代码文件位置
查看man手册位置

语法

基本语法如下:

代码如下:

whereis command

OR

代码如下:

whereis program

OR

代码如下:

whereis [options] program

OR

代码如下:

whereis -BMS directory -f command


whereis 使用举例:

查找 date 命令的 可执行文件、源代码和man手册的位置,输入:

代码如下:

$ whereis date


输出如下图:

Animated gif 01: whereis command running on my Debian based server
如何只搜索二进制文件的位置?

使用 -b 参数 :

代码如下:

$ whereis -b date


如何只搜索man手册的位置?

使用 -m 参数:

代码如下:

$ whereis -m date


如何只搜索源代码文件的位置?

使用 -s 参数:

代码如下:

$ whereis -s date

问题:whereis -u参数是有问题的,按照man whereis 的说明,-u的就是搜索那些没有二进制文件或者源代码文件或者man手册的文件的。但是实际测试发现,和这毛关系都没有啊。
man手册上的一个例子:

A file is said to be unusual if it does not have one entry of each requested type. Thus the following example, asks for those files in the current directory which have no documentation(意思是搜索当前目录下,没有man文档的文件):

代码如下:

$ whereis -m -u *


我们先cd /bin ,然后执行上面的命令,会发现 whereis -m -u * 和 where -m * 结果是一模一样的。-u的功能完全没体现出来。而且与man文档描述的完全不符,因为/bin目录下的文件都是有man文档的,按man文档的意思,结果应该是空的,但是结果却不是空的。
如何限制搜索的路径?

使用下面的参数限制对应的搜索路径:

-B /path/to/dir : 限制在指定的目录搜索二进制文件.
-M /path/to/dir : 限制在指定的目录搜索man手册文件.
-S /path/to/dir : 限制在指定的目录搜索二进制文件.

在使用了-B , -M , -S 任意一个参数时,必须加上 -f 参数, 然后指定要搜索的文件名.

实例如下:只在 /bin 目录下搜索 ls 和gcc的:

代码如下:

$ whereis -B /bin -f ls gcc


结果如下:

代码如下:

ls: /bin/ls /usr/share/man/man1/ls.1.gz
gcc:


可以看到,gcc在/bin目录下搜索二进制文件是没有结果的,说明gcc的二进制文件不在 /bin目录下。

问题:但是,我发现,虽然/bin目录下没有gcc二进制文件,但是使用上面的命令照样有输出,而不是像我翻译的这篇文章那样。

实例:这也是man手册上的例子,经测试,这里 -u参数还是和man手册上描述的不符合。

查找所有/usr/bin目录下的,其man文档不在 /usr/man/man1/ ,且其源代码文件不在/usr/src/ 的 文件, 输入:

代码如下:

# cd /usr/bin
# whereis -u -ms -M /usr/man/man1 -S /usr/src -f *


测试:

代码如下:

#cd /bin
#whereis -u -m -M /root -f *


按man手册的意思,这行命令的功能是:查找 所有/bin下,其man文档不在/root的文件。所以应该是有结果输出的,因为/root目录下根本没有任何文件的man手册。可以,惊奇的发现,结果居然是空的。

"linux下whereis命令的使用方法"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

文件 代码 搜索 手册 目录 位置 命令 二进制 参数 结果 文档 源代码 限制 输出 意思 路径 问题 面的 测试 使用方法 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海喔噻互联网科技有限公司 北京路客互联网科技有限公司 云信互联网科技有限公司 互联网中国科技 没上市的科技互联网公司 友谊互联网络科技 人人互联网科技是培训 中正互联网科技招聘 西藏七维空间互联网科技有限公司 深圳育鹏互联网科技有限公司招聘 互联网新科技动漫ppt素材 翼展科技 首家互联网医院 特约风豹互联网科技为什么扣费 广州互联网高科技取餐柜 广州燕处互联网科技有限公司 福州德业互联网科技 互联网科技新闻 保山互联网科技靠谱吗 广州三三互联网科技有限公司 好易买互联网科技 江苏根荣互联网科技 互联网金融科技创新 无线互联网科技 承德科技产业互联网发展 成都铂石互联网科技做什么的 互联网科技扶贫时间 广东工业互联网大赛深圳学泰科技 互联网科技手机排行榜 北京瑞云互联网科技有限公司 前海云享互联网科技
0