Linux常用命令学习笔记:whereis

1. 命令概述

  • 命令名称whereis
  • 核心功能:查找命令的二进制文件、源码文件和帮助文档
  • 主要用途:快速定位命令的所有相关文件

2. 语法格式

whereis [选项] 命令名...

3. 常用选项

选项说明
-b只查找二进制文件
-m只查找帮助文档
-s只查找源码文件
-u查找不常见的文件
-B指定二进制文件搜索目录
-M指定帮助文档搜索目录
-S指定源码文件搜索目录
-f终止目录列表
--help显示帮助信息
--version显示版本信息

4. 常用实例详解

(1) 基本用法

# 查找 ls 命令的所有相关文件
whereis ls
# 输出:ls: /bin/ls /usr/share/man/man1/ls.1.gz

# 查找多个命令
whereis ls cp mv
# 输出:
# ls: /bin/ls /usr/share/man/man1/ls.1.gz
# cp: /bin/cp /usr/share/man/man1/cp.1.gz
# mv: /bin/mv /usr/share/man/man1/mv.1.gz

# 查找 python 命令
whereis python
# 输出:python: /usr/bin/python /usr/lib/python2.7 /usr/bin/python2.7 /usr/share/man/man1/python.1.gz

(2) 指定查找类型

# 只查找二进制文件
whereis -b ls
# 输出:ls: /bin/ls

# 只查找帮助文档
whereis -m ls
# 输出:ls: /usr/share/man/man1/ls.1.gz

# 只查找源码文件
whereis -s ls
# 输出:ls: (无输出,表示没有源码文件)

(3) 指定搜索目录

# 在指定目录查找二进制文件
whereis -B /usr/bin -f ls

# 在指定目录查找帮助文档
whereis -M /usr/share/man -f ls

# 在多个目录查找
whereis -B /usr/bin:/usr/local/bin -f python

(4) 查找不常见文件

# 查找不常见的文件类型
whereis -u ls

# 查找没有帮助文档的命令
whereis -u -m ls

5. 实际应用场景

场景一:快速定位命令文件

# 查找常用命令的位置
whereis bash
whereis vim
whereis git
whereis docker

# 查找系统工具
whereis systemctl
whereis journalctl
whereis apt-get

场景二:查找帮助文档

# 查找命令的帮助文档
whereis -m ls
whereis -m cp
whereis -m mv

# 查看帮助文档路径
man -w ls

(3) 查找源码文件

# 查找命令的源码文件
whereis -s bash
whereis -s vim
whereis -s python

# 如果找到源码,可以查看源码目录
ls -la $(whereis -s bash | cut -d' ' -f2)

(4) 检查命令完整性

# 检查命令是否完整安装
whereis nginx
# 输出:nginx: /usr/sbin/nginx /etc/nginx /usr/lib/nginx /usr/share/nginx /usr/share/man/man8/nginx.8.gz

# 检查是否缺少帮助文档
whereis -m nginx

6. 与其他命令的区别

命令特点适用场景
whereis查找二进制、源码、帮助文档快速定位命令所有相关文件
which查找可执行文件路径确定命令执行位置
locate通过数据库快速查找文件快速查找任何文件
find实时查找文件精确查找、条件查找

7. 注意事项

  1. 搜索目录whereis 只在标准目录中查找(如 /bin/usr/bin/usr/share/man
  2. 数据库依赖whereis 使用预构建的数据库,可能找不到新安装的命令
  3. 更新数据库:使用 updatedb 命令更新数据库
  4. 源码文件:不是所有命令都提供源码文件
  5. 返回值:找到文件返回 0,未找到返回 1

8. 常见问题解决

(1) 命令未找到

# 更新数据库
sudo updatedb

# 再次查找
whereis new_command

# 检查命令是否安装
which new_command

(2) 缺少帮助文档

# 安装帮助文档
sudo apt-get install manpages
sudo apt-get install manpages-dev

# 再次查找
whereis -m ls

(3) 源码文件缺失

# 安装源码包
sudo apt-get source package_name

# 查找源码文件
whereis -s command_name

(4) 自定义目录查找

# 在自定义目录查找
whereis -B /usr/local/bin -f custom_command

# 在多个目录查找
whereis -B /usr/bin:/usr/local/bin:/opt/bin -f command

核心要点总结

  • whereis 用于查找命令的二进制文件、源码文件和帮助文档
  • 常用选项-b(二进制)、-m(帮助文档)、-s(源码)、-B(指定目录)
  • 查找范围:只在标准系统目录中查找
  • 实际应用:快速定位命令文件、查找帮助文档、检查命令完整性
  • 数据库依赖:需要定期更新数据库(updatedb
  • 性能优势:比 find 命令更快,因为使用预构建数据库

whereis 命令是系统管理和开发调试的实用工具,可以快速定位命令的所有相关文件。


作 者:南烛
链 接:https://www.itnotes.top/archives/311
来 源:IT笔记
文章版权归作者所有,转载请注明出处!


上一篇
下一篇