如何快速计算目录的大小?

如何快速计算目录的大小?

我想计算我的home目录的大小,它有很多子目录。

运行大约需要 40 秒du
有没有更快的方法?

$ time du -sh
5.0G    .

real    0m39.676s
user    0m0.058s
sys     0m3.151s

答案1

一种相当迂回的方法是将您的主目录放在启动时挂载的单独分区上,以确保它足够大以满足您将来的所有需求。

完成这些之后,最快了解您正在使用多少空间的方法是使用df命令来显示分区上的可用空间和已用空间。 df还可以使用开关以人类可读的格式显示信息。

答案2

…或者,第三种方式,可以使用磁盘配额。

变体Mokubai 的迂回回答就是要有全部在专用卷上设置主目录,在该卷上启用磁盘配额(如果要将配额添加到已有数据的卷上,则构建配额数据库),并使用该quota命令显示用户已使用该卷的磁盘配额量。那些习惯于在集中式多用户分时环境中使用传统 Unices 的人会发现这非常熟悉。☺

这真的du在“我自己的东西占用了多少磁盘空间?”这个问题上,这种方法有优势:如果其他用户偷偷地将您的一个文件硬链接 — — 您随后从主目录中取消链接并认为它已经消失了 — — 到 xyr 自己的目录中,而 xe 拒绝您读取和执行该目录的权限(因此您无法使用该目录进行扫描du),它占用的磁盘空间仍然会计入您的磁盘配额,您可以检测到差异。

当然,为所有主目录设置单独的卷的所有安全性和可维护性优势也适用。

答案3

不,没有快捷方法。您需要浏览所有子目录。

相关内容