主题
which/whereis命令
在Linux系统中,which 和 whereis 是两个用于查找文件和命令路径的命令,但它们的功能和使用场景有所不同。以下是它们的主要区别:
which
功能:
which命令用于查找并显示某个命令的绝对路径。它只会在用户的$PATH环境变量指定的目录中搜索。
用途:
- 通常用于确定某个命令的位置,或者验证某个命令是否在当前环境变量中可用。
行为:
which只会返回第一个找到的匹配项,即使有多个相同名称的命令。which支持参数选项,比如-a(显示所有匹配项)和--skip-alias(跳过别名)。
示例:这将会返回系统
PATH中第一个找到的python命令的路径。
bash
which python1
whereis
功能:
whereis命令用于查找二进制文件、源代码文件和手册页的位置。它同样在标准系统目录中搜索,但不仅仅局限于$PATH。
用途:
- 用于查找一个命令的所有相关文件,包括二进制可执行文件、源代码文件和手册页。
行为:
whereis会返回所有找到的文件路径,不区分先后顺序。whereis没有提供太多选项,但它在查找文档和源代码文件时特别有用。
示例:这将会返回
ls命令的二进制文件、源代码文件和手册页的路径。
bash
whereis ls1
对比总结
查找范围:
which只在$PATH环境变量指定的目录中查找。whereis在标准系统目录中查找,包括二进制文件目录、源代码目录和手册页目录。
输出内容:
which返回一个命令的绝对路径(通常只有第一个找到的)。whereis返回命令的二进制文件、源代码文件和手册页的所有路径。
使用场景:
使用
which来确认一个命令是否存在以及它的路径。使用
whereis来查找一个命令的所有相关文件,包括源代码和文档。
这两个命令在实际使用中相辅相成,可以帮助用户更全面地了解系统中的命令和文件。