为什么`du`的输出通常与`du -b`如此不同
||
为什么
du
的输出通常与du -b
如此不同? -b
是--apparent-size --block-size=1
的简写。在大多数情况下,仅使用--apparent-size
可以得到相同的结果,但是--block-size=1
似乎可以解决问题。我想知道输出是否正确甚至是偶数,我想要哪些数字? (即实际文件大小,如果复制到另一个存储设备上)
没有找到相关结果
已邀请:
5 个回复
森含械
的结果,如果使用
加载整个文件,文件将占用的地址空间量。 磁盘使用率是由于文件正在占用该空间而不能用于其他用途的空间量。 在大多数情况下,表观大小小于磁盘使用情况,因为磁盘使用情况会计算文件的最后一个(部分)块的完整大小,而表观大小只会计算最后一个块中的数据。但是,当您有一个稀疏文件时,表观大小会更大(当您在文件末尾查找某处然后在其中写入内容时会创建稀疏文件-操作系统不会费心创建很多填充零的块-它只会为您决定写入的文件部分创建一个块。
贸会
告诉我我在
挂载的ext4分区上。 我发现它的块大小有:
这使:
现在让我们创建一些大小为
的文件:
结果是:
因此,我们看到小于或等于
的任何内容实际上占用了
字节。 然后,一旦我们越过
,它就会上升到
,即
。 显然,磁盘始终在“ 15”个字节的块边界存储数据。 稀疏文件会怎样? 我没有研究确切的表示是什么,但是很显然ѭ21确实考虑了它。 这可能导致表观大小大于实际磁盘使用量。 例如:
给出:
相关:如何测试是否支持稀疏文件 如果我要存储一堆小文件怎么办? 一些可能性是: 使用数据库而不是文件系统:数据库与文件系统存储 使用支持块子分配的文件系统 参考书目: https://serverfault.com/questions/565966/which-block-sizes-for-millions-of-small-files https://askubuntu.com/questions/641900/how-file-system-block-size-works 在Ubuntu 16.04中测试。
为陡土
杭难插
和
。
设定
, 但是
会覆盖块大小为
。
与
类似:
表示
,again35再次覆盖该块大小。
荤碗