Como dice el sujeto; Quiero saber por qué cada directorio tiene un tamaño igual a 4K, incluso si contienen archivos con tamaños superiores a 4K.
Por favor, eche un vistazo a lo siguiente: -
$ ls -lh
total 2.0M
drwxr-xr-x 4 ankit ankit 4.0K Sep 11 07:28 Desktop
$ ls -lrh Desktop/
-rw-rw-r-- 1 ankit ankit 9.1M Aug 4 11:15 sophosthreatsaurusaz.pdf
-rw------- 1 ankit ankit 107K Dec 27 2010 KP 3 0.pdf
drwxrwsr-x 9 ankit ankit 4.0K Sep 10 19:26 eclipse
PD: conozco la du -sh
utilidad de línea de comandos.
Editar: estoy asumiendo el directorio como contenedor de archivos.
filesystem
files
Ankit
fuente
fuente
Respuestas:
ls
muestra el tamaño de ese enlace , no el espacio total ocupado por el contenido del directorio.fuente
Para comprender esto, es mejor que tenga algunos conocimientos básicos de lo siguiente (sistema de archivos):
En
ext4
el sistema de archivos típico (lo que usa la mayoría de las personas), elinode
tamaño predeterminado es de 256 bytes, el tamaño del bloque es de 4096 bytes.Un directorio es solo un archivo especial que contiene una matriz de nombres de archivo y números de inodo. Cuando se creó el directorio, el sistema de archivos asignó 1 inodo al directorio con un "nombre de archivo" (nombre de directorio, de hecho). El inodo apunta a un único bloque de datos (sobrecarga mínima), que es 4096 bytes. Es por eso que ves 4096 / 4.0K cuando lo usas
ls
.Puede obtener los detalles usando
tune2fs
&dumpe2fs
.Ejemplo
fuente
Fuente
fuente