ls -ld /dir, Solaris

ls -ld /dir, Solaris

Siempre cuando ejecuto ls -ld /dirla salida, dame el tamaño = 512, incluso si hay archivos en ella o no.

pero cuando ejecuto du -shel resultado, dame el tamaño real del directorio, incluido su contenido.

Respuesta1

En realidad, si tuviera muchos archivos en su directorio, obtendría un número mayor allí: cuando creo 10000 archivos vacíos en un nuevo directorio, ese número va de 4096 a 262144.

El tamaño inicial depende del sistema de archivos y del tamaño del bloque como se especifica al crear el sistema de archivos. Es una indicación de cuántos metadatos contiene el directorio (para los archivos y directorios que contiene), no de cuántos datos contienen los archivos en un directorio.

Para comparar: un directorio con 10000 archivos vacíos

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

Un directorio con 10000 archivos de 100000 bytes cada uno:

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

Los metadatos tienen el mismo tamaño para ambos conjuntos de archivos (también tienen exactamente los mismos nombres).

información relacionada