Linux 中的which、whereis、whatis:有什么区别?
对于 Linux 新手来说,which、whereis 和 Whatis 命令可能听起来很相似,但它们比您想象的有更多不同。
您可能在 Linux 上多次使用过which、whereis 和whatis 命令。所有三个命令都可以帮助您查找有关其他 Linux 命令的信息。这些命令看起来很相似,但它们确实有一些区别。
以下是 Linux 上的which、whereis和whatis命令的详细比较。
哪个命令
某些命令具有位于不同目录中的多个二进制可执行文件。当您运行命令时,shell 会在 PATH 环境变量中指定的目录中搜索其可执行文件。
要了解 PATH 环境变量中有哪些目录,请在 Linux 上打开终端并运行以下命令:
echo $PATH
您还可以手动将目录添加到 PATH 环境变量中。
当 shell 找到第一个可执行路径时,它就会执行它。在 Linux 中使用 which 命令,您可以识别该可执行文件的路径。
当您的系统上安装了同一程序的两个不同版本或两个具有相同名称的不同程序时,这非常有用。使用which命令,你可以找到哪一个将被首先执行。
这是which命令的语法:
which [option] [command]
例如,要检查 tar 命令的实际路径,您可以键入:
which tar
此命令将显示在 PATH 中为 tar 命令找到的第一个可执行路径,即 /usr/bin。这意味着每当您运行 tar 命令时,shell 都会执行位于 /usr/bin 目录中的二进制文件。
要显示命令的所有可用可执行路径,请使用带有 -a 选项的 which 命令:
which -a tar
您还可以一次显示多个命令的可执行路径,如下所示:
which [command1] [command2] [command3]
whereis 命令
whereis 命令显示与指定命令关联的二进制文件、源文件和手册页文件的路径。与 which 命令不同,它不仅在 ` PATH 中搜索可执行文件,而且还在 $MANPATH 和其他预定义位置中搜索。
如果没有任何命令行选项,whereis 命令将显示命令的二进制文件、源文件和手册页文件:
whereis tar
要仅显示二进制文件路径,请使用 -b 选项:
whereis -b tar
要仅显示源文件,请使用 -s 标志:
whereis -s tar
要仅显示手册页,请使用 -m 选项:
whereis -m tar
什么是命令
Whatis 命令提供给定 Linux 命令的一行描述。它从命令的手册页中找到此信息。
例如,要查找 tar 命令的作用,请运行:
whatis tar
您还可以使用以下命令同时查找有关多个命令的信息:
whatis ls cp mkdir cat head
which 与 whereis 与 Whatis:有什么区别?
如果您要查找在 shell 中运行命令时执行的二进制文件的路径,请使用 which 命令。然而,如果您正在查找命令的源代码、二进制文件和手册页,请使用 whereis。
whereis 命令列出了所有二进制可执行文件,而 which 命令仅显示当您在 shell 中键入所述命令时执行的第一个可执行文件。
which 命令在 PATH 变量中执行搜索,而 whereis 命令搜索标准 Linux 目录,包括 ` PATH 和 $MANPATH。
最后,whatis 命令仅显示命令的一行描述。
查找有关 Linux 命令的信息
which、whereis 和 Whatis 命令可帮助您查找有关其他 Linux 命令的信息,例如可执行文件、二进制文件、源代码、手册页和命令功能的完整路径。
除了 Whatis 之外,您还可以使用 apropos、man、info 和 help 等其他命令来获取详细信息并更好地了解 Linux 命令及其功能。