给定这个命令序列…
$ pwd /data/backup/rsnapshot $ sudo du -csk daily.{2,3}/ruminant 1195040 daily.2/ruminant 36712 daily.3/ruminant 1231752 total $ ls -isk /data/backup/rsnapshot/daily.3/ruminant/home/andy/vmunix \ /data/backup/rsnapshot/daily.3/ruminant/home/andy/vmlinux2 13344429 6728 /data/backup/rsnapshot/daily.3/ruminant/home/andy/vmlinux2 16476851 6728 /data/backup/rsnapshot/daily.3/ruminant/home/andy/vmunix $ sudo ln -f /data/backup/rsnapshot/daily.3/ruminant/home/andy/vmunix \ /data/backup/rsnapshot/daily.3/ruminant/home/andy/vmlinux2 $ ls -isk /data/backup/rsnapshot/daily.3/ruminant/home/andy/vmunix \ /data/backup/rsnapshot/daily.3/ruminant/home/andy/vmlinux2 16476851 6728 /data/backup/rsnapshot/daily.3/ruminant/home/andy/vmlinux2 16476851 6728 /data/backup/rsnapshot/daily.3/ruminant/home/andy/vmunix $ sudo du -csk daily.{2,3}/ruminant 1195040 daily.2/ruminant 36712 daily.3/ruminant 1231752 total
…为什么这两个目录的使用量在两个明显不同的文件被硬连接在一起后仍然在1,231,752k? 我本来期望/data/backup/rsnapshot/daily.3/ruminant现在变小了6,728k。
安装在/ data / backup的 ext3文件系统,Linux Debian压缩主机。
我已经检查了lsof | grep deleted lsof | grep deleted这两个文件都没有被某个进程保持打开。
daily.2/ruminant仍然可以包含指向相同索引节点(13344429)的链接,所以总大小还没有下降,因为该空间仍然在该目录中分配和使用。
几个相关的问题:
a)如果您只运行du -sk daily.3/ruminant那么您可能会看到总数减less,因为在daily.3目录中(可能没有)该inode的链接。
b) du按照参数顺序统计inode ,所以在第一个打印输出中,它将inode 13344429的用法分配给daily.2而不是daily.3 。 因此,取消daily.3的连接( daily.2 )并不会导致daily.{2,3}计数的空间减lessdaily.{2,3}因为它仍然是daily.{2,3}计算的。