Linux基本命令whereis命令详解

 更新时间:2025年07月07日 10:13:54   作者:咸鱼_要_翻身  
whereis是Linux命令,用于快速定位二进制文件、源代码和手册页,相比which搜索范围更广且依赖数据库提升效率,但需注意数据库更新以确保准确性,本文给大家介绍Linux基本命令whereis命令,感兴趣的朋友一起看看吧

whereis 是 Linux 系统中一个非常有用的命令,用于定位二进制程序、源代码文件和手册页的位置。与 which 命令不同,whereis 不仅能找到可执行文件,还能找到相关的文档和源代码,它也是系统管理员和开发人员在查找命令相关文件时的有用工具,特别是在需要了解命令的完整安装位置时非常实用。

一、基本语法

whereis [选项] 文件名

二、主要功能

whereis 命令会搜索以下类型的文件:

  • 二进制文件(可执行程序)

  • 源代码文件

  • 手册页(man pages)

三、常用选项

选项说明
-b只搜索二进制文件
-m只搜索手册页文件
-s只搜索源代码文件
-u搜索不常见的文件(即没有文档、源代码或二进制文件的命令)
-B指定二进制文件的搜索路径
-M指定手册页的搜索路径
-S指定源代码的搜索路径
-f终止前面的路径列表(与 -B-M-S 一起使用)

四、使用示例

  1. 基本使用 - 查找命令的所有相关文件:

    whereis ls

    输出示例:

  2. 只查找二进制文件

    whereis -b gcc

    输出示例:

  3. 只查找手册页

    whereis -m printf

    输出示例:

  4. 只查找源代码

    whereis -s python

        whereis 的默认行为:如果找不到匹配的文件,它只会返回命令名称后跟冒号 :,表示“未找到”。whereis -s 专门用于查找 源代码文件(source code),但 Python 的源代码通常不会默认安装在标准系统路径中,因此 whereis 可能找不到。

  5. 查找不常见的命令(即没有文档、源代码或二进制文件的命令):

    whereis -u *

  6. 指定搜索路径

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

  • whereis:Linux 命令,用于查找二进制文件、手册页和源代码文件。

  • -B /usr/local/bin:指定只搜索二进制文件,并且限定在 /usr/local/bin 目录下查找。

  • -f:表示终止 -B 指定的路径列表,后面接要查找的命令名(这里是 python)。

  • python:要查找的目标命令。

五、whereis 与 which 的区别(重点)

特性whereiswhich
搜索范围二进制文件、手册页、源代码仅PATH中的可执行文件
显示结果所有相关文件路径第一个找到的可执行文件路径
搜索速度较快(使用数据库)较慢(实时搜索)
适用场景查找命令的所有相关文件确定执行的是哪个版本

六、注意事项

  1. whereis 通常比 which 更快,因为它搜索的是系统预先构建的数据库,而不是实时搜索文件系统。

  2. 在某些系统上,whereis 可能不会找到所有文件,这取决于数据库的更新频率。

  3. 如果找不到预期的文件,可以尝试使用 updatedb 命令更新数据库(需要root权限):

再使用 updatedb 命令更新数据库:

updatedb的作用

  • updatedb 是 mlocate 包提供的工具,用于更新系统的文件索引数据库(/var/lib/mlocate/mlocate.db)。

  • whereislocate 等命令依赖此数据库快速查找文件,而非实时扫描磁盘。

  • 如果新安装了软件(如 Python 源码),但数据库未更新,whereis 可能无法找到它。

到此这篇关于Linux基本命令whereis命令详解的文章就介绍到这了,更多相关linux whereis命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解决bash:/root/.bashrc:Permission denied的问题

    解决bash:/root/.bashrc:Permission denied的问题

    本文主要介绍了解决bash:/root/.bashrc:Permission denied的问题,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • Linux下使用nextcloud搭建个人网盘代码实例

    Linux下使用nextcloud搭建个人网盘代码实例

    这篇文章主要介绍了Linux下使用nextcloud搭建个人网盘代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06
  • bash if条件判断的使用

    bash if条件判断的使用

    本文主要介绍了bash if条件判断的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • Shell脚本编程30分钟入门(小结)

    Shell脚本编程30分钟入门(小结)

    这篇文章主要介绍了Shell脚本编程30分钟入门(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • linux下忘记mysql密码的几种找回方法(推荐)

    linux下忘记mysql密码的几种找回方法(推荐)

    这篇文章主要介绍了linux下忘记mysql密码的几种找回方法,需要的朋友可以参考下
    2017-11-11
  • shell产生随机数七种方法的实现

    shell产生随机数七种方法的实现

    这篇文章主要介绍了shell产生随机数七种方法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Shell判断字符串变量是否为空的方法实现

    Shell判断字符串变量是否为空的方法实现

    本文主要介绍了Shell判断字符串变量是否为空的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Shell脚本查看网卡实时流量

    Shell脚本查看网卡实时流量

    这篇文章主要介绍了Shell脚本查看网卡实时流量,本文直接给出实现代码,需要的朋友可以参考下
    2014-12-12
  • Shell脚本实现的一个简易Web服务器例子分享

    Shell脚本实现的一个简易Web服务器例子分享

    这篇文章主要介绍了Shell脚本实现的一个简易Web服务器例子分享,本文实现的Web服务器非常简单实用,可以在你不想安装nginx、apache等大型WEB服务器时使用,需要的朋友可以参考下
    2014-12-12
  • hbase-shell批量命令执行脚本的方法

    hbase-shell批量命令执行脚本的方法

    今天小编就为大家分享一篇hbase-shell批量命令执行脚本的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06

最新评论