Links rígidos e junções

O sistema de arquivos NTFS dá suporte a três tipos de links de arquivo: links rígidos, junções e links simbólicos. Este artigo é uma visão geral de links rígidos e junções. Para obter informações sobre links simbólicos, consulte Criar links simbólicos.

Um link rígido é a representação do sistema de arquivos de um arquivo pelo qual mais de um caminho faz referência a um único arquivo no mesmo volume. Para criar um link rígido, use a função CreateHardLinkA .

Todas as alterações feitas em um arquivo vinculado são instantaneamente visíveis para aplicativos que o acessam por meio dos links que fazem referência a ele. Os atributos no arquivo são refletidos em cada link rígido para esse arquivo e as alterações nos atributos desse arquivo se propagam para todos os links rígidos. No entanto, o tamanho da entrada de diretório e as informações de atributo do arquivo são visivelmente atualizados apenas no link por meio do qual a alteração foi feita. Por exemplo, se você limpar o sinalizador de atributo somente leitura em um link rígido específico para poder excluir esse link rígido e houver vários links rígidos para o arquivo, os outros links rígidos exibirão que o atributo somente leitura ainda está definido, o que não é verdadeiro. Para alterar o arquivo de volta para o estado somente leitura, você deve definir o sinalizador somente leitura no arquivo de um de seus links rígidos restantes.

Por exemplo, em um sistema em que C: e D: são unidades locais e Z: é uma unidade de rede mapeada para \\fred\share, as seguintes referências são permitidas como um link rígido:

  • C:\dira\ethel.txt vinculado a C:\dirb\dirc\lucy.txt
  • D:\dir1\tinker.txt vinculado a D:\dir2\dirx\bell.txt
  • C:\diry\bob.bak vinculado a C:\dir2\mina.txt

As seguintes referências não são permitidas:

  • C:\dira vinculado a C:\dirb
  • C:\dira\ethel.txt vinculado a D:\dirb\lucy.txt
  • C:\dira\ethel.txt vinculado a Z:\dirb\lucy.txt

Para excluir um link rígido, use a função DeleteFileA . Você pode excluir links físicos em qualquer ordem, independentemente da ordem em que eles são criados.

Junções

Uma junção (também chamada de link flexível) difere de um link rígido, pois os objetos de armazenamento referenciados por ele são diretórios separados. Uma junção também pode vincular diretórios localizados em volumes locais diferentes no mesmo computador. Caso contrário, as junções operam de forma idêntica a links rígidos. As junções são implementadas por meio de pontos de nova análise.

Supondo as mesmas condições na seção Links Rígidos, as seguintes referências são permitidas como junções:

  • C:\dira vinculado a C:\dirb\dirc
  • C:\dirx vinculado a D:\diry

As seguintes referências não são permitidas:

  • C:\dira\one.txt vinculado a C:\dirb\two.txt
  • C:\dir1 vinculado a Z:\dir2

Confira também

Criar vínculos simbólicos