Como é que os links simbólicos podem ser usados em diferentes sistemas de arquivos, e os hard links não podem?

2

Como é que os links simbólicos podem ser usados para se conectar a diferentes sistemas de arquivos? E por que os hard links não podem ser usados em diferentes sistemas de arquivos?

    
por ddmichael 21.01.2014 / 14:52

2 respostas

3

Basicamente, um link simbólico é um arquivo que contém o caminho do arquivo ao qual ele está vinculando. Há um bit especial definido nos atributos que faz com que o sistema operacional trate o link simbólico como um link - ele lê o caminho no arquivo e o segue para o arquivo vinculado. Tudo isso é transparente para o usuário.

Como o link simbólico é apenas um arquivo interpretado pelo sistema operacional, ele pode apontar para um arquivo ou diretório em qualquer sistema de arquivos, mesmo que o sistema de arquivos de destino não suporte a criação de links simbólicos.

Um link físico, por outro lado, funciona em um nível inferior. Hard links e arquivos são essencialmente a mesma coisa - uma entrada no diretório do sistema de arquivos, consistindo no nome do arquivo e seu número de inode. O inode é como um mapa que descreve onde no disco rígido as diferentes partes do arquivo podem ser encontradas.

Quando você cria um link físico para um arquivo existente, você está criando uma nova entrada no diretório do sistema de arquivos que aponta para o mesmo inode que o arquivo existente. Por causa disso, o link físico deve estar no mesmo sistema de arquivos que o arquivo existente.

Este é um bom artigo que explica as diferenças.

    
por 21.01.2014 / 15:44
1

Links físicos são uma entrada na tabela de alocação de arquivos que aponta para o mesmo prato, setor e bloco que o arquivo original. Depois de criar um link físico ... você pode remover o nome do arquivo original e o arquivo não é excluído. Como esta é uma entrada real na tabela de alocação de arquivos para a localização física do arquivo, não é possível que ela aponte para outro disco.

Os links simbólicos são um tipo especial de arquivo, que é entendido como um ponteiro para outro nome de arquivo. Se o arquivo de destino for excluído ... o link simbólico ainda existirá, mas não terá mais um destino na outra extremidade. Com isso em mente, porque ele só faz referência a um nome de arquivo ... você pode apontar para qualquer coisa. Mesmo outros sistemas de arquivos.

    
por 21.01.2014 / 15:50