私のLinuxシステムでJavaの場所を見つけようとしましたが、次のような結果が出ました。
[980@b449 ~]$ which java
/usr/bin/java
[980@b449 ~]$ readlink -f $(which java)
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java
これら2つのコマンドの違いは何ですか?
ベストアンサー1
2つのコマンドは何ですか?
/usr/bin/java
ソフト(シンボリック)リンクなので/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java
同じファイルなので違いはありません。
次のようなものを入力すると
ls -l /usr/bin/java
次のような結果が得られます。
lrwxrwxrwx. 1 root root 22 Aug 5 17:01 /usr/bin/java -> /etc/alternatives/java
これは、システムに複数のJavaバージョンがあり、代替バージョンを使用してデフォルトバージョンを変更できることを意味します。そうでない場合は、単にリンクを追加および削除して、デフォルトのリンクを手動で変更できます。
シンボリックリンクを生成するには、次のコマンドを使用します。
ln -s /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java /usr/bin/java
または一般的な形
ln -s <original file> <link to file>
rm
他のファイルと同様に、削除リンクを使用してください。