Sandeep Asked: 2022-04-24 10:59:11 +0800 CST2022-04-24 10:59:11 +0800 CST 2022-04-24 10:59:11 +0800 CST 从根目录开始打印完整的符号链接信息 772 我们有兴趣打印从根目录开始的所有符号链接信息。我们希望以以下格式打印信息: symbolic name -> actual name [注意同一行] 我们尝试了以下方法,它为我们提供了符号名称和实际名称,但在不同的行: find . -type l -print -exec readlink -f {} \; linux symlink 2 个回答 Voted Best Answer roaima 2022-04-24T11:53:42+08:002022-04-24T11:53:42+08:00 我不认为你离得很远。使用-printf代替-print(假设你的版本find有它)你得到这个 find / -type l -printf "%p -> " -exec readlink -f {} \; 示例输出 /bin/apropos -> /bin/whatis /bin/awk -> /bin/gawk /bin/bzcmp -> /bin/bzdiff 以供参考, ls -gl /bin/apropos lrwxrwxrwx 1 roaima 10 Mar 28 20:15 /bin/apropos -> whatis 您将获得断开链接-printf的过度行(没有换行符) Stéphane Chazelas 2022-04-24T12:21:47+08:002022-04-24T12:21:47+08:00 与zsh: for link (**/*(ND@^-@)) print -r -- "$link -> $link:P" where@^-@将 glob 扩展限制为未损坏的符号链接文件(目标可访问的符号链接,确定其规范路径的必要条件,相当于 GNUfind的-type l ! -xtype l)。$link:P给出链接的真实路径(符号链接解析后的所有组件的规范绝对路径,类似于realpath()标准函数所做的,或 GNU readlink -f)。
我不认为你离得很远。使用
-printf
代替-print
(假设你的版本find
有它)你得到这个示例输出
以供参考,
您将获得断开链接
-printf
的过度行(没有换行符)与
zsh
:where
@^-@
将 glob 扩展限制为未损坏的符号链接文件(目标可访问的符号链接,确定其规范路径的必要条件,相当于 GNUfind
的-type l ! -xtype l
)。$link:P
给出链接的真实路径(符号链接解析后的所有组件的规范绝对路径,类似于realpath()
标准函数所做的,或 GNUreadlink -f
)。