Linux查看各用户硬盘占用大小

Linux查看各用户硬盘占用大小

在Linux中,如果要统计各用户占用硬盘的大小,可以执行如下的命令
du -sh /home/*
这条命令会以K、M、G等单位输出 /home 下各用户目录占用硬盘的总大小,例如下面这样:

[root@localhost ~]# du -sh /home/*
24K     /home/dong
12K     /home/tide
12K     /home/trade
  • 参数 s 的作用是 只显示总计(summary)信息,否则 du 会以默认方式输出目标目录下所有子目录占用的硬盘大小。
  • 参数 h 的作用是 以合适的数据量单位(K、M等)表示占用硬盘大小,du 默认输出的数据量单位是K(B)

这条命令可以让我们直观地看出到底是哪个糟糕的用户威胁到了全体用户的整体利益
不过当用户数量比较多的时候,想要一眼看出哪个用户占用硬盘最多就不容易做到了,最好能对输出结果进行排序,这里有一个可行的方法,使用sort对输出结果进行排序
du -s /home/* |sort -k1nr
这条命令会将 du -s /home/* 的结果按照各用户硬盘占用由大到小的顺序输出。

  • k1 表示按照第一个字段排序,在这里就是用户目录硬盘占用大小字段
  • n 表示按数值排序,而不是字符串
  • r 表示按逆序排序,即由大到小的顺序

需要注意的是,如果使用这种方式排序,du 命令不能加-h参数,因为这种排序方式不会考虑硬盘占用大小的单位,带上-h参数会出现类似 “100K > 15M” 的情况
关于排序,目前我没有更好的办法,有更合适方法的朋友欢迎在评论区分享~~~


本文中的示例基于CentOS7.8

热门相关:斗神战帝   寂静王冠   刺客之王   豪门闪婚:帝少的神秘冷妻   夫人,你马甲又掉了!