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