Na verdade, as junções existem desde o Windows 2000; são links simbólicos que apareceram no Vista. (Bem, falando estritamente, eles apareceram no XP, mas ntfs.sys
não expôs a funcionalidade até o Vista.) Nem as junções nem os links simbólicos são similares aos hard links; os dois são representados como objetos de sistema de arquivos diferentes, enquanto links de hardware são nomes diferentes para o mesmo objeto de arquivo. Esse último fato pode ser verificado observando que as ACLs de todos os links de um arquivo são sempre as mesmas.
Eu não acho que os links simbólicos estejam disponíveis apenas para compatibilidade com Linux / Unix. Os links simbólicos para pastas são mais versáteis do que junções:
- Os links simbólicos podem apontar para caminhos relativos. Embora
mklink /j ..\..\relative\stuff
seja bem-sucedido, a junção resultante acaba usando o caminho absoluto resultante. (Veja a saída dedir /a
.) - Os links simbólicos podem apontar para volumes remotos ou caminhos UNC. Junções não podem.
Os links rígidos de diretório são teoricamente possíveis, mas permitir que eles abrissem uma lata de worms - os diretórios seriam capazes de se conter literalmente. Muitos aplicativos que examinam recursivamente o sistema de arquivos seriam interrompidos porque não haveria como distinguir um loop de uma árvore realmente profunda e de nome estranho. (Com links simbólicos e junções, as entradas são distinguíveis.) Os aplicativos precisariam interferir na escrituração de NTFS e, basicamente, ninguém faz isso. Os links diretos também abrem a possibilidade de um diretório ter dois (ou mais!) Pais reais. Em suma, quebrar o modelo não-cíclico da estrutura de diretórios cria um grande volume de complicações. Outras leituras: esta pergunta sobre Unix e Linux (sistema operacional diferente, eu sei, mas o mesmo raciocínio se aplica).
Acho que você descobriu os grandes usos de links e junções simbólicas. Um uso comum adicional no Windows é montar uma unidade como um diretório em uma unidade existente. (Consulte Alterar a letra e os caminhos da unidade do Gerenciamento de disco .