Danny Dyla Asked: 2012-06-19 12:39:34 +0800 CST2012-06-19 12:39:34 +0800 CST 2012-06-19 12:39:34 +0800 CST du 显示旧结果 772 我跑去du -hs查看我的目录有多大/home/user,它报告为 18G。我清除了将近4G的数据,然后du -hs再次运行以查看我实际节省了多少空间,它仍然报告为18G。--apparent-size使其报告为 19G。我究竟做错了什么? ubuntu bash du 3 个回答 Voted Best Answer Hyppy 2012-06-19T12:43:52+08:002012-06-19T12:43:52+08:00 如果文件仍在使用中,du则不会更新。 这是一篇带有练习的帖子,因此您可以看到它的实际效果:(对于 BSD,但它在 Linux 中是等效的) Ladadadada 2012-06-19T14:52:18+08:002012-06-19T14:52:18+08:00 可能导致这种情况的另一种可能性是文件系统压缩和不知道它的实用程序。几年前我在 Solaris 上用 ZFS 看到了这一点,但对于 Ubuntu 和任何其他支持压缩的文件系统来说,理论应该是相同的。 我用mkfile 10g test. 在此之后,ls -lh将其报告为10GB并du -h报告为0。 如果您清除的 4GB 被发现,ls -lh那么它可能没有像看起来那样占用那么多空间。 Cristian Ciupitu 2012-06-19T15:00:21+08:002012-06-19T15:00:21+08:00 这可能是由硬链接引起的,这意味着您删除的文件仍然以其他名称存在。要找到它们,请运行find -type f -links +1。
如果文件仍在使用中,
du
则不会更新。这是一篇带有练习的帖子,因此您可以看到它的实际效果:(对于 BSD,但它在 Linux 中是等效的)
可能导致这种情况的另一种可能性是文件系统压缩和不知道它的实用程序。几年前我在 Solaris 上用 ZFS 看到了这一点,但对于 Ubuntu 和任何其他支持压缩的文件系统来说,理论应该是相同的。
我用
mkfile 10g test
. 在此之后,ls -lh
将其报告为10GB并du -h
报告为0。如果您清除的 4GB 被发现,
ls -lh
那么它可能没有像看起来那样占用那么多空间。这可能是由硬链接引起的,这意味着您删除的文件仍然以其他名称存在。要找到它们,请运行
find -type f -links +1
。