¿Hay alguna manera de hacer que Thunar muestre un tamaño de archivo "recursivo"?

¿Hay alguna manera de hacer que Thunar muestre un tamaño de archivo "recursivo"?

Estoy usando Thunar 1.6.3 y actualmente, cuando miro un montón de carpetas, se ve así:

Folder 1        8,2 kB
Folder 2        4,1 kB
Folder 3        4,1 kB
Folder 4        0   kB

No estoy seguro de dónde provienen estos números de "tamaño", pero estoy seguro de que no reflejan el tamaño real de todo lo que hay en las carpetas, porque cuando hago clic derecho y elijo "Propiedades", las carpetas (todas ellas solo son kilobytes). de tamaño) suman más de 100 Gb.

Preguntas

  • ¿Por qué Thunar, al igual que la línea de comando tanto en 12.04 como en 14.04, muestra tamaños de carpeta como 4K? ¿Qué significa este número?
  • ¿Hay alguna manera de mostrar el tamaño compuesto, es decir, el tamaño recursivo calculado de la carpeta y todo el contenido, en la terminal, Thunar o cualquier otro administrador de archivos? (NB: no estoy buscando una solución de script de shell).

Respuesta1

Debería explicar un poco la estructura del sistema de archivos de Linux para explicar esto. La mayoría de los sistemas de archivos de Linux hacen algo similar, pero supongo que ext4, que es el valor predeterminado actual.

Estructura del sistema de archivos

  • inodo es el bloque básico que el sistema de archivos entiende como una unidad lógica.
  • Un inodo de directorio contiene referencias a otros inodos.
  • Un inodo de archivo contiene los metadatos, los datos reales y las referencias a bloques de continuación, en caso de que el archivo tuviera que almacenarse de manera no contigua.

Enlaces

  • Ext4 admite dos tipos de enlaces. Duro y blando.
  • Un enlace físico es una referencia directa al inodo. Cada archivo tiene al menos un enlace físico, del directorio al que pertenece.
  • Dado que un directorio es solo un inodo, con información sobre un grupo de referencias de inodo, puede hacer referencia a sí mismo o a un padre. En otras palabras, una carpeta puede ser tanto secundaria como principal de la misma carpeta.

Bien, esto puede resultar confuso. Dejame explicar. Suponga que tiene tres carpetas, A, B, C, como se muestra a continuación.

C is in B.  
B is in A.

Ahora, lo divertido es que C puede apuntar al mismo inodo que A, creando lo que a veces se llama un bucle de referencia circular. Si intentas recurrir, encontrarás un bucle sin fin.

  • Los enlaces blandos son archivos normales que registran la ruta del directorio a su ubicación de destino. Simplemente están marcados en el sistema de archivos y, en lugar de una línea de texto, deben interpretarse como un enlace a otra ubicación. Nautilus, por ejemplo, crea enlaces suaves cuando usas sus opciones 'Crear enlace'/'Enlazar aquí'.

¿Así que lo que?

Por lo tanto, intentar calcular tamaños de forma recursiva tiene sus peculiaridades. Es una mala idea intentar calcular los tamaños de forma recursiva de forma predeterminada. Sin embargo, los cuadros de diálogo de propiedades de todos los administradores de archivos decentes que conozco muestran tamaños totales calculados de forma recursiva, porque eso es lo que espera un usuario normal.

¿Windows no tiene ningún problema?

En realidad, Windows utiliza un formato de sistema de archivos diferente llamado NTFS, que mantiene una lista de todos los archivos y su tamaño. Por lo tanto, siempre puede saber fácilmente el tamaño total.

Entonces ¿por qué no usamos NTFS?

No admite la noción de permisos de Unix ( rwxpara propietario, grupo y universo por separado), y esa única razón lo hace inadecuado para su uso como sistema de archivos de Linux. Ext4 aporta muchas cosas que este pequeño inconveniente no les importa a muchos.

Está bien. Dame el tamaño que necesito.

Has probado du?

¿Cómo dufunciona?

dusignifica uso del disco. En realidad, cuenta los bloques de inodos, teniendo cuidado de no contarlos dos veces. Suma los tamaños y tendrás el tamaño total.

TL;DR

Úselo du -hs <foldername>para encontrar el tamaño real de la carpeta en el disco. Lea man dupara obtener más información.

Respuesta2

EntunarEn el menú superior, vaya a Editar>Configurar acciones personalizadas, agregue una nueva acción personalizada con:

  1. Básicopestaña: cualquier nombre [ej. Carpeta(s)-Tamaño de archivos], Comando du -h -c %N | grep total | zenity --text-infoo du -chs %N | zenity --text-infopara la carpeta seleccionada o el tamaño del archivo seguido del tamaño total.
  2. Condiciones de aparienciapestaña: marque todas las casillas.

Encontré esta solución enhttp://crunchbang.org

Respuesta3

Una pequeña curiosidad sobre este tema específico de Thunar es que Thunar informa tamaños diferentes a los de du con o sin la opción --apparent size. Creo que la respuesta proporcionada para mí da una pista de por qué podría ser así (tal vez Thunar en realidad cuente estas mismas cosas de manera ligeramente diferente, sea lo que sea). Ejemplo: Misma carpeta: (siendo x el resto que no anoté) du sin --apparent-size: 19.x GB du con --apparent-size:12.x GB Thunar 5.5x GB Valor de Thunar entre paréntesis: 5,9x GB Probablemente al final tomaría la salida de du (por ser tan antigua como es), pero de todos modos esto es interesante.

información relacionada