0

我有一个文件命名xyx.txtls -l显示如下:

-rw-r--r--  1 MRG  staff  8000000 Jul  7 01:30 xyz.txt

但是当我开火时du xyz.txt,下面是输出:

15632   xyz.txt

有人可以告诉我为什么会有差异以及磁盘中文件的实际大小是多少。谢谢。

注意::OS infoMac OS X Lion 10.7.5

4

2 回答 2

2

UNIX 文件系统允许稀疏文件。未分配的块读为 0,但不占用磁盘空间。该du命令将给出实际分配的块数,同时ls将显示已分配块和未分配孔的总大小。

也就是说,这不是这里发生的事情。

du显示文件占用的 512 字节块 (15632) 的总数。 ls正在向您显示实际文件大小(8,000,000 字节)。512 * 15632 = 8003584,即 8,000,000 向上舍入到下一个 4K 字节边界。

这个文件不是稀疏的,两个数字是一致的。

于 2013-07-06T20:29:43.087 回答
1

手册页

du实用程序显示每个文件参数的文件系统块使用情况

[...]

如果BLOCKSIZE未设置-k 且未指定选项,则块数将以 512 字节块显示。

于 2013-07-06T20:29:04.043 回答