我怎样才能找到 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 {} \;
列出链接。然后将输出重定向到sort
,uniq
依此类推。
我还没有测试过这个(无论如何它并不完整):我不确定我的文件系统中是否有任何重复的链接需要查找,这将使测试有意义。