我有很多家庭文件夹在/ home /下,我想要在每个用户文件夹的总大小容易阅读列表中。
即
等等
目前使用类似du -hc | grep total东西 du -hc | grep total
海事组织,厄尼和德佩斯的答案合并是最接近你要求的,除了它应该是'du -s / home / * / | sort -n'。 'du -h'与'sort -n'sorting不正确,因为它不再是一个数字,例如10G在10M之前sorting
另一种方法是,如果要查找每个用户使用的总磁盘空间(不pipe是否位于其主目录中)是安assembly额使用情况,请在相关文件系统上启用配额记帐, 0(无限)配额。 这将告诉你使用的磁盘空间以及使用的文件/ inode数量。
那么你可以运行'repquota -a'来得到这样的报告:
***报告设备/ dev / sda8上的用户配额
阻止宽限期:7天; Inode宽限时间:7天
块限制文件限制
用户使用软硬恩典使用软硬恩典
user1 - 67844 0 0 7748 0 0
user2 - 21908 0 0 1742 0 0
user3 - 27212 0 0 258 0 0
user4 - 25492 0 0 328 0 0
user5 - 575536 0 0 2972 0 0
user6 - 83944 0 0 1114 0 0
user7 - 501304 0 0 3418 0 0
user8 - 760068 0 0 5011 0 0
user9 - 1445396 0 0 1932 0 0
...
repquota还有一个“-s”选项用于“人类可读”输出,如du的“-h”。 不足为奇的是,它与du -h具有相同的sorting问题。
du -hcs /home/*/
或者,正是你想要的:
for i in /home/*/; do user=${i#/*/} space=$(du -hs "$i" | cut -f1) echo "${user%/} = $space" done
你想知道什么?
如果您想按大小sorting,请尝试以下操作:
du -s /home/ |sort -n
运行这个:
du -sh /home/*
你应该快乐。