シンボリックリンクが別のシンボリックリンクを指す状況が発生したため、基本ファイルが保存されている場所を追跡および追跡するために複数のlsコマンドを実行する必要がありました。たとえば、centosで実行されているJavaプログラムの場所を知りたい場合は、通常/ bin / javaで始まり、実際のファイルの場所を見つけるには3〜4つのシンボリックリンクを介して行う必要があります。
実際のファイルが見つかるまで、すべてのシンボリックリンクをたどり、基本ファイルの場所を知らせる簡単なクリーンアップコマンドはありますか?
ベストアンサー1
を使用すると、realpath
すべてのシンボリックリンクをファイルターゲットに拡張します。
たとえば、次のようになります。
> ls -al /usr/bin/java
lrwxrwxrwx 1 root root 22 Jul 13 2019 /usr/bin/java -> /etc/alternatives/java
> realpath /usr/bin/java
/usr/lib64/jvm/java-11-openjdk-11/bin/java
最終ファイルreadlink
とともに直接宛先のみを提供してください。readlink -f
> readlink /usr/bin/java
/etc/alternatives/java
> readlink -f /usr/bin/java
/usr/lib64/jvm/java-11-openjdk-11/bin/java