当前位置: 首页 > news >正文

Linux基本命令篇 —— whereis命令

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

目录

一、基本语法

二、主要功能

三、常用选项

四、使用示例

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

六、注意事项

updatedb 的作用


一、基本语法

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 可能无法找到它。

http://www.dtcms.com/a/264950.html

相关文章:

  • 利用 Claude Opus 4 自动化 GitHub 工作流:从安装到实战详解
  • 新版本AI数字人全能管家,即将推出,还是开源免费。
  • [附源码+数据库+毕业论文+答辩PPT]基于Spring+MyBatis+MySQL+Maven+vue实现的中小型企业财务管理系统,推荐!
  • 多个单片机简单通讯框架
  • GO Web 框架 Gin 完全解析与实践
  • 数据结构与算法 第三章 栈和队列
  • 第一章 快速入门
  • DPI深度检索原理和架构
  • 人脸活体识别3:C/C++实现人脸眨眼 张嘴 点头 摇头识别(可实时检测)
  • 创客匠人解构知识付费爆单密码:产品力打造与 IP 变现的深度耦合
  • Kafka高级特性深度解析:构建企业级流处理平台的核心技术
  • IP地理定位技术综述:理论、方法与应用创新(三)
  • pdf 合并 python实现(已解决)
  • Qt Quick 与 QML(五)qml中的布局
  • 基于图神经网络的ALS候选药物预测模型设计与实现
  • Point Transformer V3(PTv3)
  • AI:什么是Agent
  • mysql查看数据库
  • 自主/智能的本质内涵及其相互关系
  • QT6 源(145)模型视图架构里的表格视图 QTableView 篇一:先学习属性,再 public 权限的成员函数
  • 胡兵全新时尚生活频道上线,开启多维生活美学新篇
  • 胡兵创立时尚生活频道《HUBING SELECTS胡兵智选》担任主编深耕智选生活
  • Ragflow 前后端登录逻辑
  • 存储过程在现代编程中的作用与演变:衰退与重塑
  • 网络编程学习路线
  • MySQL使用C语言连接
  • 全球双G品牌LOGO深度解码:从经典交织到科技赋能的符号革命
  • 大语言模型(LLM)专业术语汇总
  • 公用LCU屏的功能、应用场景
  • 【Java面试】Redis的poll函数epoll函数区别?