Cuando utiliza el comando du de Linux, obtiene tanto el uso real del disco como el tamaño real de un archivo o directorio. Explicaremos por qué estos valores no son los mismos.
Tabla de contenido
Uso de disco real y tamaño real
El tamaño de un archivo y el espacio que ocupa en su disco duro rara vez son iguales. El espacio en disco se asigna en bloques. Si un archivo es más pequeño que un bloque, aún se le asigna un bloque completo porque el sistema de archivos no tiene una unidad más pequeña de espacio para usar.
A menos que el tamaño de un archivo sea un múltiplo exacto de bloques, el espacio que usa en el disco duro siempre debe redondearse al siguiente bloque completo. Por ejemplo, si un archivo tiene más de dos bloques pero menos de tres, todavía se necesitan tres bloques de espacio para almacenarlo.
Se utilizan dos medidas en relación con el tamaño del archivo. El primero es el tamaño real del archivo, que es el número de bytes de contenido que componen el archivo. El segundo es el tamaño efectivo del archivo en el disco duro. Este es el número de bloques del sistema de archivos necesarios para almacenar ese archivo.
Un ejemplo
Veamos un ejemplo sencillo. Redirigiremos un solo carácter a un archivo para crear un archivo pequeño:
echo "1" > geek.txt
geek.txt ”en una ventana de terminal. ‘ width = ”646 ″ height =” 57 ″ onload = ”pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon (this);” onerror = ”this.onerror = null; pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon (esto);”>
Ahora, usaremos la lista de formato largo, ls, para ver la longitud del archivo:
ls -l geek.txt
La longitud es el valor numérico que sigue a las entradas de dave dave, que son dos bytes. ¿Por qué son dos bytes cuando solo enviamos un carácter al archivo? Echemos un vistazo a lo que sucede dentro del archivo.
Usaremos el comando hexdump, que nos dará un recuento de bytes exacto y nos permitirá «ver» caracteres no imprimibles como valores hexadecimales. También usaremos la opción -C (canónica) para forzar la salida a mostrar valores hexadecimales en el