当我检查我的 Walkman 上使用的总空间量时,我得到了这个输出。
david@Milton:/media$ du -b --max-depth=0 WALKMAN/
14823290693 WALKMAN/
david@Milton:/media$ du -k --max-depth=0 WALKMAN/
14523776 WALKMAN/
我上次检查时,14,523,776 KB * 1024 = 14,872,646,624 B
是 ,而不是14,823,290,693 B
。将两者相除,它们的“K”单位似乎等于约,1020.62
而不是1024
广告中所说的。这导致我编写的用于同步 Walkman 的程序出现一些错误,因此它的填充速度比声称的要快。有人能解释一下这种差异吗?
答案1
du -b 在帮助文档(du --help)中描述为:
-b, --bytes equivalent to `--apparent-size --block-size=1'
在哪里
--apparent-size print apparent sizes, rather than disk usage; although
the apparent size is usually smaller, it may be
larger due to holes in (`sparse') files, internal
fragmentation, indirect blocks, and the like
相比之下,du -k 提供
-k 'like --block-size=1K'
也就是说,du -k 给出文件的磁盘使用情况,而 du -b 给出文件的“表观大小”。表观大小通常(但并非总是)较小。
(来源:coreutils 错误报告)。