Arquivos "Dispersos" são arquivos com intervalos vazios, presumivelmente preenchidos com zeros, mas para os quais essa suposição é suficiente para continuar. Ou seja, se você ler o arquivo, obterá zeros, mas como sabemos que são zeros, na verdade não precisamos escrever 8 GB de zeros. É o suficiente para dizer: "vamos apenas concordar que há um arquivo grande aqui sem realmente alocar espaço para ele".
À medida que você sobrescreve o conteúdo em branco do arquivo, os blocos são alocados no disco para acomodar o que você está armazenando (já que você não pode mais assumir que é apenas zero). Mas se você anexar ao arquivo, não estará sobrescrevendo nada. Você está apenas adicionando mais ao final. Então, adicionando você aloca blocos no disco, mas esses blocos não tomam o lugar dos seus blocos "imaginários" existentes; em vez disso, os que você cria são adicionados ao final, depois dos imaginários.
Você pode até adicionar mais blocos imaginários usando uma operação dd -skip
semelhante à usada para criar o arquivo. Os blocos "imaginários" não precisam estar todos juntos. E, na verdade, à medida que você sobrescreve blocos existentes no arquivo, apenas os blocos sobrescritos serão alocados , não importando onde eles apareçam no arquivo. Ou seja, escrever um bloco na posição 101 não aloca automaticamente e preenche os blocos de 1 a 99.