lsした時にディレクトリのサイズ?が4096になっていることが多いが、たまに大きな値になっているかと思ったら、そのディレクトリの中にはファイルが全然ないということもある。このディレクトリのサイズ的な表記はいったい何を表しているのか。
答えは、ディレクトリエントリのサイズ。
ディレクトリエントリには、ファイルの名前や、タイムスタンプや、サイズなどの情報が格納されている。
そのためディレクトリ内にファイルをたくさん作るほど大きなサイズが必要となり、必要に応じて勝手にディレクトリエントリのサイズは増える。
サイズはデバイスのブロックサイズ単位(4096バイト単位)で増える。
ディレクトリ内のファイルを消しても1度増えたディレクトリエントリのサイズは減らない。
ディレクトリをlsした時のサイズってなに?

コメント