我在不同的地方创建了几个符号链接。
我真的不记得它们在系统中的哪个位置,而且我已经删除了与它们关联的程序。
是否有一个脚本/程序/什么的可以搜索整个系统并删除任何自定义创建的符号链接?
答案1
find . -user "$USER" -type l
列出当前目录和子目录下由您的用户创建的所有符号链接。这也意味着由您的用户(您)启动的程序创建,但如果您能记得创建列出的符号链接,那就没问题了。如果不确定,请验证上次访问时间。如果您还想跟踪链接,请传递-L
。
答案2
由于您已删除关联/目标程序,因此它们应该已损坏。因此,搜索损坏的符号链接应该很容易:
find . -type l -exec sh -c "file -b {} | grep -q ^broken" \; -print
更改.
为不同的搜索文件夹。
来源: 如何找到损坏的符号链接
您还可以使用预期的链接名称或目标名称进行过滤,而不是测试它们。
答案3
无法区分“自定义创建的”符号链接和“非自定义创建的”符号链接。
如果所有这些都是在没有sudo
root 权限的情况下创建的,您可以使用它,它将输出您的用户拥有的符号链接的完整列表(应该非常短):
find / -xdev -user "$USER" -type l
否则你就倒霉了。我试过:
find / -xdev -type l
在我的系统上,我得到了~49000 个结果。