Uma possibilidade seria arquivos esparsos . Se grandes partes de um determinado arquivo não contiverem dados, nenhum bloco físico terá que ser alocado para essas partes do arquivo, assumindo que o sistema operacional e o sistema de arquivos o suportem.
Para verificar arquivos esparsos, use o comando invocar ls com as opções -s
(espaço de exibição ocupado no disco rígido) e -k
(tamanhos de exibição nos blocos do kibibyte).
Exemplo de saída:
$ df -H /dev/sda1
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 118G 38G 75G 34% /
$
$ dd if=/dev/zero of=1GB-normal bs=1GB count=1 # normal file (1 GB)
$
$ df -H /dev/sda1
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 119G 38G 75G 34% /
$
$ dd if=/dev/zero of=1GB-sparse bs=1GB count=0 seek=1GB # sparse file (1 GB)
$
$ df -H /dev/sda1
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 119G 38G 75G 34% /
$
$ ls -lks
total 976568
976568 -rw-rw-r-- 1 dennis dennis 976563 Apr 11 13:05 1GB-normal
0 -rw-rw-r-- 1 dennis dennis 976563 Apr 11 13:06 1GB-sparse
Como o arquivo esparso ocupa (quase) nenhum espaço físico no disco, a saída do df não muda depois de criá-lo.