加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

unix – 如何获取符号链接列表,不包括断开的链接?

发布时间:2020-12-15 21:51:23 所属栏目:安全 来源:网络整理
导读:我已经能够找到一个命令来获取仅有断开链接的列表,但不能找到“工作”符号链接 find -H mydir -type l 我怎么能这样做呢? 如果我在mydir中有这些文件: foobarbobcarol 如果它们都是符号链接,但bob指向一个不存在的文件,我想看 foobarcarol 解决方法 用find
我已经能够找到一个命令来获取仅有断开链接的列表,但不能找到“工作”符号链接

find -H mydir -type l

我怎么能这样做呢?

如果我在mydir中有这些文件:

foo
bar
bob
carol

如果它们都是符号链接,但bob指向一个不存在的文件,我想看

foo
bar
carol

解决方法

用find(1)使用

$find . -type l -not -xtype l

此命令查找在下面后停止链接的链接 – 即不间断链接. (请注意,它们可能指向普通或特殊文件,目录或其他.使用-xtype f而不是-not -xtype l来仅查找指向普通文件的链接.)

$find . -type l -not -xtype l -ls

报告他们指向的地方.

如果您在交互式shell使用中经常遇到类似的问题,zsh就是您的朋友:

% echo **/*(@^-@)

遵循相同的想法:Glob qualifier @限制链接,^ – @表示“不启用(^)链接(@)启用跟随( – ).

(另请参阅this post about finding broken links in python,实际上这演示了您可以在Linux下以所有语言执行的操作.请参阅this blog post以获取有关“如何查找损坏的链接”的相关问题的完整答案.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读