为什么du
的输出通常与du -b
如此不同? -b
是--apparent-size --block-size=1
的简写。在大多数情况下,仅使用--apparent-size
可以得到相同的结果,但是--block-size=1
似乎可以解决问题。我想知道输出是否正确甚至是偶数,我想要哪些数字? (即实际文件大小,如果复制到另一个存储设备)
最佳答案
表观大小是应用程序认为在文件中的字节数。如果您决定通过FTP或HTTP发送文件,则为通过网络传输的数据量(不计算协议(protocol) header )。这也是cat theFile | wc -c
的结果,也是使用mmap
加载整个文件时文件占用的地址空间量。
磁盘使用率是因为文件正在占用该空间而不能用于其他用途的空间量。
在大多数情况下,表观大小小于磁盘使用情况,因为磁盘使用情况会计算文件最后一个(部分)块的完整大小,而表观大小只计算最后一个块中的数据。但是,当您有一个稀疏文件时,表观大小会更大(当您在文件末尾查找某处然后在其中写入内容时会创建稀疏文件-操作系统不会费心创建很多填充零的块- -它只会为您决定写入的文件部分创建一个块。
关于linux - 为什么 `du`的输出通常与 `du -b`如此不同,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5694741/