如何确定命令位置?

如何确定命令位置?

我需要使用密钥工具我想使用尽可能最新的版本。我的 Ubuntu 上有 Oracle JDK 和 OpenJDK。

~$ java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)

keytool 命令位于两个地方:

~$ type -a keytool
keytool is /usr/bin/keytool
keytool is /usr/local/java/jdk1.7.0_25/bin/keytool
~$ file /usr/bin/keytool
/usr/bin/keytool: symbolic link to /etc/alternatives/keytool
~$ file /etc/alternatives/keytool
/etc/alternatives/keytool: symbolic link to /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/keytool

我怎么知道我是否使用了/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/keytool/usr/local/java/jdk1.7.0_25/bin/keytool

答案1

改用which

$ which keytool
/usr/bin/keytool

答案2

或者你可以使用whereis,例如:

whereis keytool

which首先获取包括输出在内的扩展信息。

答案3

如果该命令是由替代方案管理的,您可能需要使用:

update-alternatives --list keytool

这将输出所有已注册的替代方案。这不是简单的目录搜索bin。请参见示例:

update-alternatives --list vi

相关内容