
Siempre cuando ejecuto ls -ld /dir
la salida, dame el tamaño = 512, incluso si hay archivos en ella o no.
pero cuando ejecuto du -sh
el 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).