Java バイナリのリンク先を確認することで、これらすべてを追跡できると思います。
#which javac
/usr/bin/javac
#ls -ln /usr/bin/java
lrwxrwxrwx. 1 0 0 22 Nov 27 04:54 /usr/bin/java -> /etc/alternatives/java
#ls -ln /usr/bin/javac
lrwxrwxrwx. 1 0 0 23 Nov 27 04:54 /usr/bin/javac -> /etc/alternatives/javac
# ls -ln /usr/bin/javadoc
lrwxrwxrwx. 1 0 0 25 Nov 27 04:54 /usr/bin/javadoc -> /etc/alternatives/javadoc
最後に:
#ls -ld /etc/alternatives/java
lrwxrwxrwx. 1 root root 46 Nov 27 04:54 /etc/alternatives/java -> /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
したがって、私の Java インストールは次のとおりです。
/usr/lib/jvm/jre-1.7.0-openjdk.x86_64
このようなバイナリを追跡できると思います.
which
を使用して、名前のみを入力したときに実行されるバイナリを見つける 、および readlink
を使用 プロセスを 1 行に凝縮できます。
readlink -e $(which java)
readlink -e
シンボリック リンクまたは正規のファイル名の値を出力し、-e を指定すると、すべてのコンポーネントが再帰的に続くことが保証されます。
[email protected]:~$ readlink -e $(which java)
/usr/lib/jvm/java-6-openjdk-i386/jre/bin/java
注:これをテストしたマシンには javac がインストールされていないため、java を使用しましたが、上記はどのバイナリでも機能します。
また、特定のフォルダーにある Java のバージョンを確認するよう求めているように見えますか?そのためには、これを行うだけです
/full/path/java -version
これにより、Linux がパスを検索して Java バイナリを直接見つけることができなくなります。あなたの場合、
/usr/lib/jvm/java-7-oracle/javac -version