ls -ld /dir、Solaris

ls -ld /dir、Solaris

出力を実行すると、ls -ld /dirファイルが含まれているかどうかに関係なく、常にサイズ = 512 が表示されます。

しかし、出力を実行すると、du -shその内容を含むディレクトリの実際のサイズが表示されます。

答え1

実際には、ディレクトリ内に多数のファイルがある場合は、その数値は大きくなります。新しいディレクトリに 10000 個の空のファイルを作成すると、その数値は 4096 から 262144 になります。

開始サイズは、ファイルシステムの作成時に指定されたファイルシステムとブロック サイズによって異なります。これは、ディレクトリが保持しているメタデータの量 (ディレクトリに含まれるファイルとディレクトリ用) を示すものであり、ディレクトリ内のファイルが保持しているデータの量ではありません。

比較: 10000個の空のファイルがあるディレクトリ

 ls -ld . --> 262144
 du -sh . --> 260K

それぞれ 100000 バイトのファイルが 10000 個あるディレクトリ:

 ls -ld . --> 262144
 du -sh . --> 977M

メタデータは両方のファイル セットで同じサイズです (名前もまったく同じです)。

関連情報