$ ls -l
total 28
drwxrwxrwx 1 t t 4096 May 8 2018 dir1
drwxrwxrwx 1 t t 0 Mar 12 2015 dir2
drwxrwxrwx 1 t t 4096 Jan 17 2014 dir3
drwxrwxrwx 1 t t 4096 Jun 12 2017 dir4
drwxrwxrwx 1 t t 0 Aug 24 2012 dir5
ディレクトリサイズが0または4096の理由は何ですか?
ディレクトリのエントリがinodeに収まるので、ディレクトリのサイズは0ですか?
ディレクトリ内のエントリがそのinodeに収まらず、いくつかのデータブロックが必要なので、ディレクトリのサイズがゼロ以外ではありませんか?
ディレクトリのゼロ以外のサイズが常に4096であるのはなぜですか?
ありがとうございます。
私の観察はext4ファイルシステムとNTFSファイルシステムで同じです。これは、両方のファイルシステムタイプが同様の方法でディレクトリを実装することを意味しますか?
ベストアンサー1
一部のファイルシステムには、非常に小さなディレクトリ用のinodeスペースがあります。ただし、ディレクトリがその領域に入るのに十分な大きさになると、オペレーティングシステムはファイル割り当て単位全体を割り当てます。あなたの場合は明らかに4096バイトです。
ext4では、inline_data ext4オプションで有効になります。
https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Inline_Directories