
重複の可能性あり:
ディレクトリサイズの計算の違い
Linux でのコマンドの動作がわかりませんdu
。数百の小さなファイルの合計サイズを数えようとしたところ、du -sh
150 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
なぜdu
4KB 単位でカウントされるのでしょうか? ここで何が欠けているのでしょうか?
答え1
du はディスク使用量で、ファイルに割り当てられたディスクの量をカウントします。最小の「ブロック サイズ」(つまり、ファイルに割り当てられた最小のチャンク) は通常 4k です。したがって、ファイル システムは du ではなく 4k チャンクでカウントします。
ドライブを次のようにフォーマットすると、1k チャンク単位でカウントされます。
mke2fs -b 1024 /dev/XXX