root@phoenix:~# ls -ld /backups/external?/var/subsonic/thumbs/110
drwxr-xr-x 2 root root 73728 Mar 4 15:35 /backups/external3/var/subsonic/thumbs/110
drwxr-xr-x 2 root root 69632 Mar 4 15:35 /backups/external4/var/subsonic/thumbs/110
上述目录的内容相同。磁盘和文件系统配置相同。但目录的大小他们自己是不同的。
是的,所讨论目录的内容是相同的,我已经使用 diff -r、rsync -avx 以及 beyond compare 进行了检查。以下是 diff -r 输出:
root@phoenix:~# diff -r /backups/external{3,4}/var/subsonic/thumbs/110
root@phoenix:~#
du -bs 输出:
root@phoenix:~# du -bs /backups/external?/var/subsonic/thumbs/110
4116125 /backups/external3/var/subsonic/thumbs/110
4112029 /backups/external4/var/subsonic/thumbs/110
du -b --总输出计数仅每个目录内的文件:
root@phoenix:~# du -b --total /backups/external3/var/subsonic/thumbs/110/* | tail -1
4042397 total
root@phoenix:~# du -b --total /backups/external4/var/subsonic/thumbs/110/* | tail -1
4042397 total
因此,对于 external3:
4042397 + 73728 = 4116125
对于 external4:
4042397 + 69632 = 4112029
添加到目录本身大小的文件大小与 du -bs 的输出相匹配。
答案1
ls -l
目录报告的大小与其中存储的文件的累计大小没有关系。
对于大多数常见文件系统来说,它只是存储目录条目所需的字节大小。此大小随块大小而增加(例如:4096、8192……)。一个块中可以存储多少个条目取决于文件系统,并且还随条目文件名长度而变化。
删除目录条目时,目录大小不受影响,以减少碎片。
在您的示例中,external3
目录已18 * 4096
分配块,而external4
有17 * 4096
块。
这只是意味着前者存储了更多文件(或名称更长的文件),即使目录内容当前相同。没什么大不了的。