如何在整个系统中找到所有自定义创建的符号链接?

如何在整个系统中找到所有自定义创建的符号链接?

我在不同的地方创建了几个符号链接。

我真的不记得它们在系统中的哪个位置,而且我已经删除了与它们关联的程序。

是否有一个脚本/程序/什么的可以搜索整个系统并删除任何自定义创建的符号链接?

答案1

find . -user "$USER" -type l

列出当前目录和子目录下由您的用户创建的所有符号链接。这也意味着由您的用户(您)启动的程序创建,但如果您能记得创建列出的符号链接,那就没问题了。如果不确定,请验证上次访问时间。如果您还想跟踪链接,请传递-L

答案2

由于您已删除关联/目标程序,因此它们应该已损坏。因此,搜索损坏的符号链接应该很容易:

find . -type l -exec sh -c "file -b {} | grep -q ^broken" \; -print

更改.为不同的搜索文件夹。

来源: 如何找到损坏的符号链接

您还可以使用预期的链接名称或目标名称进行过滤,而不是测试它们。

答案3

无法区分“自定义创建的”符号链接和“非自定义创建的”符号链接。

如果所有这些都是在没有sudoroot 权限的情况下创建的,您可以使用它,它将输出您的用户拥有的符号链接的完整列表(应该非常短):

find / -xdev -user "$USER" -type l

否则你就倒霉了。我试过:

find / -xdev -type l

在我的系统上,我得到了~49000 个结果。

相关内容