du出力エラー?

du出力エラー?

私のduコマンドは混乱していると思います。

% du -shc DIR ...
...
6123941496      total

% du -shc DIR ...
...
6.1G    total

% du -sc --si DIR ...
...
6.6G    total

スプレッドシートとして提供LANG=Cし、結果をもう一度確認してみました。 -h が 1000 の累乗 (--si) を使用して出力されたように見え、 --si が誤った答えを提供します。正解は5.7Gの場合-h、6.1Gの場合--siでなければならないと思います。それでは、ここで何が起こりますか?

% du --version
du (GNU coreutils) 8.20
...

% uname -a
Linux XXX 3.9-1-amd64 #1 SMP Debian 3.9.8-1 x86_64 GNU/Linux

ベストアンサー1

スイッチを使用してテストを繰り返します--apparent-size

$ du -shc --apparent-size DIR ...

du マニュアルページから抜粋

--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

おすすめ記事