Un carrefour n'est certainement pas la même chose qu'un lien symbolique de répertoire, bien qu'ils se comportent de manière similaire. La principale différence est que, si vous regardez un serveur distant, les jonctions sont traitées au niveau du serveur et les liens symboliques de répertoire sont traités au niveau du client. Voir également le commentaire de Matthew sur le fait que cela signifie que les liens symboliques sur le système de fichiers local peuvent pointer vers des systèmes de fichiers distants.
Supposons que sur une machine nommée Alice vous deviez mettre un point de jonction c:\myjp
et un lien symbolique de répertoire c:\mysymlink
, tous deux pointant vers c:\targetfolder
. Pendant que vous utilisez Alice, vous ne remarquerez pas beaucoup de différence entre les deux. Mais si vous utilisez une autre machine nommée Bob, alors le point de jonction
\Alice\c$\myjp
pointera vers \Alice\c$\targetfolder
mais le lien symbolique
\Alice\c$\mysymlink
pointera vers \Bob\c$\targetfolder
(Attention : par défaut, le système ne suit pas les liens symboliques sur les volumes distants, donc dans la plupart des cas le second exemple donnera en fait soit “Fichier introuvable” soit “Le lien symbolique ne peut pas être suivi parce que son type est désactivé. ”)
La différence entre un lien symbolique de répertoire et un lien symbolique de fichier est simplement que l'un représente un répertoire et l'autre un fichier. Comme la cible du lien n'a pas besoin d'exister lorsque le lien est créé, le système de fichiers doit savoir s'il faut ou non indiquer aux applications qu'il s'agit d'un répertoire.
Il faut également noter que la création d'un lien symbolique nécessite un privilège spécial (par défaut, uniquement disponible pour les processus élevés) alors que la création d'une jonction ne nécessite que l'accès au système de fichiers.