为什么du
和du -b
的输出经常如此不同?-b
是--apparent-size --block-size=1
的简写.大多数情况下,仅使用--apparent-size
就可以得到相同的结果,但--block-size=1
似乎起到了作用.我想知道输出是否是正确的偶数,哪些数字是我想要的?(即实际文件大小,如果复制到另一个存储设备)
为什么du
和du -b
的输出经常如此不同?-b
是--apparent-size --block-size=1
的简写.大多数情况下,仅使用--apparent-size
就可以得到相同的结果,但--block-size=1
似乎起到了作用.我想知道输出是否是正确的偶数,哪些数字是我想要的?(即实际文件大小,如果复制到另一个存储设备)
Apparent size是应用程序认为文件中包含的字节数.它是指如果您决定通过FTP或HTTP发送文件,通过网络传输的数据量(不包括协议头).这也是cat theFile | wc -c
的结果,以及如果使用mmap
加载整个文件,文件将占用的地址空间量.
Disk usage是由于文件占用空间而无法用于其他内容的空间量.
在大多数情况下,表观大小小于磁盘使用量,因为磁盘使用量统计文件最后一个(部分)块的完整大小,而表观大小只统计最后一个块中的数据.然而,当你有一个稀疏文件时,表观大小会更大(稀疏文件是在你搜索文件末尾的某个地方,然后在那里写东西时创建的——操作系统不需要创建很多填充有零的块——它只为你决定写的文件部分创建一个块).