Linux基本命令whereis命令详解
作者:咸鱼_要_翻身
whereis是 Linux 系统中一个非常有用的命令,用于定位二进制程序、源代码文件和手册页的位置。与which命令不同,whereis不仅能找到可执行文件,还能找到相关的文档和源代码,它也是系统管理员和开发人员在查找命令相关文件时的有用工具,特别是在需要了解命令的完整安装位置时非常实用。
一、基本语法
whereis [选项] 文件名
二、主要功能
whereis 命令会搜索以下类型的文件:
二进制文件(可执行程序)
源代码文件
手册页(man pages)
三、常用选项
| 选项 | 说明 |
|---|---|
-b | 只搜索二进制文件 |
-m | 只搜索手册页文件 |
-s | 只搜索源代码文件 |
-u | 搜索不常见的文件(即没有文档、源代码或二进制文件的命令) |
-B | 指定二进制文件的搜索路径 |
-M | 指定手册页的搜索路径 |
-S | 指定源代码的搜索路径 |
-f | 终止前面的路径列表(与 -B, -M, -S 一起使用) |
四、使用示例
基本使用 - 查找命令的所有相关文件:
whereis ls
输出示例:

只查找二进制文件:
whereis -b gcc
输出示例:

只查找手册页:
whereis -m printf
输出示例:

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

指定搜索路径:
whereis -B /usr/local/bin -f python

whereis:Linux 命令,用于查找二进制文件、手册页和源代码文件。-B /usr/local/bin:指定只搜索二进制文件,并且限定在/usr/local/bin目录下查找。-f:表示终止-B指定的路径列表,后面接要查找的命令名(这里是python)。python:要查找的目标命令。
五、whereis 与 which 的区别(重点)
| 特性 | whereis | which |
|---|---|---|
| 搜索范围 | 二进制文件、手册页、源代码 | 仅PATH中的可执行文件 |
| 显示结果 | 所有相关文件路径 | 第一个找到的可执行文件路径 |
| 搜索速度 | 较快(使用数据库) | 较慢(实时搜索) |
| 适用场景 | 查找命令的所有相关文件 | 确定执行的是哪个版本 |
六、注意事项
whereis通常比which更快,因为它搜索的是系统预先构建的数据库,而不是实时搜索文件系统。在某些系统上,
whereis可能不会找到所有文件,这取决于数据库的更新频率。如果找不到预期的文件,可以尝试使用
updatedb命令更新数据库(需要root权限):
再使用 updatedb 命令更新数据库:

updatedb的作用
updatedb是mlocate包提供的工具,用于更新系统的文件索引数据库(/var/lib/mlocate/mlocate.db)。whereis、locate等命令依赖此数据库快速查找文件,而非实时扫描磁盘。如果新安装了软件(如 Python 源码),但数据库未更新,
whereis可能无法找到它。
到此这篇关于Linux基本命令whereis命令详解的文章就介绍到这了,更多相关linux whereis命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!







