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

Antworten:

57

Bitte beachten Sie, dass der einzige bedauerliche Unterschied darin besteht, dass Sie Administratorrechte benötigen, um symbolische Links zu erstellen. IE, benötigen Sie eine erhöhte Eingabeaufforderung. (Eine Problemumgehung ist, dass 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 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 Symlinks im Unix-Stil auf NTFS-Dateisystemen. Denken Sie daran, dass sie auch der gleichen Pfadauflösung folgen - relative Links werden relativ zum Speicherort des Links erstellt, nicht zum aktuellen Verzeichnis. Das wird oft vergessen. Sie können auch über einen absoluten Pfad implementiert werden. ZB c: \ windows \ system32 statt \ system32 (wechselt in ein System32-Verzeichnis, das mit dem Speicherort des Links verbunden ist).
Symlinks werden mithilfe von Analysepunkten implementiert und haben im Allgemeinen dasselbe Verhalten wie Unix-Symlinks.

Für Dateien, die Sie ausführen können:

mklink  linkname  targetpath

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 Unix- Verknüpfungen auf NTFS-Dateisystemen. Verwenden von mklink unter Vista und höher:

mklink / h Linkname  Zielpfad

Verwenden Sie für Windows 2000 und XP fsutil.

Fsutil Hardlink erstellen Linkname  Zielpfad

Diese funktionieren genauso wie Unix-Hardlinks - mehrere Einträge in der Dateitabelle verweisen auf denselben Inode .


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

Windows 2000 und höher unterstützen Verzeichnis-Junctions auf NTFS-Dateisystemen. Sie unterscheiden sich von symbolischen Links darin, dass sie immer absolut sind und nur auf Verzeichnisse verweisen, niemals auf Dateien.

mklink / j Linkname  Zielpfad

Auf Versionen, die nicht haben mklink, junctionvon Sysinternals herunterladen :

Junction  Linkname  Zielpfad

Junctions werden mithilfe von Analysepunkten implementiert .


Wie kann ich ein Volume mithilfe eines Analysepunkts in Windows bereitstellen?

Der Vollständigkeit halber können Analysepunkte unter Windows 2000 und höher auch auf Volumes verweisen , was zu dauerhaften Datenträgerladevorgängen im Unix-Stil führt :

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

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


Gibt es eine Möglichkeit, dies im Windows Explorer zu tun?

Ja, Sie können die Shell-Erweiterung Link Shell Extension verwenden, mit der die oben beschriebenen Links sehr einfach erstellt werden können. Sie finden die Downloads unten auf der Seite .

Das in NT4, Windows 2000, Windows XP, Windows XP64 und Windows 7 implementierte NTFS-Dateisystem unterstützt eine Funktion, die als Hardlinks (hier als Hardlinks bezeichnet ) bezeichnet wird. Hardlinks bieten die Möglichkeit, eine einzelne Kopie einer Datei zu speichern, die jedoch in mehreren Ordnern (Verzeichnissen) angezeigt wird. Sie können mit dem im Windows Resource Kit enthaltenen POSIX-Befehl ln , dem in Windows XP enthaltenen Befehlsdienstprogramm fsutil oder dem Dienstprogramm my command line ln.exe erstellt werden .

Die Erweiterung ermöglicht es dem Benutzer, eine oder mehrere Dateien oder Ordner auszuwählen und dann mit der Maus die erforderlichen Verknüpfungen - Hardlinks, Junctions oder symbolische Verknüpfungen - zu erstellen oder bei Ordnern Klone zu erstellen, die aus Hard- oder symbolischen Verknüpfungen 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 von FAT-Dateisystemen NICHT unterstützt, und der Klon- und Smart Copy-Prozess wird von FAT-Dateisystemen nicht 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 der Seite .

Relevante MSDN-URLs:

Grawity
quelle
40

In dieser Antwort werde ich versuchen zu skizzieren, welche Arten von Links in der Verzeichnisverwaltung vorhanden sind und warum sie nützlich sind und wann sie verwendet werden könnten. Wenn Sie versuchen, eine bestimmte Organisation auf Ihren Dateivolumes zu erreichen, ist es ein wertvolles Wissen, die verschiedenen Typen zu kennen und sie zu erstellen.

Informationen darüber, 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 Beziehung zwischen den folgenden beiden Entitäten angesehen werden:

  1. Verzeichnistabelle

    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 darin gespeicherte Verzeichnis wird durch einen 32-Byte-Eintrag in der Tabelle dargestellt. Jeder Eintrag zeichnet den Namen, die Erweiterung, die Attribute (Archiv, Verzeichnis, ausgeblendet, schreibgeschützt, System und Volume), das Datum und die Uhrzeit der letzten Änderung, die Adresse des ersten Clusters der Datei- / Verzeichnisdaten und schließlich die Größe von auf die Datei / das Verzeichnis.

  2. Datencluster

    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, aber viele Links zu diesem Datencluster vorhanden sein können. Auf diese Weise können Daten an mehreren Standorten angezeigt werden. Es gibt jedoch mehrere Möglichkeiten, dies zu tun, und jede Methode hat ihre eigenen Auswirkungen.

Um zu sehen, woher dies stammt, gehen wir zurück in die Vergangenheit ...

Was ist ein Shell- Link und warum ist das nicht immer ausreichend?

Obwohl es nicht vertraut klingt, kennen wir alle dieses! Dateikürzel sind zweifellos die am häufigsten verwendete Methode zum Verknüpfen von Dateien. Diese wurden in einigen frühen Versionen von Windows 9x gefunden und sind seit langer Zeit dort.

Diese ermöglichen es Ihnen, schnell eine Verknüpfung zu einer Datei oder einem Ordner zu erstellen. Sie dienen insbesondere dazu , zusätzliche Informationen entlang des Links zu speichern, beispielsweise das Arbeitsverzeichnis, in dem die Datei ausgeführt wird, die Argumente , die dem Programm zur Verfügung gestellt werden sollen, sowie Optionen wie, ob das Programm zu maximieren.

Der Nachteil dieses Ansatzes der Verknüpfung ist genau das. Die zusätzlichen Informationen erfordern, dass diese Art der Verknüpfung über einen eigenen Datencluster verfügt, der diese Datei enthält. Das Problem ist dann nicht unbedingt, dass es Speicherplatz beansprucht, sondern 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 eigentlichen Verknüpfung verwiesen wird, nicht mehr vorhanden ist, bleibt die Shell-Verknüpfung bestehen.

Wenn Sie mit der Datei arbeiten würden, auf die verwiesen wird, müssten Sie tatsächlich zuerst 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 ein Link erstellt wird. Dies schließt viele mögliche Anwendungsfälle für Shell-Links aus.

Wie versucht ein Junction Point Link, diese Probleme zu lösen?

Mit einem NTFS-Knotenpunkt kann eine symbolische Verknüpfung zu einem Verzeichnis auf den lokalen Laufwerken erstellt werden , so dass sich dieses wie ein normales Verzeichnis verhält. Sie haben also ein Verzeichnis mit Dateien auf Ihrer Festplatte gespeichert, können jedoch von mehreren Standorten aus 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 kostspielig, die Festplatte zu nummerieren, um zu prüfen, ob Verbindungspunkte gelöscht werden müssen. Dies ist ein Nachteil aufgrund seiner Implementierung.

Der NTFS-Knotenpunkt wird mithilfe von NTFS-Analysepunkten implementiert , bei denen es sich um NTFS-Dateisystemobjekte handelt, die mit Windows 2000 eingeführt wurden.

Ein NTFS-Analysepunkt ist ein Typ eines NTFS-Dateisystemobjekts. Durch Analysepunkte kann das NTFS-Dateisystem erweitert werden, indem dem Verzeichniseintrag zusätzliche Informationen hinzugefügt werden, sodass ein Dateisystemfilter interpretieren kann, wie das Betriebssystem die Daten behandelt. Dies ermöglicht die Erstellung von Junction-Punkten, symbolischen NTFS-Links und Volume-Mount-Punkten und ist eine Schlüsselfunktion des hierarchischen Speichersystems von Windows 2000.

Richtig, die Erfindung des Analysepunkts ermöglicht es uns, differenziertere Arten der Verknüpfung durchzuführen.

Der NTFS-Abzweigungspunkt ist eine weiche Verknüpfung , dh es wird nur eine Verknüpfung zum Namen der Datei hergestellt. Dies bedeutet, dass bei jedem Löschen des Links 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 erstellen? Gibt es symbolische Links?

Ja, als Windows Vista auf den Markt kam, wurde beschlossen, die Funktionalität der NTFS-Dateisystemobjekte zu erweitern, indem die symbolische NTFS-Verknüpfung bereitgestellt wurde , eine weiche Verknüpfung, die genauso funktioniert wie der NTFS-Knotenpunkt. Kann aber auf Dateien und Verzeichnisse angewendet werden.

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

Was ist eine harte Verbindung und wie verhält sie sich im Gegensatz zu weichen Verbindungen?

Feste Verknüpfungen sind keine NTFS-Dateisystemobjekte, sondern stellen eine Verknüpfung zu einer Datei dar (im Detail beziehen sie sich auf den MFT-Eintrag, in dem zusätzliche Informationen zur tatsächlichen Datei gespeichert sind). Der MFT-Eintrag enthält ein Feld, in dem die Zeitspanne festgehalten wird, mit der eine Datei fest verbunden ist. Auf die Daten kann weiterhin zugegriffen werden, solange mindestens ein Link vorhanden ist, der darauf verweist.

Die Daten hängen also nicht mehr davon ab, dass ein einzelner MFT-Eintrag vorhanden ist . Solange eine feste Verbindung besteht, bleiben die Daten erhalten. Dies verhindert ein versehentliches Löschen in Fällen, in denen man sich nicht erinnern möchte, wo sich die Originaldatei befunden hat.

Sie können beispielsweise einen Ordner mit "Filme, die ich noch ansehen muss" sowie einen Ordner "Filme, die ich in den Urlaub nehme" und einen Ordner "Lieblingsfilme" erstellen. Filme, bei denen es sich nicht um solche handelt, werden ordnungsgemäß gelöscht, während Filme, bei denen es sich um solche handelt, weiterhin vorhanden sind, selbst wenn Sie einen Film angesehen haben.

Wozu dient ein Volume Mount Point Link?

Einige IT-Abteilungen oder Geschäftsleute möchten sich möglicherweise nicht an die verschiedenen Laufwerksbuchstaben erinnern oder diese eingeben. Was heißt M:eigentlich überhaupt? War es Musik? Filme? Models? Karten?

Microsoft hat im Laufe des Jahres Anstrengungen unternommen, um Benutzer von der work in drive C:zu migrieren work in your user folder. Ich könnte zweifellos sagen, dass die Benutzer mit UAC- und Berechtigungsproblemen diese Richtlinien nicht befolgen, aber das lässt sie sich nicht wundern:

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

Volume Mount Points sind die professionelle IT-Methode, um nicht nur durch Laufwerksbuchstaben, sondern auch durch eine für sie sinnvolle Verzeichnisstruktur eingeschränkt zu werden, sondern ...

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

In Windows 7 wurden genau zu diesem Zweck Bibliotheken eingeführt. Fertig mit Musikdateien, die sich in diesem Ordner sowie in diesem Ordner und in diesem Ordner befinden . In einer niedrigeren Ansichtsebene kann eine Bibliothek als mehrere Links angezeigt werden. Sie werden erneut 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 verwenden sollen?

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

  • Knotenpunkte: Verwenden Sie diese, 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 ursprüngliche Pfad verloren geht. Eine andere Verwendung ist, wenn Sie über einen anderen Pfad auf ein Verzeichnis zugreifen möchten. Diese können nicht zum Verknüpfen mit einer Freigabe verwendet werden.

  • Softlinks: Verwenden Sie diese, wenn ein Verknüpfungslink nicht ausreicht. Sie werden häufig verwendet, wenn Sie beabsichtigen, die Datei über die Verknüpfung zu bearbeiten. Oder wenn Sie möchten, dass sich die Datei auf einem schnelleren oder langsameren Laufwerk befindet, ohne die Fähigkeit zu verlieren, auf den ursprünglichen Pfad zuzugreifen.

  • Hardlinks: Verwenden Sie diese Optionen, wenn eine Datei nur gelöscht werden soll, wenn alle Hardlinks entfernt wurden. Dies kann nicht für Ordner verwendet werden.

  • Bereitstellungspunkte für Volumes : Verwenden Sie diese Punkte , wenn die Laufwerksbuchstaben aufgebraucht sind oder wenn der Zugriff auf ein Volume eher über einen Pfad als über einen Laufwerksbuchstaben möglich ist.

  • Bibliotheken: Verwenden Sie diese, wenn Sie denselben Dateityp an vielen verschiedenen Speicherorten haben und diese zusammen sein müssen. Dies unterstützt Wechseldatenträger, sodass die Ordner auf Ihren Wechseldatenträgern beim Einfügen zwischen den Ordnern auf Ihrem Computer angezeigt werden es. Sie können auf die einzelnen Ordner im Ordnerbaum unter der Bibliothek in der Baumansicht klicken, was das Verschieben von Dateien zwischen beiden erleichtert.

Tamara Wijsman
quelle
Bibliotheken sind wie Verknüpfungen auf Shell-Ebene, oder?
Medinoc
@Medinoc: Nein, sie aggregieren den Inhalt mehrerer Standorte.
Tamara Wijsman
1
Tun sie dies jedoch auf Dateisystemebene, beispielsweise mit cmd.exe, und dirkönnen den aggregierten Inhalt auflisten (in diesem Fall kann ich ihn im Dateisystem nicht finden) oder sie aggregieren nur Auf Shell-Ebene, wo nur Windows Explorer und Dateidialoge sie anzeigen können? Ich hatte den Eindruck, dass es das letztere war, aber Ihr "Nein" stellt dies in Frage, es sei denn, ich habe meine Frage falsch geschrieben (ich wollte sagen, dass Bibliotheken wie Verknüpfungen Shell-Level sind , oder? ).
Medinoc
@ Medinoc: Sie sind Dateien bei C:\Users\{User}\AppData\Roaming\Microsoft\Windows\Libraries.
Tamara Wijsman
1
@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, dass irgendetwas kaputt gehen würde; da sie nur zu Anzeigezwecken bestimmt sind, ...
Tamara Wijsman
8

Wenn Sie unter Windows Vista oder höher arbeiten und über Administratorrechte verfügen, können Sie den Befehl mklink (ein Befehlszeilentool) auschecken. Ich bin nicht sicher, wie symlink-y es tatsächlich ist, da Windows ihm das kleine Pfeilsymbol gibt, das es Verknüpfungen hinzufügt, aber ein schneller Notepad ++ - Test für eine Textdatei legt nahe, dass es für das, wonach Sie suchen, möglicherweise funktioniert.

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

Ich hoffe das hilft.

GeminiDomino
quelle
mklink verwendet NTFS-Knotenpunkte (ich glaube, so werden sie genannt), um Verknüpfungen im Unix-Stil mehr oder weniger perfekt zu duplizieren. Windows kann jedoch erkennen, dass es sich um eine Kreuzung handelt, und gibt ihr daher das traditionelle Pfeilsymbol. iirc Sie können dies mit einigem Fummeln in der Registrierung entfernen, aber ich erinnere mich nicht, wo.
jcrawfordor
2
@ jcrawfordor: Die Festplattenstrukturen sind "Analysepunkte" . Junctions und Symlinks sind zwei verschiedene Arten von Analysepunkten. Volume-Mountpoints sind die dritten.
Grawity
1
Und ja, von @Gemini mklinkerstellte Symlinks wurden speziell so implementiert, dass sie genau wie Unix funktionieren .
Grawity
Vielen Dank für die Bestätigung. Ich habe noch nie viel mit ihnen gespielt, also wollte ich
disclaim.h einbinden
2

Dieser Artikel hat einige Unterschiede

Ein wichtiger Unterschied besteht darin, dass Junctions vor win7 in gewisser Weise etwas unsicher waren, da durch das Löschen das Zielverzeichnis gelöscht würde.

http://cects.com/Übersicht-zum-Verstehen-harter-Verbindungen-Knoten-und-symbolischer-Verbindungen-inFenstern/

Ein Junction Point sollte in Win2k, Win2003 und WinXP niemals mit dem Explorer, den Befehlen del oder del / s oder mit einem Dienstprogramm entfernt werden, das Verzeichnisse rekursiv durchläuft, da dadurch das Zielverzeichnis und alle seine Unterverzeichnisse gelöscht werden. Verwenden Sie stattdessen den Befehl rmdir, das Dienstprogramm linkd oder fsutil (wenn Sie WinXP oder höher verwenden) oder ein Drittanbieter-Tool, um den Junction-Punkt zu entfernen, ohne das Ziel zu beeinträchtigen. In Vista / Win7 ist es sicher, Junction Points mit dem Explorer oder mit den Befehlen rmdir und del zu löschen.

barlop
quelle