一尘不染

为什么`du`的输出通常与`du -b`如此不同

linux

为什么du经常的输出与如此不同du -b-b是的简写--apparent-size --block-size=1--apparent- size大多数情况下,仅使用会给我相同的结果,但--block- size=1似乎可以解决问题。我想知道输出是否正确甚至是偶数,我想要哪些数字?(即实际文件大小,如果复制到另一个存储设备)


阅读 415

收藏
2020-06-02

共1个答案

一尘不染

表观大小 是应用程序认为在文件中的字节数。如果您决定通过FTP或HTTP发送文件,则为通过网络传输的数据量(不计算协议标头)。这也是的结果cat theFile | wc -c,以及如果使用加载整个文件,文件将占用的地址空间量mmap

磁盘使用率 是因为文件正在占用该空间而不能用于其他 用途 的空间量。

在大多数情况下,表观大小小于磁盘使用情况,因为磁盘使用情况会计算文件最后一个(部分)块的完整大小,而表观大小只计算最后一个块中的数据。但是,当您有一个稀疏文件时,表观大小会更大(当您在文件末尾查找某处然后在其中写入内容时会创建稀疏文件-
操作系统不会费心创建很多填充有零的块- -它只会为您决定写入的文件部分创建一个块。

2020-06-02