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 dd
dice el resultado. Omitir seek
y 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.