我想计算我的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
不,没有快捷方法。您需要浏览所有子目录。