「du」コマンドが 4KB ステップでカウントするのはなぜですか?

「du」コマンドが 4KB ステップでカウントするのはなぜですか?

重複の可能性あり:
ディレクトリサイズの計算の違い

Linux でのコマンドの動作がわかりませんdu。数百の小さなファイルの合計サイズを数えようとしたところ、du -sh150 MB 程度の値が返されました。ファイル マネージャーが同じデータ セットに対して 50 MB 程度しか表示していないことに気付くまで、疑問に思いませんでした。混乱してしまいました。

次に私が試したことは次のとおりです。

fkochem@WK-6:~/temp$ cat test 
a
fkochem@WK-6:~/temp$ du -sh test 
4.0K    test

それで、これは間違いに違いないのでしょうか?du -sh *元のデータを調べたところ、次のことがわかりました。

4.0K    NCO-0.9.9.9.json
4.0K    NCO-0.99.9.json
4.0K    NCO-0.9.9.json
8.0K    NCO-0.99.json
8.0K    NCO-0.9.json

なぜdu4KB 単位でカウントされるのでしょうか? ここで何が欠けているのでしょうか?

答え1

du はディスク使用量で、ファイルに割り当てられたディスクの量をカウントします。最小の「ブロック サイズ」(つまり、ファイルに割り当てられた最小のチャンク) は通常 4k です。したがって、ファイル システムは du ではなく 4k チャンクでカウントします。

ドライブを次のようにフォーマットすると、1k チャンク単位でカウントされます。

mke2fs -b 1024 /dev/XXX

関連情報