O comportamento deThe primary differences between a virtual copy of the file system and a symbolic link are that the
getcwd(3)
functions work correctly in the virtual copy,
getcwd
com diretórios ligados por links simbólicos é uma pegadinha razoavelmente bem conhecida, documentada em Programação Unix Avançada por exemplo (veja esta pergunta SO para uma cotação): chdir
e getcwd
não são simétricos quando links simbólicos estão envolvidos. Pode-se esperar que a mudança de diretórios, usando chdir
, para um determinado diretório e, em seguida, recuperar o diretório atual, usando getcwd
, retornaria o mesmo valor; mas esse não é o caso quando um processo muda de diretório usando um caminho contendo um link simbólico - getcwd
retorna o caminho obtido após a desconsideração de todos os links simbólicos. Isso pode ter conseqüências inesperadas ao alterar diretórios para um diretório pai, quando o caminho que contém o link simbólico e o caminho de referência tiverem diferentes números de componentes.
and that other file systems may be mounted on the virtual copy without affecting the original.
Continuando o exemplo de Stéphane, você pode montar outro sistema de arquivos em um subdiretório de /tmp/b
sem afetar /some/dir
, enquanto a montagem de um sistema de arquivos em um subdiretório de /tmp/a
fará com que ele apareça em /some/dir
também.
A different device number for the virtual copy is returned by
stat(2)
, but in other respects it is indistinguishable from the original.
Isso significa que a exibição de stat
na cópia ou em qualquer outro arquivo retornará um número de dispositivo diferente do original, mas essa é a única diferença; Além disso, stat("/tmp/b/c", &buf)
e stat("/some/dir/c", &buf)
retornariam as mesmas informações.