打开终端,cd到要分析的文件夹,然后使用以下命令:
find . -type f -print0 | xargs -0 ls -l | sort -k5,5rn
它应该打印出层次结构中所有文件的列表,按大小排序。至少在我的机器上(不是Mac,而是其他一些Unix)。但原则上应该大致相同。
感谢Richard Hoskins的名字中带有空格的bug。这实际上是xargs中的功能。在这个网站上可以找到很好的解释。以上版本现在应该可以使用。
编辑
这是该命令如何工作的说明:
找 。==>从当前工作目录“。”中查找项目。
-type f ==>搜索常规文件
-print0 ==>将完整文件名打印为标准输出,以空字符而不是换行符结尾(这是通过xargs处理带有换行符和空格的文件名)
xargs ==>执行命令xargs(为标准输入中的每一行执行一个命令)
-0 ==>行定界符为空字符
ls -l ==>执行xargs的命令。这样,我们可以获得详细信息,尤其是文件的大小。
sort ==>对标准行进行排序
-k5,5rn ==>排序字段定义,从字段5开始(定界符默认为空白),然后在字段5结束。这就是ls -l显示中的size字段。r代表反向排序,因此最大的文件位于最上面,n代表数字排序。