Uso de disco de um link simbólico

1

Se eu verificar o tamanho do arquivo de um link simbólico por stat() , ele reportará um tamanho de arquivo diferente de zero igual à string do caminho do link. Mas quando eu uso du no link, ele informa um tamanho de zero blocos.

Existe uma explicação simples para isso? É correto interpretar links simbólicos como não requerendo espaço em disco? Onde as informações de link simbólico estão sendo armazenadas?

    
por marshall.ward 03.09.2013 / 03:23

1 resposta

4

Veja o link . Os sistemas modernos usam o que são chamados de "links simbólicos rápidos". Nenhum bloco é alocado para o symlink. Em vez disso, a referência do link simbólico é armazenada no próprio inode, onde um arquivo regular armazena os locais dos blocos que o compõem. du apenas analisa quantos blocos estão alocados e, portanto, pode mostrar que 0. stat e ls -l são inteligentes o suficiente para relatar o tamanho do link simbólico com base nos dados armazenados no inode.

    
por 03.09.2013 / 03:27