Linux 拨号vps windows公众号手机端

Ubuntu 18.04系统中使用which命令查找给定命令的绝对路径

lewis 5年前 (2021-01-16) 阅读数 9 #网络运维

在Ubuntu 18.04系统中,which命令是一个非常实用的工具,用于查找并显示给定命令的绝对路径,这个命令在终端中执行,可以帮助我们快速找到需要的程序或命令的完整路径,下面我们将从多个方面详细介绍如何使用which命令。

一、which命令的基本用法

在终端中输入以下命令格式:

which [命令名]

[命令名]是你想要查找的命令的名称,如果你想要查找ls命令的路径,你可以输入:

which ls

如果该命令存在于系统的PATH环境变量中,which命令将输出该命令的完整路径。

二、which命令的工作原理

which命令通过在系统的PATH环境变量中逐个目录查找指定的命令,PATH环境变量是一个由冒号分隔的目录列表,用于指定系统在哪些目录中查找可执行文件,当你在终端中输入一个命令时,系统会在PATH环境变量中指定的目录中查找该命令的可执行文件。

三、使用which命令的注意事项

1、区分大小写:Linux系统是区分大小写的,因此which命令也是区分大小写的。which lswhich LS是不同的,前者会输出ls命令的路径,后者则不会。

2、别名问题:在某些情况下,你可能会为常用命令设置别名,将ll设置为ls -l的别名,如果你使用which ll,可能会输出别名对应的命令,而不是实际的ll命令,在这种情况下,你可以使用type命令来查看别名的定义,

type ll

3、PATH环境变量:如果你发现which命令无法找到某个命令,可能是因为该命令所在的目录没有包含在PATH环境变量中,你可以使用echo $PATH命令查看当前的PATH设置。

4、可执行权限:即使某个文件存在于PATH中,如果它没有可执行权限,那么which命令也无法找到它,你可以使用chmod +x [文件名]命令为文件添加可执行权限。

5、查看多个路径:如果你想要查找一个命令在多个路径下的位置,可以使用通配符。

which ls*

这将查找以ls开头的所有命令,并输出它们的完整路径。

6、自定义PATH:如果你有自定义的PATH设置,确保将其添加到.bashrc.bash_profile文件中,以便在每次打开新的终端会话时都能正确设置PATH。

7、查看所有匹配项:默认情况下,如果存在多个与查询匹配的路径,which命令只会输出第一个匹配项,如果你想要查看所有匹配项,可以使用-a选项。

which -a ls

这将输出所有与ls匹配的路径。

8、忽略错误消息:有时,当没有找到匹配的命令时,which命令可能会输出错误消息,如果你想要忽略这些消息并只显示结果(如果有的话),可以使用> /dev/null 2>&1将标准错误重定向到标准输出。

which ls > /dev/null 2>&1

这将只输出结果(如果有的话),并忽略任何错误消息。

版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门