Linux中的which命令

时间:2020-03-05 15:30:12  来源:igfitidea点击:

如果我们想知道某个程序的确切位置,只需在其上使用它即可。
which命令在shell程序的搜索路径中找到一个可执行文件。

此Linux命令具有简单的语法:

which [-a] filename

让我们看看如何使用这个简单但有用的命令。

Linux中which命令示例

假设我们想知道Java可执行文件其中:请使用以下命令:

which java

输出可能是这样的:

Hyman@theitroad:~$which java
/usr/bin/java

请注意,这仅适用于可执行文件。
因此,应仅将其与可以运行的参数一起使用。
例如,我们通过JDK软件包安装Java,但没有运行名为“ jdk”的命令,而是运行了“ java”。
因此,我们在Java而不是jdk上使用哪个命令。

如果which命令在当前路径中找不到可执行文件,则不会返回任何内容。

对多个可执行文件使用which命令

我们可以为which命令提供多个参数:

which man java python nada

对我来说输出是:

Hyman@theitroad:~$which man java python nada
/usr/bin/man
/usr/bin/java
/usr/bin/python

你注意到这里了吗?
我给了它四个参数,但结果只显示其中三个。
这是因为“ nada”不是可执行文件。
没有任何输出。

使用which命令显示所有路径名

Linux中的which命令只有一个选项-a。
默认情况下,该命令仅输出其参数的一个路径名。

如果程序在两个位置都有可执行文件,例如在/usr/bin/program和/usr/local/bin/program中,则可以使用-a选项显示两个路径名。

which -a <program_name>

which命令的退出状态

如果在bash脚本中使用which命令,则可能需要知道其退出状态。

which命令具有以下退出状态:

  • 0 –找到所有参数并可执行
  • 1 –一个或者多个参数不存在或者不可执行
  • 2 –如果指定了无效的选项