Crear un archivo de 1 GB no cambia el espacio libre en el disco duro

Crear un archivo de 1 GB no cambia el espacio libre en el disco duro

Estoy intentando crear un archivo vacío en función del espacio restante en el disco duro. El problema es que cuando creo un archivo de 1 GB de tamaño, el comando df muestra que el espacio restante es solo 12 kb más pequeño que antes de crear el archivo.

someone@here:/tmp/delete# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             36827144   5031592  29924788  15% /
tmpfs                   508508         0    508508   0% /lib/init/rw
varrun                  508508       156    508352   1% /var/run
varlock                 508508         4    508504   1% /var/lock
udev                    508508       140    508368   1% /dev
tmpfs                   508508      1108    507400   1% /dev/shm

someone@here:/tmp/delete# dd if=/dev/zero of=tempFile bs=1000 count=1 seek=1000000
1+0 records in
1+0 records out
1000 bytes (1.0 kB) copied, 0.000438915 s, 2.3 MB/s

someone@here:/tmp/delete# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             36827144   5031604  29924776  15% /
tmpfs                   508508         0    508508   0% /lib/init/rw
varrun                  508508       156    508352   1% /var/run
varlock                 508508         4    508504   1% /var/lock
udev                    508508       140    508368   1% /dev
tmpfs                   508508      1108    507400   1% /dev/shm

¿Alguien sabe por qué el comando df no representa el 1 GB completo? Gracias.

Respuesta1

Lo creaste en un sistema de archivos que admitearchivos dispersospor lo que en realidad solo ocupa 1000 bytes, tal como dddice el resultado. Omitir seeky utilizar un adecuado count.

Respuesta2

Deinfo coreutils du(el énfasis es mío):

'--apparent-size'
Imprime los tamaños aparentes, en lugar del uso del disco. El tamaño aparente de un archivo es el número de bytes informados por 'wc -c' en archivos normales, o más generalmente, 'ls -l --block-size=1' o 'stat --format=%s'. Por ejemplo, un archivo que contenga la palabra "zoo" sin nueva línea tendría, por supuesto, un tamaño aparente de 3. Un archivo tan pequeño puede requerir de 0 a 16 KiB o más de espacio en disco, dependiendo del tipo y la configuración. del sistema de archivos en el que reside el archivo. Sin embargo, unescasoarchivo creado con este comando:

dd bs=1 buscar=2GiB si=/dev/null de=grande

tiene untamaño aparente de 2 GiB, sin embargo, en la mayoría de los sistemas modernos, en realidadcasi no utiliza espacio en disco.

información relacionada