Was sind die verschiedenen Verbindungstypen in Windows? Wie erstelle ich sie?

10734
Cookie

Kann ich zwei Dateien oder Ordner verknüpfen, ohne unter Windows eine andere Erweiterung zu haben?

Ich suche nach Funktionen, die den Soft- und Hardlinks in Unix entsprechen.

52
Dies steht im Zusammenhang mit http://superuser.com/questions/343074/directory-junction-vs-directory-symbolic-link barlop vor 7 Jahren 0
großartiger Artikel hier http://cects.com/overview-to-understanding-hard-links-junction-points-and-symbolic-links-in-windows/ Achten Sie auf Würfelvorbereitungen vor W7 barlop vor 7 Jahren 0

4 Antworten auf die Frage

55
grawity

Bitte beachten Sie, dass der einzige unglückliche Unterschied darin besteht, dass Sie Administratorrechte benötigen, um symbolische Links zu erstellen. IE, Sie benötigen eine erhöhte Eingabeaufforderung. (Eine Problemumgehung ist, dass das SeCreateSymbolicLinkPrivilege normalen Benutzern über gewährt werden kann secpol.msc.)

Hinweis in der Terminologie: Windows-Verknüpfungen werden nicht als "Symlinks" bezeichnet. Es handelt sich hierbei um Shell-Links, da es sich lediglich um Dateien handelt, die von der Windows Explorer-Shell speziell behandelt werden.


Symlinks: Wie erstelle ich sie im NTFS-Dateisystem?

Windows Vista und spätere Versionen unterstützen Symix- Links im Unix-Stil in NTFS-Dateisystemen. Beachten Sie, dass sie auch der gleichen Pfadauflösung folgen - relative Links werden relativ zum Speicherort der Links erstellt, nicht zum aktuellen Verzeichnis. Die Leute vergessen das oft. Sie können auch über einen absoluten Pfad implementiert werden. EG c: \ windows \ system32 anstelle von \ system32 (das in ein system32-Verzeichnis geht, das mit dem Speicherort der Verknüpfung verbunden ist).
Symlinks werden mithilfe von Analysepunkten implementiert und verhalten sich im Allgemeinen wie Unix-Symlinks.

Für Dateien können Sie Folgendes ausführen:

mklink  linkname  zielpfad 

Für Verzeichnisse können Sie Folgendes ausführen:

mklink / d linkname  zielpfad 

Hardlinks: Wie erstelle ich sie auf NTFS-Dateisystemen?

Alle Versionen von Windows NT unterstützen feste Links im NTIX-Dateisystem. Verwenden von mklink unter Vista und höher:

mklink / h linkname  zielpfad 

Verwenden Sie für Windows 2000 und XP fsutil.

fsutil Hardlinks erstellen Verbindungsname  targetpath 

Diese funktionieren auch auf die gleiche Weise wie die festen Unix-Verknüpfungen. Mehrere Dateitabelleneinträge zeigen auf den gleichen Inode .


Directory Junctions: Wie erstelle ich sie in NTFS-Dateisystemen?

Windows 2000 und höher unterstützen Verzeichnisverbindungen auf NTFS-Dateisystemen. Sie unterscheiden sich von Symlinks darin, dass sie immer absolut sind und nur auf Verzeichnisse zeigen, niemals auf Dateien.

mklink / j linkname  zielpfad 

Bei Versionen, die nicht vorhanden sind mklink, junctionvon Sysinternals herunterladen :

Junction-  Linkname  Zielpfad 

Verknüpfungen werden mithilfe von Analysepunkten implementiert .


Wie kann ich ein Volume über einen Analysepunkt in Windows einbinden?

Der Vollständigkeit halber können Reparse-Punkte unter Windows 2000 und höher auch auf Volumes verweisen, was zu dauerhaften Unix- Datenträger-Mounts führt :

mountvol  einhängepunkt \\? \ Volume { VolumeGuid } 

Volume-GUIDs werden nach aufgelistet mountvol. Sie sind statisch, aber nur innerhalb derselben Maschine.


Gibt es eine Möglichkeit, dies in Windows Explorer durchzuführen?

Ja, Sie können die Shell-Erweiterung Link Shell Extension verwenden, die das Erstellen der oben beschriebenen Links sehr einfach macht. Die Downloads finden Sie am unteren Rand der Seite .

Das NTFS-Dateisystem, das in NT4, Windows 2000, Windows XP, Windows XP64 und Windows7 implementiert ist, unterstützt eine als Hardlinks ( Hardlinks ) bezeichnete Einrichtung . Hardlinks bieten die Möglichkeit, eine einzelne Kopie einer Datei aufzubewahren und sie in mehreren Ordnern (Verzeichnissen) anzuzeigen. Sie können mit dem Befehl POSIX erstellt werden ln enthalten in der Windows Resource Kit, das fsutil Kommandodienstprogramm in Windows XP oder meine Befehlszeile ln.exe Dienstprogramm.

Die Erweiterung ermöglicht es dem Benutzer, eine oder mehrere Dateien oder Ordner auszuwählen. Anschließend können Sie mit der Maus die erforderlichen Verknüpfungen (Hardlinks, Junctions oder symbolische Links) erstellen oder im Fall von Ordnern Klone erstellen, die aus harten oder symbolischen Links bestehen. LSE wird von allen Windows-Versionen unterstützt, die NTFS Version 5.0 oder höher unterstützen, einschließlich Windows XP64 und Windows7. Hardlinks, Junctions und symbolische Links werden auf FAT-Dateisystemen NICHT unterstützt, und der Klon- und Smart-Copy-Prozess wird nicht auf FAT-Dateisystemen unterstützt.

Die Quelle kann einfach werden gepflückt über ein Menü der rechten Maustaste.

Und je nachdem, was Sie ausgewählt haben, klicken Sie mit der rechten Maustaste auf einen Zielordner und erhalten ein Menü mit Optionen.

Dies macht es sehr einfach, Links zu erstellen. Eine ausführliche Anleitung finden Sie in der LSE-Dokumentation .

Downloads finden Sie am Ende ihrer Seite .

Relevante MSDN-URLs:

39
Tom Wijsman

In dieser Antwort versuche ich zu erläutern, was die verschiedenen Arten von Links in der Verzeichnisverwaltung sind und warum sie nützlich sind und wann sie verwendet werden könnten. Wenn Sie versuchen, eine bestimmte Organisation auf Ihren Dateidatenträgern zu erreichen, ist das Wissen um die verschiedenen Typen sowie das Erstellen von ihnen wertvolles Wissen.

Informationen dazu, wie ein bestimmter Link hergestellt werden kann, finden Sie in der Antwort von grawity .

Was ist ein Link?

Eine Verknüpfung ist eine Beziehung zwischen zwei Entitäten. Im Kontext der Verzeichnisverwaltung kann eine Verknüpfung als eine Beziehung zwischen den beiden folgenden Entitäten betrachtet werden:

  1. Verzeichnis-Tabelle

    Diese Tabelle verfolgt die Dateien und Ordner, die sich in einem bestimmten Ordner befinden.

    Eine Verzeichnistabelle ist ein spezieller Dateityp, der ein Verzeichnis darstellt (auch als Ordner bezeichnet). Jede darin gespeicherte Datei oder jedes Verzeichnis wird durch einen 32-Byte-Eintrag in der Tabelle dargestellt. Jeder Eintrag enthält den Namen, die Erweiterung, die Attribute (Archiv, Verzeichnis, ausgeblendet, schreibgeschützt, System und Volume), Datum und Uhrzeit der letzten Änderung, die Adresse des ersten Clusters der Datei- / Verzeichnisdaten und schließlich die Größe von die Datei / das Verzeichnis.

  2. Daten-Cluster

    Genauer gesagt, der erste Cluster der Datei oder des Verzeichnisses.

    Ein Cluster ist die kleinste logische Menge an Speicherplatz, die zum Speichern einer Datei zugewiesen werden kann.

Das Besondere an dieser Beziehung ist, dass nur ein Datencluster vorhanden ist, jedoch viele Verknüpfungen zu diesem Datencluster. Dadurch können Daten an mehreren Speicherorten angezeigt werden. Es gibt jedoch mehrere Möglichkeiten, dies zu tun, und jede Methode hat ihre eigenen Auswirkungen.

Um zu sehen, woher diese Wurzeln stammen, gehen wir in die Vergangenheit zurück ...

Was ist ein Shell Link und warum reicht es nicht immer aus?

Obwohl es sich vielleicht nicht vertraut anhört, kennen wir alle dieses! Dateiverknüpfungen sind zweifellos die am häufigsten verwendete Methode zum Verknüpfen von Dateien. Diese wurden in einigen früheren Versionen von Windows 9x gefunden und sind seit langem vorhanden.

Damit können Sie schnell eine Verknüpfung zu einer beliebigen Datei oder einem Ordner erstellen. Sie dienen dazu , zusätzliche Informationen nur über den Link zu speichern, z. B. das Arbeitsverzeichnis, in dem die Datei ausgeführt wird, die Argumente für das Programm sowie Optionen wie ob das Programm zu maximieren.

Der Nachteil dieser Art der Verknüpfung ist genau das. Die zusätzlichen Informationen erfordern, dass diese Art von Verknüpfung über einen Datencluster verfügt, der diese Datei enthält. Das Problem ist also nicht notwendigerweise, dass Speicherplatz benötigt wird, sondern vielmehr, dass auf den Link indirekt zugegriffen wird, da der Datencluster zuerst angefordert werden muss, bevor wir zum eigentlichen Link gelangen. Wenn der Pfad, auf den in der aktuellen Verknüpfung verwiesen wird, weg ist, ist die Shell-Verknüpfung noch vorhanden.

Wenn Sie die Datei bearbeiten möchten, auf die verwiesen wird, müssen Sie zunächst herausfinden, in welchem ​​Verzeichnis sich die Datei befindet. Sie können den Link nicht einfach in einem Editor öffnen, da Sie dann die .lnkDatei bearbeiten und nicht die Datei, mit der Sie verknüpft sind. Dadurch werden viele mögliche Anwendungsfälle für Shell-Links ausgeschlossen.

Wie funktioniert ein Verbindungspunkt versucht Link, diese Probleme zu lösen?

Mit einem NTFS-Verzweigungspunkt kann ein symbolischer Link zu einem Verzeichnis auf den lokalen Laufwerken erstellt werden, sodass es sich wie ein normales Verzeichnis verhält. Sie haben also ein Verzeichnis mit Dateien, die auf Ihrer Festplatte gespeichert sind, aber Sie können von mehreren Speicherorten darauf zugreifen.

Beim Entfernen des Knotenpunkts bleibt das ursprüngliche Verzeichnis erhalten. Beim Entfernen des ursprünglichen Verzeichnisses bleibt der Knotenpunkt erhalten. Es ist sehr teuer, die Festplatte aufzulisten, um zu prüfen, ob Knotenpunkte gelöscht werden müssen. Dies ist aufgrund der Implementierung ein Nachteil.

Der NTFS-Verzweigungspunkt wird mithilfe von NTFS-Analysepunkten implementiert, bei denen es sich um mit Windows 2000 eingeführte NTFS-Dateisystemobjekte handelt.

Ein NTFS-Analysepunkt ist ein Typ eines NTFS-Dateisystemobjekts. Reparse-Punkte bieten eine Möglichkeit, das NTFS-Dateisystem durch Hinzufügen zusätzlicher Informationen zum Verzeichniseintrag zu erweitern, sodass ein Dateisystemfilter interpretieren kann, wie das Betriebssystem die Daten behandelt. Dies ermöglicht die Erstellung von Knotenpunkten, symbolischen NTFS-Links und Volume-Einhängepunkten und ist eine wichtige Funktion des Windows 2000-Hierarchischen Speichersystems.

Das ist richtig, die Erfindung des Reparse-Punkts erlaubt uns, differenziertere Verknüpfungsmöglichkeiten zu entwickeln.

Der NTFS-Knotenpunkt ist ein Softlink, dh er verbindet sich nur mit dem Namen der Datei. Dies bedeutet, dass beim Löschen der Verknüpfung die ursprünglichen Daten erhalten bleiben . aber immer dann, wenn die ursprünglichen Daten die Originaldaten gelöscht werden verschwunden sein .

Kann ich auch Softlink-Dateien verwenden? Gibt es symbolische Links?

Ja, als Windows Vista auf den Markt kam, beschlossen sie, die Funktionalität der NTFS-Dateisystemobjekte durch die Bereitstellung der symbolischen NTFS-Verknüpfung zu erweitern . Hierbei handelt es sich um eine Soft-Verknüpfung, die wie der NTFS-Knotenpunkt funktioniert . Kann aber auf Datei und Verzeichnisse angewendet werden.

Sie haben wieder dasselbe Löschverhalten. In einigen Anwendungsfällen kann dies für Dateien eine Belastung sein, da Sie nicht möchten, dass eine unbrauchbare Kopie einer Datei herumliegt. Deshalb wurde auch der Begriff der Hardlinks implementiert.

Was ist ein Hardlink und wie verhält es sich im Gegensatz zu Softlinks?

Feste Links sind keine NTFS-Dateisystemobjekte, sondern eine Verknüpfung zu einer Datei (im Detail beziehen sie sich auf den MFT-Eintrag, da dieser zusätzliche Informationen über die eigentliche Datei speichert). Der MFT-Eintrag enthält ein Feld, in dem der Zeitraum gespeichert wird, mit dem eine Datei fest verbunden ist. Die Daten sind weiterhin verfügbar, solange noch mindestens eine darauf verweisende Verbindung besteht.

Die Daten hängen also nicht mehr von einem einzelnen MFT-Eintrag ab . Solange es eine feste Verbindung gibt, bleiben die Daten erhalten. Dies verhindert ein versehentliches Löschen in Fällen, in denen nicht gespeichert werden soll, wo sich die Originaldatei befand.

Sie können beispielsweise einen Ordner mit "Filmen, die ich noch anschauen muss" sowie einem Ordner "Filme, die ich im Urlaub mitnehme" sowie einem Ordner "Lieblingsfilme" erstellen. Filme, bei denen es sich nicht handelt, werden ordnungsgemäß gelöscht, während Filme, bei denen es sich um Filme handelt, auch dann bestehen bleiben, wenn Sie einen Film angesehen haben.

Wozu dient ein Volume-Mount-Point- Link?

Einige IT- oder Business-Leute mögen es nicht, sich an die unterschiedlichen Laufwerksbuchstaben ihres Systems erinnern zu müssen. Was heißt M:eigentlich eigentlich? War es Musik? Filme? Models? Karten?

Microsoft hat im Laufe des Jahres Anstrengungen unternommen, um die Migration der Benutzer von dem Ziel work in drive C:zu versuchen work in your user folder. Ich könnte ohne Zweifel sagen, dass die Benutzer mit UAC und Berechtigungsproblemen diejenigen sind, die diese Richtlinien nicht befolgen, was sie jedoch nicht wundert:

Warum sollten Sie sogar täglich etwas anderes als Ihre persönlichen Dateien anzeigen?

Volume-Einhängepunkte sind die professionelle IT-Methode, die nicht durch Laufwerksbuchstaben eingeschränkt wird und über eine Verzeichnisstruktur verfügt, die für sie sinnvoll ist, sondern ...

Meine Dateien befinden sich an verschiedenen Orten. Kann ich Links verwenden, um sie zusammen zu bekommen?

In Windows 7 wurden Bibliotheken genau zu diesem Zweck eingeführt. Fertig mit Musikdateien, die sich in diesem Ordner befinden, sowie diesem Ordner und diesem Ordner . In einer niedrigeren Ansichtsebene kann eine Bibliothek als mehrere Links angezeigt werden. Sie werden wieder als Dateisystemobjekt implementiert, das mehrere Referenzen enthalten kann. Es ist im Wesentlichen eine Eins-zu-Viele-Beziehung ...

Mein Gehirn explodiert ... Können Sie zusammenfassen, wann Sie sie benutzen sollen?

  • Verknüpfungsverknüpfungen: Verwenden Sie sie, wenn Sie einen schnellen Zugriff auf eine ausführbare Datei oder Website, eine Datei benötigen, die Sie häufig starten, oder wenn Sie einer Anwendung Parameter angeben müssen und eine Batchdatei ein Overkill ist. Verwenden Sie es nicht, wenn Sie die Datei über die Verknüpfung bearbeiten möchten.

  • Knotenpunkte: Verwenden Sie sie, wenn Sie möchten, dass sich ein Verzeichnis an einem anderen Ort befindet. Auf diese Weise können Sie Verzeichnisse auf schnellere oder langsamere Laufwerke verschieben, ohne dass der Zugriff auf den ursprünglichen Pfad verloren geht. Eine andere Verwendung ist, wenn Sie über einen anderen Pfad auf ein Verzeichnis zugreifen möchten. Diese können nicht zur Verknüpfung mit einer Freigabe verwendet werden.

  • Softlinks: Verwenden Sie sie, wenn ein Verknüpfungslink nicht ausreicht. Er wird häufig verwendet, wenn Sie die Datei über ihre Verknüpfung bearbeiten möchten. Oder wenn Sie möchten, dass die Datei schneller oder langsamer läuft, ohne dass der Zugriff auf den ursprünglichen Pfad verloren geht.

  • Hardlinks: Verwenden Sie sie, wenn Sie nur möchten, dass eine Datei gelöscht wird, wenn alle Hardlinks entfernt werden. Dies kann nicht für Ordner verwendet werden.

  • Volume-Bereitstellungspunkte: Verwenden Sie sie, wenn Sie keine Laufwerksbuchstaben mehr haben oder wenn Sie den Zugriff auf ein Volume eher über einen Pfad als durch einen Laufwerksbuchstaben für möglich halten.

  • Bibliotheken: Verwenden Sie sie, wenn Sie an vielen verschiedenen Standorten über denselben Dateityp verfügen und diese zusammengefügt werden müssen. Dies unterstützt Wechseldatenträger. Daher ist es praktisch, die Ordner auf den Wechseldatenträgern beim Einfügen zwischen den Ordnern auf Ihrem Computer anzuzeigen es. Sie können im Ordnerbaum unter der Bibliothek in der Baumansicht auf die einzelnen Ordner klicken, wodurch das Verschieben von Dateien zwischen beiden erleichtert wird.

Bibliotheken sind wie Verknüpfungen auf Shell-Ebene, oder? Medinoc vor 9 Jahren 0
@Medinoc: Nein, sie fassen den Inhalt mehrerer Standorte zusammen. Tom Wijsman vor 9 Jahren 0
Tun sie dies jedoch auf Dateisystemebene so, dass zum Beispiel cmd.exe und `dir 'den aggregierten Inhalt auflisten können (in welchem ​​Fall sie sich im Dateisystem befinden, kann ich sie nicht finden) oder tun Sie aggregieren nur auf Shell-Ebene, wo nur Windows Explorer und Dateidialoge sie anzeigen können. Ich hatte den Eindruck, dass es das letzte war, aber Ihr "Nein" stellt dies in Frage, wenn ich meine Frage nicht falsch schreibe (ich wollte sagen, "Bibliotheken sind Shell-Ebene wie Verknüpfungsverknüpfungen **, nicht wahr?"). Medinoc vor 9 Jahren 1
@Medinoc: Es handelt sich um Dateien unter `C: \ Benutzer \ \ AppData \ Roaming \ Microsoft \ Windows \ Libraries`. Tom Wijsman vor 9 Jahren 0
Danke, ich konnte überprüfen, dass alles, was nicht die Shell ist, nur als normale Dateien angesehen wird. Das beantwortet meine Frage. Medinoc vor 9 Jahren 0
@TomWijsman, Neben den integrierten Bibliotheken: Wie können wir unsere eigenen "Bibliotheken" erstellen, um den Inhalt mehrerer Standorte auf bestimmte Weise zusammenzufassen? Pacerier vor 9 Jahren 0
@ Pacerier: Wechseln Sie zu Windows Explorer. Stellen Sie sicher, dass Sie sich in "Bibliotheken" befinden. Sie können dies ohne Anführungszeichen in die Adressleiste eingeben. Klicken Sie dann mit der rechten Maustaste in den Rohling. Klicken Sie im angezeigten Menü auf "Neu" und dann auf "Bibliothek". Tom Wijsman vor 9 Jahren 0
@ TomWijsman, ich sehe, dass wir unter "Verwalten" sogar die Standard-Bibliotheken löschen können! Ist das sicher? Pacerier vor 9 Jahren 0
@ Pacerier: Heikle Frage; Ich denke, die Antwort darauf lautet "hängt von der Software ab, die Sie ausführen". Möglicherweise gibt es Software, die die Bibliotheks-API-Funktionen verwendet. Tom Wijsman vor 9 Jahren 0
@ TomWijsman, ich meine, keine Drittanbieter-Software anzufragen, aber scheitert Windows? Pacerier vor 9 Jahren 0
@ Pacerier: Windows verwendet das alte Ortungssystem, in dem Sie beispielsweise einen Musikordner aus seinen Eigenschaften verschieben können. Neu hinzugekommen sind Bibliotheken, die das Betriebssystem selbst kaum nutzt. Deshalb bezweifle ich, ob irgendetwas kaputt gehen würde; da sie ausschließlich zu Anzeigezwecken bestimmt sind, ... Tom Wijsman vor 9 Jahren 1
@TomWijsman, gute Argumente, sie sind wund, ich werde sie dann löschen. Pacerier vor 9 Jahren 0
8
GeminiDomino

Wenn Sie Windows Vista oder höher verwenden und über Administratorrechte verfügen, können Sie den Befehl mklink (ein Befehlszeilenprogramm) auschecken. Ich bin nicht sicher, wie symlink-y es eigentlich ist, da Windows das kleine Pfeilsymbol enthält, das mit Abkürzungen versehen wird. Ein schneller Notepad ++ - Test für eine Textdatei weist jedoch darauf hin, dass es möglicherweise für das, was Sie suchen, funktioniert.

Sie können mklink ohne Argumente ausführen, um eine Kurzanleitung zur Verwendung zu erhalten.

Ich hoffe das hilft.

mklink verwendet NTFS-Knotenpunkte (ich glaube, wie sie genannt werden), um Unix-ähnliche Verknüpfungen mehr oder weniger perfekt zu duplizieren. Windows kann jedoch erkennen, dass es sich um eine Kreuzung handelt, daher wird das traditionelle Pfeilsymbol angezeigt. Iirc können Sie dies mit etwas Registry-Fummeln entfernen, aber ich weiß nicht mehr wo. jcrawfordor vor 12 Jahren 0
@jcrawfordor: Die Festplattenstrukturen lauten ["Reparaturpunkte"] (http://msdn.microsoft.com/en-us/library/windows/desktop/aa365503%28v=vs.85%29.aspx). Junctions und Symlinks sind zwei verschiedene Arten von Reparaturpunkten. Volume-Mountpoints sind dritte. grawity vor 12 Jahren 2
Und ja, @Gemini, `mklink`-erstellte Symlinks wurden speziell für Unix implementiert (http://msdn.microsoft.com/de-de/library/windows/desktop/aa365680%28v=vs). 85% 29.aspx). grawity vor 12 Jahren 1
Vielen Dank für die Bestätigung. Ich habe noch nie viel mit ihnen herumgespielt, deshalb wollte ich nur disclaim.h einschließen. GeminiDomino vor 12 Jahren 0
2
barlop

Dieser Artikel hat einige Unterschiede

Ein wichtiger Unterschied ist, dass Junctions vor win7 in gewisser Weise ein bisschen unsicher waren, da das Löschen des Zielverzeichnisses dadurch gelöscht würde.

http://cects.com/overview-to-understanding-hard-links-junction-points-und-symbolic-links-in-windows/

In Win2k, Win2003 und WinXP mit Explorer, den Befehlen del oder del / s oder einem Dienstprogramm, das Verzeichnisse rekursiv durchläuft, sollte ein Verbindungspunkt niemals entfernt werden, da das Zielverzeichnis und alle seine Unterverzeichnisse gelöscht werden. Verwenden Sie stattdessen den Befehl rmdir, das Dienstprogramm linkd oder fsutil (bei Verwendung von WinXP oder höher) oder ein Drittanbieter-Tool, um den Verzweigungspunkt zu entfernen, ohne das Ziel zu beeinflussen. In Vista / Win7 können Sie Junction Points sicher mit dem Explorer oder mit den Befehlen rmdir und del löschen.