Schnelle Definitionen:
Symbolischer Link: Ein Link zu einer Datei oder einem Verzeichnis auf demselben oder einem anderen Volume (Laufwerksbuchstabe) oder sogar zu einer Remote-Datei oder einem Remote-Verzeichnis (unter Verwendung von UNC im Pfad).
Hard Link: Nur ein Link zu einer Datei auf demselben Volume (Laufwerksbuchstabe). Jede Datei (Dateidaten) hat mindestens 1 Hardlink (Dateiname). Durch das Löschen aller festen Links wird die Datei effektiv gelöscht.
Junction: Eine Verknüpfung zu einem Verzeichnis auf demselben oder einem anderen Volume (Laufwerksbuchstabe), jedoch nicht zu einem Remote-Verzeichnis.
Einzelheiten:
Angenommen, Sie arbeiten mit NTFS-Volumes in Windows Vista / 7, können Sie das Befehlszeilentool verwenden MKLINK
, um alle drei Arten von Links zu erstellen:
MKLINK [[/D] | [/H] | [/J]] Link Target /D Creates a directory symbolic link. Default is a file symbolic link. /H Creates a hard link instead of a symbolic link. /J Creates a Directory Junction. Link specifies the new symbolic link name. Target specifies the path (relative or absolute) that the new link refers to.
Symbolische Links : Ein symbolischer Link ist ein Dateisystemobjekt, das auf ein anderes Dateisystemobjekt (z. B. Datei / Verzeichnis) verweist.
MKLINK
kann verwendet werden, um symbolische Links zu erstellen. Mit dem/D
Parameter wird eine symbolische Verzeichnisverknüpfung erstellt. MKLINK prüft nicht, ob das Ziel eine Datei oder ein Verzeichnis ist oder ob das Ziel existiert! Dies bedeutet, dass Sie möglicherweise ungültige Verknüpfungen erstellen können, z. B. eine symbolische Verzeichnisverknüpfung mit einer Datei oder eine symbolische Verknüpfung mit einer nicht vorhandenen Datei / einem nicht vorhandenen Verzeichnis.Symbolische Links können entweder absolute oder relative Links sein. Absolute Links sind Links, die jeden Teil des Pfadnamens angeben, während relative Links relativ zu dem Ort bestimmt werden, an dem sich relative Bezeichner in einem angegebenen Pfad befinden.
Absolute symbolische Links können auf Dateien / Verzeichnisse auf demselben oder einem anderen Volume sowie auf eine Remote-Datei oder ein Remote-Verzeichnis mit dem UNC-Pfad verweisen. Relative symbolische Links sind jedoch auf ein einzelnes Volume beschränkt.
Zum Erstellen eines symbolischen Links sind erhöhte Berechtigungen erforderlich. Einmal erstellte erhöhte Berechtigungen sind jedoch nicht erforderlich, um den Link zu löschen.
Hardlinks : Ein Hardlink ist die Dateisystemdarstellung einer Datei, durch die mehrere Pfade auf eine einzelne Datei verweisen.
MKLINK
erlaubt das Erstellen von harten Links (mit dem/H
Parameter) nur von Dateien (nicht von Verzeichnissen). Ein Hardlink kann nur von einer Datei auf demselben Volume erstellt werden.Eine Datei mit mehreren Hardlinks wird nur dann wirklich gelöscht, wenn alle Hardlinks gelöscht werden, dh die Anzahl der Links erreicht null. Daher hat wirklich jede Datei, die Sie erstellen, mindestens einen festen Link, egal ob Sie sie verwenden
MKLINK
oder nicht.Alle Änderungen an dieser Datei sind sofort für Anwendungen sichtbar, die über die festen Links, auf die sie verweist, darauf zugreifen. Die Informationen zu Größe und Attribut des Verzeichniseintrags werden jedoch nur für die Verknüpfung aktualisiert, über die die Änderung vorgenommen wurde.
Beachten Sie, dass sich die Attribute der Datei in jeder festen Verknüpfung zu dieser Datei widerspiegeln und Änderungen an den Attributen dieser Datei auf alle festen Verknüpfungen übertragen werden. Wenn Sie beispielsweise das Schreibschutzattribut für einen Hardlink aufheben, um diesen bestimmten Hardlink zu löschen, und es mehrere Hardlinks zu der eigentlichen Datei gibt, müssen Sie das Schreibschutzattribut für die Datei neu setzen von einer der verbleibenden Hardlinks, um die Datei und alle übrigen Hardlinks wieder in den schreibgeschützten Zustand zu bringen.
Junctions : Eine Junction (auch Softlink genannt) unterscheidet sich von einer Hardlink-Verknüpfung darin, dass die von ihr referenzierten Speicherobjekte separate Verzeichnisse sind und eine Junction Verzeichnisse verknüpfen kann, die sich auf verschiedenen lokalen Volumes auf demselben Computer befinden. Ansonsten funktionieren Junctions identisch zu harten Links. Verknüpfungen werden durch Reparaturpunkte implementiert.
MKLINK
erlaubt das Erstellen einer Junction (unter Verwendung des/J
Parameters) eines Verzeichnisses (und sogar von Dateien, obwohl dies wahrscheinlich als ungültiger Link betrachtet werden sollte).Eine Junction kann als festes Link-Äquivalent für eine symbolische Verknüpfung zu einem Verzeichnis betrachtet werden. Ein Junction-Link kann nicht für ein Remote-Verzeichnis erstellt werden, er kann jedoch für ein Verzeichnis auf demselben / einem anderen Volume erstellt werden.
Verweise:
[1] Hardlinks und Verknüpfungen: https://msdn.microsoft.com/de-de/library/windows/desktop/aa365006%28v=vs.85%29.aspx
[2] Erstellen symbolischer Links: https://msdn.microsoft.com/de-de/library/windows/desktop/aa363878%28v=vs.85%29.aspx