Os hard links realmente ocupam muito espaço em disco?

4

Eu descobri que preciso usar hard links com um programa em particular (Ableton Live) que é incapaz de ver aliases / symlinks, que é claro como eu tenho todos os meus arquivos de trabalho organizados. Mas criar links físicos é criar o que parece ser duplicados do arquivo original.

Eles realmente ocupam tanto espaço quanto o original? Ou o sistema de arquivos (OSX, neste caso) está apenas mostrando o tamanho dos dados reais no disco, e o fato de estar sendo referenciado em dois lugares não duplica a quantidade de dados?

    
por Jonathan van Clute 18.02.2017 / 00:55

1 resposta

6

A segunda coisa que você disse está exatamente correta. O conteúdo do arquivo só existe uma vez no disco. Um link físico é uma referência extra, que custa muito pouco espaço - o tamanho de uma entrada de diretório, que é o comprimento do nome do arquivo mais alguns bytes.

Eu não sei se isso se aplica ao OSX, mas na versão do GNU coreutils eu tenho à mão, du está ciente dos hard links, então você pode usá-lo para obter um relatório preciso do tamanho total de um link. conjunto de arquivos. Se encontrar vários links para um arquivo, ele só será adicionado ao total uma vez. Por outro lado, ls -l faz a coisa errada e adiciona tudo o que vê em um diretório para sua linha total .

$ ls -sl
total 296
296 -rw-r--r-- 1 user group 300324 Feb 17 19:08 f1
$ du
296     .
$ ln f1 f2
$ ls -sl
total 592
296 -rw-r--r-- 2 user group 300324 Feb 17 19:08 f1
296 -rw-r--r-- 2 user group 300324 Feb 17 19:08 f2
$ du
296     .
$ cp f1 f3
$ ls -sl
total 888
296 -rw-r--r-- 2 user group 300324 Feb 17 19:08 f1
296 -rw-r--r-- 2 user group 300324 Feb 17 19:08 f2
296 -rw-r--r-- 1 user group 300324 Feb 17 19:08 f3
$ du
592     .
$

A demonstração final seria criar um arquivo enorme, com mais da metade do tamanho do disco. Então veja quantos hard links você pode criar para ele. Deve ser bastante.

    
por 18.02.2017 / 01:23