这三个命令都是Linux系统中用于查找信息的工具,但各有不同的用途和特点。让我们来详细比较它们:
which
命令用途:查找可执行文件的完整路径(在PATH环境变量中查找)
特点: - 只搜索PATH环境变量中列出的目录 - 主要用于查找可执行命令的位置 - 返回第一个匹配的结果
示例:
$ which python
/usr/bin/python
whereis
命令用途:查找命令的二进制文件、源代码和手册页位置
特点: - 搜索标准Linux目录(不仅仅是PATH) - 可以同时显示二进制文件、源代码和手册页的位置 - 比which搜索范围更广
示例:
$ whereis python
python: /usr/bin/python /usr/lib/python2.7 /usr/include/python2.7 /usr/share/man/man1/python.1.gz
whatis
命令用途:显示命令的简短描述(从手册页中提取)
特点: - 不显示文件位置,只显示命令的简要说明 - 依赖于已构建的whatis数据库 - 用于快速了解命令的用途
示例:
$ whatis python
python (1) - an interpreted, interactive, object-oriented programming language
命令 | 搜索内容 | 搜索范围 | 主要用途 |
---|---|---|---|
which |
可执行文件 | PATH环境变量中的目录 | 查找命令的实际执行文件位置 |
whereis |
二进制文件、源代码、手册页 | 标准系统目录 | 查找命令相关所有文件位置 |
whatis |
命令描述 | whatis数据库 | 快速了解命令用途 |
which
whereis
whatis
sudo mandb
whatis ls; whereis ls; which ls
whereis
的 -b
、-m
、-s
选项可以分别限制只搜索二进制文件、手册页或源代码。