开发者

Average and maximum size of directories

I have a directory and a bunch of sub-directories like this: - directory1 (sub-dir1, sub-dir开发者_开发技巧2, sub-dir3, sub-dir4, sub-dir5...........and so on, hundreds of them...)

How do I find out what is average size of the sub-directories? And how do I find what is the maximum size of the sub-directories?

All using Unix commands...

Thanks.


If you only have directories and not files in directory1, then the following two "commands" should give you the size (in bytes) and name of the largest directory and the average of their sizes (in bytes), respectively.

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

If there is also ordinary files within directory1, these will be counted as well with the examples above. If ordinary files should not be counted, the following might be more appropriate.

$ 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 } '


I once had an issue with ext3, which only allows 31998 sub directories per directory. Ext4 allows ~64k.


to get the largest size (KB), use -b for bytes

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

to get average size (KB)

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜