Linux which命令用于标识在终端提示符下键入可执行文件名称(命令)时执行的给定可执行文件的位置。该命令在PATH环境变量中列出的目录中搜索指定为参数的可执行文件。

在本教程中,我们将介绍Linux which命令。

什么是PATH

在Linux中,PATH是一个环境变量,它告诉Shell和其他程序哪些目录可搜索执行文件。它由冒号分隔的指向包含可执行文件的目录的绝对路径的列表组成。

要查看PATH变量的内容,使用echo命令$PATH作为参数:

echo $PATH

输出将如下所示:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

如何使用which命令

which命令的语法如下:

which [OPTIONS] FILE_NAME...

例如,要查找ping命令的完整路径,请键入以下内容:

which ping

输出将是这样的:

/bin/ping

您还可以为which命令提供多个参数:

which netcat uptime

输出将包括完整路径都netcatuptime可执行文件:

/bin/netcat
/usr/bin/uptime

搜索从左到右进行,如果在PATH变量列出的目录中找到多个匹配项,which则仅打印第一个。要打印所有匹配项,请使用以下-a选项:

which -a touch

输出将显示touch 命令的两个完整路径:

/usr/bin/touch
/bin/touch

通常,一个可执行文件只是另一个可执行文件symlink,但是在某些情况下,您可能在同一位置安装了同一命令的两个版本,或者使用相同名称安装了完全不同的命令。

结论

which命令用于通过在PATH环境变量指定的目录中搜索可执行文件来查找命令。

如果您有任何问题或反馈,请在下面发表评论。