dso*_*len 0 command-line symlink command
我遇到过符号链接指向其他符号链接的情况,导致我不得不运行多个 ls 命令来尝试跟踪基本文件的存储位置。例如,如果我想知道在 centos 上运行的 java 程序的位置,我通常从 /bin/java 开始,并且在找到实际文件的位置之前必须深入 3-4 个符号链接。
是否有一个简单的 clean 命令可以跟踪所有符号链接,直到找到一个真正的文件并给我基本文件的位置?
使用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
Run Code Online (Sandbox Code Playgroud)
也readlink单独给出直接目标,同时readlink -f给出最终文件:
> readlink /usr/bin/java
/etc/alternatives/java
> readlink -f /usr/bin/java
/usr/lib64/jvm/java-11-openjdk-11/bin/java
Run Code Online (Sandbox Code Playgroud)