simbolico permiten para link hard fuertes enlaces enlace duros duro directorios como carpeta borrar linux diskspace du

linux - permiten - ¿Contando enlaces duros hacia tamaño de archivo?



ln linux (2)

Los enlaces duros son referencias reales al mismo archivo (representado por su inodo). No hay diferencia entre el archivo "original" y un enlace duro que lo apunta también. Ambos archivos tienen el mismo estado, ambos son referencias a este archivo. Eliminar uno de ellos permite que el otro permanezca intacto. Solo eliminando el último enlace físico se eliminará el archivo y se liberará espacio en el disco.

Entonces, si le pregunta a du lo que ve en un solo directorio, no le importa que haya otros enlaces duros que apunten a los mismos contenidos. Simplemente cuenta los tamaños de todos los archivos y los resume. Solo los enlaces duros dentro del directorio considerado no se cuentan más de una vez. du es así de inteligente (no todos los programas tienen que ser necesariamente).

Entonces, en efecto, el directorio A puede tener un tamaño du de 28G, el directorio B puede tener un tamaño de 29G, pero juntos aún ocupan 30G y si le preguntan sobre el tamaño de A y B, obtendrá ese número.

Tengo un sistema de copia de seguridad que crea directorios con nombres de Unix Timestamps, y luego crea copias de seguridad incrementales usando un sistema de enlace físico (--link-dest en rsync), así que normalmente la primera copia de seguridad es muy grande, y luego las copias de seguridad son fracciones tan grandes.

Esta es mi salida de mis copias de seguridad actuales:

root@athos:/media/awesomeness_drive# du -sh lantea_home/* 31G lantea_home/1384197192 17M lantea_home/1384205953 17M lantea_home/1384205979 17M lantea_home/1384206056 17M lantea_home/1384206195 17M lantea_home/1384207349 3.1G lantea_home/1384207678 14M lantea_home/1384208111 14M lantea_home/1384208128 16M lantea_home/1384232401 15G lantea_home/1384275601 43M lantea_home/1384318801

Todo parece correcto, sin embargo, tome por ejemplo el último directorio, lantea_home/1384318801 :

root@athos:/media/awesomeness_drive# du -sh lantea_home/1384318801/ 28G lantea_home/1384318801/

Consecuentemente obtengo este comportamiento, ¿por qué el directorio du considera el directorio 28G por el segundo comando?

Nota: la salida permanece igual con los indicadores -P y -L.


Y con el interruptor "-l" du cuenta también los enlaces físicos en cada subdirectorio, por lo que puedo ver qué tan grande es la copia de seguridad completa, no solo el incremento delta.