Criar um arquivo de 1 GB não altera o espaço livre no disco rígido

Criar um arquivo de 1 GB não altera o espaço livre no disco rígido

Estou tentando criar um arquivo vazio com base no espaço restante no disco rígido. O problema é que quando eu crio um arquivo com 1 GB de tamanho, o comando df mostra que o espaço restante é apenas 12 kb menor do que era antes da criação do arquivo.

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

Alguém sabe por que o comando df não leva em conta 1 GB completo? Obrigado.

Responder1

Você o criou em um sistema de arquivos que suportaarquivos esparsosentão, na verdade, ocupa apenas 1000 bytes, exatamente como dddiz a saída de. Omita seeke use um count.

Responder2

Deinfo coreutils du(ênfase minha):

'--apparent-size'
Imprime tamanhos aparentes, em vez do uso do disco. O tamanho aparente de um arquivo é o número de bytes relatado por 'wc -c' em arquivos regulares ou, mais geralmente, 'ls -l --block-size=1' ou 'stat --format=%s'. Por exemplo, um arquivo contendo a palavra `zoo' sem nova linha teria, é claro, um tamanho aparente de 3. Um arquivo tão pequeno pode exigir de 0 a 16 KiB ou mais de espaço em disco, dependendo do tipo e da configuração. do sistema de arquivos no qual o arquivo reside. No entanto, umescassoarquivo criado com este comando:

dd bs=1 busca=2GiB if=/dev/null of=big

tem umtamanho aparente de 2 GiB, mas na maioria dos sistemas modernos, na verdadequase não usa espaço em disco.

informação relacionada