显示用户和文件夹的磁盘使用情况

显示用户和文件夹的磁盘使用情况

我正在尝试从服务器中列出,我想知道是否可以通过任何终端编码来完成(我现在在这方面相当弱)

例如,在主目录中有大量的子文件夹(第 2 级),并且其中还有大量的子文件夹(第 3 级深度?)

因此,我想知道终端中的正常编码是否会给我带来:

  • 哪个用户占用了最多的空间(深度为 3 级),同时显示文件夹
  • 占用空间最多的前 10 个人(深度 2 级)

主目录:

|- sub_lvl_2_A
    |- sub_lvl_3_A
|- sub_lvl_2_B
    |- sub_lvl_3_B
    |- sub_lvl_3_C

答案1

du命令以递归方式查找目录的估计大小。但它不会按大小对输出进行排序。

(您需要 root 权限才能运行)

实际上,您只需将参数更改为其-d(最大深度)选项:

按大小降序打印每个用户主目录的大小:

sudo du -d 1 /home | sort -gr

打印每个用户主目录 (级别 3) 中的文件夹大小 (警告,这肯定会很长,您可能需要通过管道将其传输到less) :

sudo du -d 2 /home

(如果输出很长):

sudo du -d 2 /home | less

如果您想按大小对每个用户的子目录进行排序,那么您必须du为每个用户单独运行:

sudo du -d 1 ~user1 | sort -gr
sudo du -d 1 ~user2 | sort -gr

...等等。

如果您想从不同的起点开始工作,只需将上面的du( /home) 的最后一个参数更改为您想要工作的目录。将参数更改为-d将改变它递归的层数。

相关内容