在外部硬盘驱动器之间复制文件后,文件大小发生变化

在外部硬盘驱动器之间复制文件后,文件大小发生变化

我刚刚将大约 120G 的数据从一个硬盘复制到另一个硬盘(我在复制文件时同时安装了两个硬盘)。但引起我注意的是,有些文件在复制后占用了更多空间。

并非每个文件都会发生这种情况,但文件夹(本身包含多个文件夹和文件)的最终大小明显更大(原始为 118G,复制后为 153G)。有人可以帮我理解吗?

正如这些屏幕截图所示,空间似乎是以 128K 块的形式分配的,我可以理解这一点。

我使用的是 Ubuntu 20.04。

原始目的地中的一些文件 复制后相同的文件

答案1

复制文件时文件会变大有两个常见原因。

如果原始文件中有漏洞(未分配的部分),并且您使用简单的复制工具,则这些漏洞可能会被真正的零填充。 Jpeg 文件不包含漏洞,所以不是这样的。

另一个常见原因是文件在具有不同分配块大小的两个文件系统之间复制。文件的两个副本将具有相同的长度(字节数),但由于文件系统通常将文件存储在块中,因此文件始终占用整数个块。文件的最后几个字节将部分填充文件的最后一个块。

如果目标文件系统使用较大的块大小,则每个文件的最后一个块可能会更大,并且文件的存储大小本质上将被向上舍入。

从历史上看,有几种文件系统(原始 FFS、BSD UFS2、BTRFS)试图保留“片段”块,将多个文件的最后部分块存储在同一片段块中。

相关内容