当我在同一个 Ubuntu 14.04 系统上使用该命令在两个硬盘之间复制文件时du -s
,我得到了不同的值。对于一个 11.3 GB 的文件,原始文件为 11015704,新文件为 11015628。原始文件具有 ext4,并且已传输到 NTFS 文件系统。
为什么文件大小不同?
答案1
(最有用的) 文件系统将文件存储在 (或多或少) 固定大小的块中。这意味着典型文件将占用比其逻辑大小更多的空间,因为其文件系统块中剩余一些未使用的字节。块大小可能因文件系统类型而异和/或可以在文件系统创建期间配置,这意味着一个文件系统上同一文件的磁盘使用情况可能在另一个文件系统上有所不同。
默认情况下du
报告文件在驱动器上占用的实际空间(即占用的块数乘以块大小)。
如果您想du
报告(集体)逻辑文件大小,您需要使用选项--apparent-size
(或-b
暗示--apparent-size
)。
来自du(1)
手动的:
--apparent-size
– 打印表观大小,而不是磁盘使用情况;虽然表观大小通常较小,但由于(“稀疏”)文件中的漏洞、内部碎片、间接块等,它可能会更大