162 votes

Quelle est la différence entre les points de jonction NTFS et les liens symboliques ?

À un haut niveau, la seule différence évidente entre Points de jonction NTFS y Liens symboliques est que les jonctions ne peuvent être que des répertoires, alors que les SymLinks peuvent également cibler des fichiers.

Quelles sont les autres différences entre les deux ?

(Note, j'ai déjà vu cette question et ce que je cherche est un peu différent - cette question cherche une liste de pour et de contre, je cherche un ensemble de différences techniques)

125voto

u8it Points 1883

Les liens symboliques ont plus de fonctionnalités, tandis que les jonctions semblent presque être une fonctionnalité héritée en raison de leurs limitations, mais les implications de sécurité de ces limitations sont spécifiquement la raison pour laquelle une jonction pourrait être préférée à un lien symbolique. Le ciblage à distance rend les liens symboliques plus fonctionnels, mais augmente également leur profil de sécurité, tandis que les jonctions sont plus sûres car elles sont limitées aux chemins locaux. . Donc, si vous voulez un lien local et que vous pouvez vivre avec un chemin absolu, vous êtes probablement mieux avec une jonction ; sinon, considérez un lien symbolique pour ses capacités supplémentaires.

enter image description here

* _L'affirmation d'une différence de vitesse/complexité provient d'une déclaration non vérifiée de la Commission européenne. Entrée Wikipedia sur les points de reparsage NTFS (une bonne lecture)._

** Depuis la mise à jour Windows 10 Creators Update, on peut activer le mode Développeur pour supprimer la restriction de l'administrateur pour les liens symboliques NTFS .


Autres comparaisons de liens NTFS

Voici d'autres comparaisons sur le sujet, mais elles peuvent être trompeuses lorsqu'on considère les jonctions, car elles n'énumèrent pas les avantages que j'énumère ci-dessus.

Tiré d'ici (une bonne lecture introductive)

enter image description here

De Page SS64 sur MKLink

enter image description here


Commentaires sur la terminologie

Les jonctions sont des points de partage (peuvent être décrites comme des liens symboliques).

Les jonctions NTFS et les liens symboliques NTFS font vraiment la même chose de la même manière (points de reparsage), à part les différences susmentionnées dans leur traitement. En fait, techniquement, une jonction est un "lien symbolique" dans le sens le plus général du terme, et parfois la documentation peut appeler une jonction un lien symbolique, comme c'est le cas ici . Dans ce cas, "lien symbolique" ne signifie pas lien symbolique NTFS qui est différent d'une jonction (voir ci-dessous).

NTFS

Même si l'OP le précise, il est utile de souligner que "lien symbolique" est un terme très général qui n'est pas spécifique à NTFS. Donc, pour être précis, cette comparaison concerne les jonctions NTFS par rapport aux liens symboliques NTFS.

38voto

James Manning Points 7989

Les endroits que je trouve les plus utiles pour les différences :

http://blogs.msdn.com/b/junfeng/archive/2006/04/15/576568.aspx

http://www.hanselman.com/blog/MoreOnVistaReparsePoints.aspx

Postulat : Symlink est à Junction sous Windows ce que Symlink est à Hardlink sous Unix.

http://en.wikipedia.org/wiki/Symbolic_link#Windows_7_.26_Vista_symbolic_link

Windows 7 et Windows Vista prennent en charge les liens symboliques pour les fichiers et les répertoires avec l'utilitaire de ligne de commande mklink. Contrairement aux points de jonction, un lien symbolique peut également pointer vers un fichier ou un chemin d'accès réseau distant Server Message Block (SMB). De plus, l'implémentation des liens symboliques NTFS fournit un support complet pour les liens inter-systèmes de fichiers. Toutefois, la fonctionnalité permettant les liens symboliques inter-hôtes exige que le système distant les prenne également en charge, ce qui limite effectivement leur prise en charge aux systèmes d'exploitation Windows Vista et ultérieurs.

http://www.tuxera.com/community/ntfs-3g-advanced/junction-points-and-symbolic-links/

Un lien symbolique, tel qu'il est créé par Windows, est très similaire à une jonction de répertoires, mais à la différence d'une jonction de répertoires, il peut pointer vers un fichier ou un fichier ou répertoire réseau distant. La cible peut être définie comme un chemin relatif à la position du lien symbolique, ou un chemin absolu dans le volume actuel ou un autre. Notez également que les liens symboliques vers des fichiers sont différents des liens symboliques vers des répertoires et que la cible doit correspondre à la définition.

1 votes

Pour des informations spécifiques à Windows 7 : msdn.microsoft.com/fr/us/library/Windows/desktop/

16 votes

La réponse acceptée date déjà de trois ans, mais je voudrais signaler que les points de jonction NFTS ne sont pas comparables aux hardlinks dans Unix, comme l'implique le postulat cité. Cela devrait être évident, puisqu'un point de jonction ne peut pas référencer un fichier alors qu'un lien dur le peut. NTFS supporte également les hardlinks (qui sont différents des jonctions), et ceux-ci sont plus ou moins comparables aux hardlinks d'Unix.

0 votes

@elgonzo Tout à fait d'accord. À ma connaissance, un lien dur Unix ne peut se référer qu'à un fichier, donc il ne ressemble pas du tout à une jonction de répertoire NTFS.

27voto

Techno Wizard Points 251

Fonctionnellement, dans Windows, une fois créé, il n'y a pas de réelle différence. Cependant, il existe des différences significatives entre eux dans ce qu'ils peuvent faire. Les jonctions ne peuvent être utilisées que pour créer des liens vers des dossiers, que ce soit sur le même lecteur ou sur des lecteurs différents, mais uniquement si ces lecteurs se trouvent sur le système local (vous ne pouvez pas créer un lien de jonction vers un dossier sur un réseau.) Les liens symboliques n'ont cependant pas les mêmes restrictions. Les liens symboliques peuvent être utilisés pour créer des liens vers des fichiers ou des dossiers et ces fichiers ou dossiers peuvent être situés sur le même système (même lecteur ou lecteurs différents) ou sur un partage réseau et peuvent utiliser des symboles de localisation relative (" \\system2\foldera\file.txt ", "d : \foldera\file.txt ", " \\system2\foldera ", "d : \foldera "ou "d : \foldera\folderb.. ", le lien résultant pour les 2 derniers exemples étant le même emplacement). Les symboles d'emplacement relatif peuvent être ".", "..", la fonction relative du lecteur actuel (si le lecteur actuel est c :, alors la spécification " \tempa\folderb "Le résultat est un lien vers c : \tempa\folderb ) et le répertoire courant relatif (si le répertoire courant est d : \foldera\folderb puis en spécifiant "d:file.txt", on obtient un lien vers d : \foldera\folderb\file.txt. )

Pour résumer : Les points de jonction sont limités aux dossiers du système local uniquement, tandis que les liens symboliques peuvent créer des liens vers des dossiers ou des fichiers accessibles via un chemin UNC ou sur le système local, avec une plus grande polyvalence dans la façon dont ces emplacements sont désignés. Les liens symboliques sont en fait un remplacement plus polyvalent des points de jonction et des liens physiques. De plus, les liens symboliques sont compatibles avec Unix et Linux lorsqu'il s'agit de créer un lien avec un chemin UNC sur plusieurs plates-formes.

J'espère que cela répond à votre question de manière satisfaisante. Modifié pour corriger les erreurs typographiques.

15voto

Clay Points 151

Extension Link Shell, http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html est un excellent outil pour créer et visualiser de nombreux types de liens. Il dispose également d'une excellente documentation.

[Sur une installation complète, il ajoute un nouvel onglet de propriétés si vous regardez un lien avancé. Il ajoute également des flèches de superposition d'icônes pour les différents types de liens - allez à la section FAQ si elles ne s'affichent pas ; Windows ne prend en charge que treize superpositions ; il indique une solution de contournement du registre. Un exemple de son utilité informative : Essayer sans succès d'obtenir des privilèges pour ce que vous pensiez être un dossier, mais qui était en fait un lien de jonction fourni par le système, souvent utilisé à des fins de compatibilité avec les anciennes éditions de Windows].

Les jonctions et les liens symboliques agissent essentiellement de manière identique lorsqu'ils sont créés pour un répertoire sur un système local.

Cependant :

Ils agissent différemment sur un réseau. Ce lien décrit ce comportement : https://superuser.com/questions/343074/directory-junction-vs-directory-symbolic-link

Si vous considérez les liens de jonction comme des "raccourcis qui trompent le système d'exploitation quant à leur emplacement", vous aurez une bonne idée pratique de leur utilisation et de ce qui les détruit. La principale différence est que si vous copiez des liens symboliques ou des jonctions, vous copiez la cible, et non (comme pour les raccourcis) simplement le fichier qui contient le pointeur. Comme pour les raccourcis, vous pouvez supprimer les liens symboliques ou les jonctions sans supprimer les fichiers/dossiers cibles. [Avec les liens durs, le fichier n'est supprimé qu'avec la suppression du dernier lien, y compris dans la corbeille. Regardez la balise de propriétés dans LSE pour n'importe lequel de ces liens pour voir la cible ou le nombre de références pour les Hard Links].

Les liens durs ou les raccourcis sont les seuls types de liens qui peuvent être déplacés sans effets secondaires comme la rupture ou la copie de la cible entière. Déplacer la cible brise toujours les liens, bien qu'ils puissent facilement être mis à jour dans l'onglet des propriétés (affiché avec LSE) ou recréés, si cela est compliqué, avec LSE.

La création de liens symboliques nécessite des privilèges d'administrateur, ce qui n'est pas le cas des jonctions. Ceci, ajouté à l'utilisation intensive des jonctions par le système d'exploitation, suggère que Windows les traite de manière intuitive et attendue. [Il faut toutefois se méfier des effets secondaires inattendus des dossiers système (d'après l'expérience de Win 10).

[Certaines des fonctions spécifiques à la sauvegarde de Link Shell Extension sont extrêmement utiles - en bref, il peut créer plusieurs types de structures de liens symboliques actualisables dans des dossiers standard à des fins de sauvegarde en attente].

10voto

JinJi Points 1111

En plus de l'excellente réponse de u8it :

Si quelqu'un est intéressé par la différence de comportement en Explorateur de fichiers de Windows dans Windows 10 :

glisser-déposer dans le répertoire cible :

  • symbolic link : déplace le symbolic link dans le répertoire cible
  • junction : déplace le original directory dans le répertoire cible

clic droit + propriétés :

  • symbolic link : vous montre les propriétés du raccourci
  • junction : vous montre original directory propriétés du dossier

clic de la moue gauche dans le volet de gauche (arbre de répertoire) :

  • symbolic link : sélectionne le original directory
  • junction : sélectionne le junction

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X