目录的平均大小和最大大小

时间:2010-03-10 18:59:56

标签: unix shell directory size

我有一个目录和一堆像这样的子目录: - directory1 sub-dir1 sub-dir2 sub-dir3 sub-dir4 < / em>, sub-dir5 ...........等等,其中有数百个......)

如何找出子目录的平均大小? 我如何找到子目录的最大大小?

全部使用Unix命令......

感谢。

3 个答案:

答案 0 :(得分:4)

如果directory1中只有目录而不是文件,则以下两个“命令”应该为您提供最大目录的大小(以字节为单位)和名称及其大小的平均值(以字节为单位)分别。

$ du -sb directory1/* | sort -n | tail -n 1
$ du -sb directory1/* | awk ' { sum+=$1; ++n } END { print sum/n } '

如果directory1中也有普通文件,那么这些文件也将与上面的示例一起计算。如果不计算普通文件,则以下内容可能更合适。

$ find directory1/ -mindepth 1 -maxdepth 1 -type d -exec du -sb {} \; | sort -n | tail -n 1
$ find directory1/ -mindepth 1 -maxdepth 1 -type d -exec du -sb {} \; | awk ' { sum+=$1; ++n } END { print sum/n } '

答案 1 :(得分:0)

我曾经遇到过ext3的问题,每个目录只允许31998个子目录。 Ext4允许~64k。

答案 2 :(得分:0)

获取最大大小(KB),使用-b作为字节

du -sk */|sort -n|tail -1

获得平均大小(KB)

du -sk */|awk '{s+=$1}END{print s/NR}'