web-dev-qa-db-fra.com

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

À un niveau élevé, la seule différence évidente entre points de jonction NTFS et liens symboliques est que les jonctions ne peuvent être que des répertoires, alors que SymLinks est également autorisé à cibler des fichiers.

Quelles autres différences entre les deux existent?

(Remarque, j'ai déjà vu cette question et ce que je recherche est un peu différent - cette question recherche une liste des avantages et des inconvénients, je recherche un ensemble de différences)

121
Billy ONeal

Les liens symboliques ont plus de fonctionnalités, alors que les jonctions semblent presque être une fonctionnalité héritée en raison de leurs limitations, mais les implications de ces limitations pour la sécurité sont précisément 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 contraintes aux chemins locaux . Donc, si vous voulez un lien local et pouvez vivre avec un chemin absolu, vous êtes probablement mieux avec une jonction; sinon, considérons un lien symbolique pour ses capacités supplémentaires.

enter image description here

** L’affirmation de la différence de vitesse/complexité provient d’une affirmation non vérifiée dans le entrée Wikipedia sur les points d’analyse NTFS (bonne lecture). *


Autres comparaisons de liens NTFS

Voici quelques autres comparaisons sur le sujet, mais elles peuvent être trompeuses lorsque vous envisagez des jonctions car elles ne répertorient pas les avantages énumérés ci-dessus.

Tiré d'ici (une bonne lecture d'introduction)

enter image description here

De page SS64 sur MKLink

enter image description here


Commentaires sur la terminologie

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

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

[~ # ~] NTFS [~ # ~]

Même si le PO le spécifie, il convient 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.

65
u8it

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 doit jonction dans Windows, tandis 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 à l'aide de l'utilitaire de ligne de commande mklink. Contrairement aux points de jonction, un lien symbolique peut également pointer vers un fichier ou un chemin réseau SMB (Server Message Block) distant. De plus, l'implémentation des liens symboliques NTFS fournit une prise en charge complète des liens entre systèmes de fichiers. Cependant, la fonctionnalité permettant des liens symboliques entre hôtes nécessite que le système distant les prenne également en charge, ce qui limite efficacement leur prise en charge à Windows Vista et aux systèmes d'exploitation Windows ultérieurs.

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

Un lien symbolique, tel que créé par Windows, est très similaire à une jonction de répertoire. Toutefois, contrairement à une jonction de répertoire, il peut pointer sur un fichier ou sur un fichier ou un 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 les fichiers diffèrent des liens symboliques vers les répertoires et que la cible doit correspondre à la définition.

34
James Manning

Sur le plan fonctionnel, dans Windows, une fois créé, il n'y a pas de réelle différence. Cependant, il existe des différences significatives entre ce qu’ils peuvent faire. Les jonctions ne peuvent être utilisées que pour la création de liens vers des dossiers, 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 de lien de jonction vers un dossier sur un réseau.) Liens symboliques Cependant, ne pas avoir les mêmes restrictions. Les liens symboliques peuvent être utilisés pour créer des liens vers des fichiers ou des dossiers. Ces fichiers ou dossiers peuvent être situés soit sur le même système (même lecteur ou lecteurs différents), soit sur un partage réseau, et peuvent utiliser des symboles de localisation relatifs ("\\ system2\foldera\file.txt "," d:\foldera\file.txt "," \\ system2\foldera "," d:\foldera "ou" d:\foldera\folderb .. "avec le lien résultant pour le Les deux derniers exemples sont au même emplacement.) La symbolique d’emplacement relatif peut être ".", "..", fonction relative du lecteur actuel (si le lecteur actuel est c :, puis spécifiez "\ tempa\folderb" pour obtenir un lien vers c:\tempa\folderb,) et le répertoire en cours relatif (si le répertoire en cours est d:\foldera\folderb, spécifiez "d: fichier.txt" pour créer un lien vers d:\foldera\folderb\fichier.txt.)

Pour résumer: les points de jonction sont limités aux dossiers du système local, 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 désignation de ces emplacements. Symbolic Links est fondamentalement un remplacement plus polyvalent pour les points de jonction et les liens durs. De plus, les liens symboliques sont compatibles avec Unix et Linux lors de la création d'un lien avec un chemin UNC multiplate-forme.

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

18
Techno Wizard

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

[Lors d'une installation complète, un nouvel onglet de propriétés est ajouté si vous recherchez un lien avancé. At ajoute également des flèches de superposition d'icônes pour les différents types de liens - faites défiler jusqu'à la section FAQ si elles ne s'affichent pas; Windows ne prend en charge que treize superpositions; il affiche une solution de contournement du registre. utilité informationnelle: tentative infructueuse d'obtention de privilèges sur ce que vous pensiez être un dossier, mais en fait un lien de jonction fourni par le système, souvent utilisé à des fins de compatibilité avec les éditions plus anciennes de Windows.]

Les jonctions et les liens symboliques ont une action essentiellement identique lorsqu'ils sont créés pour un répertoire sur un système local.

Pourtant:

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 en ce qui concerne l’emplacement", vous aurez une bonne comparaison pratique de leur utilisation et de ce qui les casse. La principale différence est que si vous copiez des liens symboliques ou des jonctions, la cible est plutôt copiée (comme les raccourcis) uniquement le fichier contenant le pointeur. Comme avec les raccourcis, vous pouvez supprimer des liens symboliques ou de jonction sans supprimer les fichiers/dossiers cibles. [Liens durs, le fichier n’est supprimé qu’avec le retrait du dernier lien - y compris de la corbeille. Examinez la balise properties dans LSE pour rechercher l'un de ces liens afin de connaître la cible ou le nombre de références pour les liens physiques.]

Les liens durs ou les raccourcis sont les seuls types de lien pouvant être déplacés sans effets secondaires comme la rupture ou la copie de la cible entière. Le déplacement de la cible rompt toujours les liens, même s'ils peuvent facilement être mis à jour dans l'onglet Propriétés (affiché avec LSE) ou recréés, si compliqués, avec LSE.

La création de liens symboliques nécessite des privilèges d’administrateur, contrairement aux jonctions. Ceci, ajouté à l'utilisation étendue et interne du système Junctions dans le système d'exploitation, suggère que Windows les gère de manière intuitive et attendue. [Méfiez-vous des effets secondaires inattendus des dossiers système (à partir de votre expérience avec Win 10).]

[Certaines fonctionnalités de Link Shell Extension spécifiques à la sauvegarde sont extrêmement utiles - en bref, elles peuvent créer plusieurs types de structures de liens symboliques pouvant être mises à jour dans des dossiers standard à des fins de sauvegarde en attente.]

10
Clay

Les liens symboliques ont été introduits très récemment dans Windows: à partir de Vista.

Les liens symboliques ne doivent pas être considérés comme une alternative à la technologie NTFS "Reparse Point" existante.

Microsoft explique que les liens symboliques ont pour seul objectif d'être davantage compatibles avec Unix.

MSDN: "Les liens symboliques ont été conçus pour faciliter la migration et la compatibilité des applications avec UNIX. Microsoft a implémenté ses liens symboliques pour fonctionner comme des liens UNIX."

Vista est également le premier système d'exploitation à utiliser des liens pour son propre fonctionnement. Pour être compatible avec les noms de dossiers hérités, C:\Documents and Settings Est maintenant un lien vers C:\Users.

Fait intéressant, bien que Vista ait introduit les liens symboliques, cette astuce "Documents and Settings" Est en réalité une jonction un peu ancienne.

4
Philip

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

Si quelqu'un est intéressé par la différence de comportement de Explorateur de fichiers Windows sous 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 de la souris + propriétés:

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

clic gauche dans le volet gauche (arborescence de répertoires):

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