为什么du命令在发送h标志时显示双倍大小?

时间:2014-05-11 23:46:13

标签: shell unix du

我想检查一下git存储库的总大小。有趣的是,当发送-h标志时,du给了我两个不同大小的国王。它实际上是双倍大小。

这是为什么?什么是正确的尺寸?

MyMac:~/repositories/my-repo.git davidrod$ du -h
  0B    ./branches
 64K    ./hooks
4.0K    ./info
  0B    ./objects/info
3.3M    ./objects/pack
3.3M    ./objects
4.0K    ./refs/heads
8.0K    ./refs/tags
 12K    ./refs
3.3M    .
MyMac:~/repositories/my-repo.git davidrod$ du 
0   ./branches
128 ./hooks
8   ./info
0   ./objects/info
6672    ./objects/pack
6672    ./objects
8   ./refs/heads
16  ./refs/tags
24  ./refs
6856    .

2 个答案:

答案 0 :(得分:5)

OSX上的大小(我假设你有来自计算机名称)是在512字节块上计算的,因为使用了du的BSD版本(其他版本,就像我现在使用的Cygwin一样) Windows,表现不同)。

因此,对于每1K,您会得到两个块,显然会使每个尺寸的值翻倍。

答案 1 :(得分:3)

他们都是正确的。在第二种情况下,单元是块(每个512B)。 1千字节= 2个街区。