O arquivo é escasso , o que significa que contém "buracos" que, quando são lidos, retornam zeros.
Esse é um recurso que economiza espaço real no disco rígido quando arquivos grandes, na maioria zeros, são armazenados. ls
retornará o tamanho aparente do arquivo, mas du
mostrará o tamanho aparente do arquivo menos o tamanho dos furos no arquivo (que é quanto espaço o arquivo realmente usa no disco).
Quando você copia o arquivo, cp
não preservará o tamanho do arquivo, e os furos serão preenchidos por zeros.
No Linux, você pode usar o sinal --sparse=auto
ou --sparse=always
com cp
ao copiar o arquivo para preservar a dispersão, já que os buracos são suficientemente grandes. Em alguns sistemas BSD (pelo menos no OpenBSD), cp
tenta copiar arquivos esparsos corretamente por padrão.
Você também pode usar rsync
com a opção --sparse
( -S
) para copiar o arquivo.
Observe que, mesmo que os furos sejam preenchidos por zeros (parcial ou completamente), o arquivo resultante será funcionalmente equivalente ao arquivo original, mas usará mais espaço em disco real.
Veja também: Um arquivo que era originalmente esparso e depois expandido pode ser tornado esparso novamente?