Partilhar via


Ligações e junções rígidas

O sistema de ficheiros NTFS suporta três tipos de ligações de ficheiros: ligações físicas, junções e ligações simbólicas. 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 de link físico é 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 físico, use a função CreateHardLinkA.

Todas as alterações feitas em um arquivo vinculado são instantaneamente visíveis para os aplicativos que o acessam por meio dos links que fazem referência a ele. Os atributos no arquivo são refletidos em cada link físico para esse arquivo, e as alterações nos atributos desse arquivo se propagam para todos os links físicos. No entanto, o tamanho da entrada do diretório e as informações de atributo do arquivo são visivelmente atualizadas apenas no link através do qual a alteração foi feita. Por exemplo, se você limpar o sinalizador de atributo somente leitura em um link físico específico para poder excluir esse link físico e houver vários links físicos para o arquivo, os outros links físicos 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 a partir de um de seus links físicos 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 físico:

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

Isso ocorre porque todos os links são arquivos no mesmo volume. Os links físicos não podem fazer referência a diretórios, apenas arquivos, e não podem fazer referência a arquivos em volumes diferentes.

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

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

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

Entroncamentos

Um de junção (também chamado de soft link) difere de um link rígido porque os objetos de armazenamento aos quais ele faz referência são diretórios separados. Uma junção também pode vincular diretórios localizados em diferentes volumes locais no mesmo computador. Caso contrário, as junções operam de forma idêntica às ligações rígidas. Os entroncamentos são implementados através de pontos de reparo.

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

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

As referências a seguir não são permitidas porque fazem referência a volumes de rede mapeados ou fazem referência direta a arquivos:

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

Ver também