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