为什么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
表观大小 是应用程序认为在文件中的字节数。如果您决定通过FTP或HTTP发送文件,则为通过网络传输的数据量(不计算协议标头)。这也是的结果cat theFile | wc -c,以及如果使用加载整个文件,文件将占用的地址空间量mmap。
cat theFile | wc -c
mmap
磁盘使用率 是因为文件正在占用该空间而不能用于其他 用途 的空间量。
在大多数情况下,表观大小小于磁盘使用情况,因为磁盘使用情况会计算文件最后一个(部分)块的完整大小,而表观大小只计算最后一个块中的数据。但是,当您有一个稀疏文件时,表观大小会更大(当您在文件末尾查找某处然后在其中写入内容时会创建稀疏文件- 操作系统不会费心创建很多填充有零的块- -它只会为您决定写入的文件部分创建一个块。