查找具有最多链接的文件

查找具有最多链接的文件

我怎样才能找到 unix 中链接最多的前 10 个文件?

答案1

这似乎有效:

$ find . -type l -exec readlink {} \; | sort | uniq -c | sort -r | head

如果您希望显示的文件数量不是 10,那么只需将您想要的数字作为参数添加到head

这将在当前目录下搜索符号链接,要在另一个目录中搜索,请将其替换.为您想要的路径。

答案2

find -type f -ls | sort -rn -k 4 | head -10

输出将按链接数的递减顺序排序。(-r = 反向,-n = 数字排序,-k 4 = 按第 4 列排序)

如果你想要符号链接,那么你必须看看其他答案。我回答了唯一一个有简单答案的解释。:P

答案3

我不相信有任何东西可以告诉您文件有多少个链接。

如果我是对的,您将必须在目录树中搜索链接,然后根据它们链接到的文件对它们进行排序。

find命令可以列出链接,-type l但除非您使用 find 的特殊链接处理,否则您看不到链接解析的内容。

因此尝试一下:

sudo find -L / -type l -exec ls {} \;

列出链接。然后将输出重定向到sortuniq依此类推。

我还没有测试过这个(无论如何它并不完整):我不确定我的文件系统中是否有任何重复的链接需要查找,这将使测试有意义。

相关内容