我有一个文件命名为xyx.txt
,ls -l
显示如下:
-rw-r--r-- 1 MRG staff 8000000 Jul 7 01:30 xyz.txt
但是当我解雇du xyz.txt
时,下面是输出:
15632 xyz.txt
有人可以告诉我为什么差异以及磁盘中文件的实际大小是多少。感谢。
N.B。:
OS info
:Mac OS X Lion 10.7.5
答案 0 :(得分:1)
来自manpage:
du
实用程序显示每个文件参数的文件系统块使用情况[...]
如果未设置
BLOCKSIZE
,则-k
如果未指定选项,则会显示块计数 512字节块。
答案 1 :(得分:1)
UNIX文件系统允许稀疏文件。未分配的块读为0,但在磁盘上不占用空间。 du
命令将提供已分配块的实际数量,而ls
将显示已分配块和未分配空洞的总大小。
那就是说,这不是这里发生的事情。
du
显示文件占用的512字节块(15632)的总数。 ls
向您显示实际文件大小(8,000,000字节)。 512 * 15632 = 8003584,这是8,000,000四舍五入到下一个4K字节边界。
这个文件不稀疏,两个数字都是一致的。