`du -b`は`ls`と異なるサイズを表示します。

`du -b`は`ls`と異なるサイズを表示します。

何百ものファイル(実際のファイル、シンボリックリンクなし、サブディレクトリなし)があるディレクトリがあります。

ls -laExcelでサイズを使用して合計すると、287190バイト(?)が表示されます。

バイト(?)を使用du -bまたはdu --apparent-size --block-size=1取得するとき。422358

どちらも同じ意味だと思いましたが、なぜ差が出るのでしょうか?

ベストアンサー1

duすべてのファイルサイズの合計とは異なるディスク使用量を提供します。

たとえば、aはdu -b file「dir」ディレクトリを作成し、同じファイルを「dir」に入れてから実行するのとは異なる出力を提供しますdu -b dir。私のシステムでは、ディレクトリの「オーバーヘッド」に30バイトが追加されます。ディレクトリの内容によってディレクトリのサイズが変わると思います(ただし、完全に線形であれば驚きます)。

また、相違の相対サイズは、かなり多くのファイルを含む隠しディレクトリが欠落しているか、または多くの隠されたファイルが欠落している可能性があることを意味します(-aフラグを使用した場合でも)。

また、あるツールではシンボリックリンクに従い、他のツールではシンボリックリンクに従わないため、不一致が発生する可能性があります。

最後に、一部のファイルシステムでは、ファイルの内容が十分に小さい場合はファイルシステムのInodeにインライン化され、多くのファイルシステムではブロックがファイルの内容を保持するように予約されています。完全に使用されていません。これらの変更は、2つを比較しようとしたときに追加のノイズを追加します。

おすすめ記事