¿Por qué es este directorio vacío 3.5MB?

16

Acabo de leer esta pregunta: ¿Qué significa el tamaño de un directorio en la salida del comando 'ls -l'?

... que no responde a mi pregunta. Básicamente, estoy moviendo archivos a un NAS. Las carpetas que ya moví están completamente vacías, sin archivos ocultos ni nada, y aún duasí informan su tamaño en 3.5MB. Es cierto que anteriormente contenían una gran cantidad de archivos, con nombres largos.

¿Es este tamaño simplemente debido a la cantidad y la longitud del nombre de los archivos que estaban en ese directorio? ¿Por qué no ha disminuido el tamaño ahora que las carpetas están vacías (sistema de archivos ext4)?

shearn89
fuente
1
du tiende a pensar de manera diferente a las personas, da un informe basado en algunas configuraciones del sistema de archivos. puede consultar con '--apparent-size' aquí: gnu.org/software/coreutils/manual/html_node/du-invocation.html .
Hermann Ingjaldsson
Cuando copia directorios vacíos recién creados al NAS, ¿qué informan esos tamaños? ¿También tiene acceso al NAS donde podría ejecutar tune2fs, por ejemplo?
slm
¿Has contabilizado las instantáneas?
mdpc
@slm: salen con el tamaño normal de 4096 (bytes?).
shearn89
@mdpc: ¿instantáneas?
shearn89

Respuestas:

16

Cuando elimina todos los archivos de un directorio, para la mayoría de los sistemas de archivos, el directorio permanece del mismo tamaño.

Si el directorio está vacío,

rmdir ./directory_name; mkdir ./directory

El nuevo directorio resultante será más pequeño. Pero a medida que se agreguen archivos, crecerá. No se preocupe tanto por el tamaño del archivo de directorio como por el número de archivos en un solo directorio. Grandes cantidades de archivos en un solo directorio afectan negativamente el rendimiento de la búsqueda de archivos. Incluso con un amplio almacenamiento en caché de inodo.

jim mcnamara
fuente
44
La gran cantidad de archivos en 1 directorio realmente solo importa para los sistemas de archivos ext. Otros como xfs, btrfs, reiser, etc. no tienen el mismo problema.
Patrick
2
Eso es correcto. Sin embargo, ufs tiene el problema al igual que otros. Si bien esta pregunta es estrictamente ext4, el problema es omnipresente, así que lo mencioné.
jim mcnamara
Además de los problemas de rendimiento, colocar demasiados archivos en un directorio puede causar otros problemas; hacer esto rm *podría generar problemas si tiene más de 1024 archivos.
Sean McSomething
@SeanMcSomething ¿Qué problemas quieres decir?
Hatshepsut
1
@SeanMcSomething No tengo idea, ¿de dónde sacaste esta basura? La línea de comando de un proceso puede ser medio megabyte o más. No tiene nada que ver con el recuento de los archivos, el tamaño total de la línea de comando tiene un límite, que es mucho más alto como usted dice.
peterh - Restablece a Monica