鉴于此命令序列...
$ 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。
ext3 文件系统安装在/data/backup,Linux Debian 挤压主机。
我已经检查过lsof | grep deleted
这两个文件都没有被某个进程打开。
daily.2/ruminant
可能仍包含指向同一 inode (13344429) 的链接,因此总大小并未下降,因为该目录中仍在分配和使用空间。几个相关的点:
a) 如果您只运行,
du -sk daily.3/ruminant
那么您可能会看到总数减少,因为(可能)daily.3
目录中没有更多指向该 inode 的链接。b)
du
按参数顺序计算 inode,因此在第一个打印输出中,它将 inode 13344429 的用法分配给daily.2
而不是daily.3
。因此,从 中删除链接daily.3
(并将其保留在 中daily.2
)在计算两者时不会导致任何空间减少,daily.{2,3}
因为它仍被计算在 中daily.2
。