![单个用户的磁盘空间](https://linux22.com/image/59887/%E5%8D%95%E4%B8%AA%E7%94%A8%E6%88%B7%E7%9A%84%E7%A3%81%E7%9B%98%E7%A9%BA%E9%97%B4.png)
我下面有大约 50 个用户文件夹等/主/文件夹。现在我想获取 10 个大空间用户文件夹的详细信息。
注意:我不需要每个用户的子文件夹..我正在使用 Ksh 脚本。
例子:
/etc/main$ ls -lrt
user1 user2 user3 user4 user5 ......... user50
预期结果:
9876800 user20
9666666 user49
8769999 user15
....
答案1
使用du
和sort
:
du -sk /etc/main/* |sort -nr
这些参数-sk
告诉du
它以千字节为单位报告使用情况,并对目录所有内容的大小进行求和,而不是向每个文件报告。
-nr
告诉sort
它按数字和相反顺序排序的参数,以便您首先获得最大的目录。
答案2
您可以使用此命令:
ls /etc/main |xargs du -sk $1 |sort -rn| head -10