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


1

我正在尝试从服务器中列出,我想知道是否可以通过任何终端编码来完成(现在我已经很弱了)

例如,在主目录中有大量的子文件夹(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

Answers:


2

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将更改其递归通过的级别。


谢谢你回到我身旁。您知道是否可以通过用户对它进行排序吗?
xenas 2014年

sudo du -d 1 /home | sort -g将按升序对主文件夹进行排序。
hal7df 2014年

sudo du -d 1 /home | sort -gr将主文件夹按降序(大>小)排序。
hal7df 2014年

无需通过管道传递到sortdu将按照找到目录的顺序输出目录(在这种情况下,由用户执行)。但是,这意味着您无法一次性按大小对目录中的文件夹进行排序-在这种情况下,您将必须du为每个用户单独运行并从那里进行排序(您只需要在第3级进行此操作场景)。
hal7df 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.