Verknüpfung (Computer)


Begründung: Diesem Artikel mangelt es an der Ausgewogenheit. Nur Windows wird (zu) ausführlich erklärt. --Thomei08 12:20, 31. Mär. 2015 (CEST)

Als Verknüpfung (englisch link oder shortcut) bezeichnet man in der Computertechnik einen Verweis auf ein Objekt an einer anderen Stelle, ähnlich einem Querverweis. Bei den Objekten kann es sich zum Beispiel um Dateien oder Verzeichnisse handeln, die in der Regel an einem anderen Speicherort abgelegt sind oder auch unter einer anderen Bezeichnung geführt werden. Im World Wide Web können Verknüpfungen auf andere Webseiten oder Abschnitte innerhalb einer Webseite verweisen. Eine Verknüpfung kann auch eine Beziehung zwischen zwei oder mehr Objekten herstellen; solche Assoziationen oder Beziehungen werden oft als UML-Diagramm oder Entity-Relationship-Diagramm dargestellt.

Verknüpfungen können allgemein in die folgenden fünf Kategorien unterschieden werden:

Unter Windows gibt es fünf Arten von Verknüpfungen.

Bei der Dateiverknüpfung von Windows handelt es sich um eine gewöhnliche, sehr kleine Datei, welche die versteckte Dateiendung *.lnk verwendet. Im engeren Sinne werden solche Dateiverknüpfungen nicht als Link, sondern Shortcut unter Microsoft Windows bezeichnet. Diese kleinen Windows-Shortcuts verweisen auf eine andere Datei oder auf ein Verzeichnis. Außerdem kann ein Shortcut Angaben enthalten, wie das Ziel zu öffnen ist. Eine Dateiverknüpfung kann einen vom Ziel abweichenden Namen besitzen und wird gewöhnlich mit einem Pfeil links unten im Symbol (Icon) versehen.

Ein Windows-Shortcut ist sichtbar, das heißt, der Benutzer sieht die Verknüpfung im Windows-Explorer oder anderen Dateimanagern als Verknüpfung. Die meisten Anwendungen verfolgen solchen Shortcuts aber nicht; wenn die Anwendung versucht, die Dateiverknüpfung zu öffnen, wird in der Regel nicht automatisch das Ziel geöffnet, sondern die Anwendung versucht erfolglos, die Verknüpfung selbst zu öffnen. In Windows-Shortcuts sind keine relativen (.\Unterordner\Datei.txt), sondern nur absolute Pfadangaben möglich.

Bei der Ordnerverknüpfung[1] (englisch auch virtual folder,[2] zu dt. virtueller Ordner oder virtuelles Verzeichnis) von Windows handelt es sich um ein Verzeichnis mit den Eigenschaften „schreibgeschützt“ und/oder system,[3] das eine auf das Ziel verweisende Dateiverknüpfung mit dem festen Namen target.lnk sowie eine (versteckte) Datei desktop.ini mit (mindestens) folgendem Inhalt enthält:

Eine Ordnerverknüpfung ist (im Windows-Explorer) transparent.

Ordnerverknüpfungen werden von Windows selbst erzeugt und verwendet, beispielsweise in der Netzwerkumgebung.

Shell objects[4] oder shell folder sind in der Windows Registry definierte Objekte, die u. a. auch die Funktion einer Verknüpfung realisieren können. Die (mindestens) notwendigen Registry-Einträge für ein solches shell object sind wie folgt (die CLSID\{00000000-0000-0000-0000-000000000000} wird hier als Platzhalter verwendet):

Windows verwendet solche verknüpfenden shell objects selbst, beispielsweise für die virtuellen Ordner Eigene Dateien auf dem Desktop sowie Schriftarten und Verwaltung in der Systemsteuerung.

Ein shell object ist (im Windows-Explorer) transparent.

Seit Windows Vista und Windows Server 2008 (beide intern Windows NT 6.0) stehen über das Win32-API echte symbolische Verknüpfungen zur Verfügung, die transparent im Dateisystem vorliegen und auf Dateien und Verzeichnisse des eigenen Computers verweisen können. Symbolische Verknüpfungen können eine relative Zielangabe enthalten.

Zum Anlegen dieser symbolischen Verknüpfung wird das Recht Create Symbolic Link benötigt. Dieses steht standardmäßig nur Benutzern mit Administratorrechten zur Verfügung. Weiterhin muss beim Anlegen der Verknüpfung bekannt sein, ob das Ziel eine Datei oder ein Verzeichnis ist. Aus diesen Gründen sind die symbolischen Verknüpfungen von Windows nicht vollständig kompatibel zu POSIX.

Unabhängig davon gibt es seit der NTFS-Ausgabe 3.0, dem von Windows 2000 standardmäßig verwendeten Dateisystem, sogenannte „Abzweigungspunkte“ (englisch auch [file system] reparse points oder junction points und kurz junctions genannt). Allerdings wurden die zugehörigen Verwaltungswerkzeuge erst später, nach und nach ab Windows XP mitgeliefert und derartige Verweise wohl erst ab Vista (sicher aber ab Windows 7) auch im Explorer (mit dem üblichen Verknüpfungspfeil, ähnlich wie bei Dateiverknüpfungen) angezeigt.

Abzweigungspunkte sind den symbolischen Verknüpfungen auf Verzeichnisse sehr viel ähnlicher als „Dateiverknüpfungen“ oder „Ordnerverknüpfungen“. Diese Abzweigungspunkte entsprechen unter Linux (und anderen Unixähnlichen) weitgehend dem Einhängen von Verzeichnissen an einer weiteren Stelle mittels mount --rbind.

Abzweigungspunkte können ab Windows Vista über eine Befehlszeile mit dem Befehl mklink /J angelegt werden und bei älteren Windows-Ausgaben mit den bei Microsoft erhältlichen Zusatzanwendungen junction.exe[5] und linkd.exe[6] – erstgenannte Anwendung aus den Sysinternals und letztere aus den Windows 2003 Resource Kit Tools.

Mit den folgenden Befehlen kann ein Abzweigungspunkt "C:\Neue Verbindung" angelegt werden, der auf den Ordner "C:\Verzeichnis" verweist. Der Inhalt von "C:\Verzeichnis" (das Ziel des Abzweigungspunktes, englisch junction target) kann im Explorer nun auch über "C:\Neue Verbindung" (englisch junction directory) aufgerufen oder – die Verbindung kann wie ein gewöhnlicher Ordner – geöffnet werden. Abzweigungspunkte bleiben ebenfalls nach einem Windows-Neustart erhalten.

oder

oder

Mit der oben schon genannten Anwendung und dessen nachrüstbaren Befehl junction[.exe] kann zudem auch ab Windows XP unter anderem das Ziel einer bestehenden Verbindung und (mit dem Schalter -s, für ‚Recurse subdirectories‘) auch weitere Verbindungen – rekursiv durch Unterordner – angezeigt werden.[5]

Ein Abzweigungspunkt kann über folgende Befehle aufgehoben werden:

oder

oder

Wobei der Übergabewert „d“ für das englische delete oder deleting – also „löschen“ – und "C:\Neue Verbindung" für das Ziel des angelegten Abzweigungspunktes steht.

Im Unterschied zu echten symbolischen Verknüpfungen werden in Abzweigungspunkten stets absolute Pfade gespeichert. Folgendes Beispiel zeigt wie mit den Befehlen mklink eine neue Verbindung angelegt und Diese anschließend mit dir angezeigt werden kann:

Auf der Befehlszeile können Abzweigungspunkte auch mit dem Befehl dir angezeigt werden, wobei anstelle eines <DIR> (für normale Verzeichnisse) dann <VERBINDUNG> (oder englisch <JUNCTION>) ausgegeben wird. Dabei wird dann auch – ab Vista – das Verweisziel angezeigt, das bei älteren Windows-Ausgaben gesondert über die genannten Zusatzanwendungen (oder auch über den Befehl fsutil, siehe auch Analysepunkt) abgefragt werden kann.

Ab Windows Vista werden Schreibvorgänge von Programmen, die keine Schreibberechtigung für das entsprechende Verzeichnis haben, unter bestimmten Voraussetzungen ohne Fehlermeldung durchgeführt; der eigentliche Schreibvorgang wird in ein Schattenverzeichnis im Benutzerprofil umgeleitet. Dieses Schattenverzeichnis wird für diesen Benutzer dem eigentlichen Verzeichnis überblendet, so dass es für ihn aussieht, als sei der Schreibvorgang erfolgreich durchgeführt worden.

So können Programme, die das Konzept der eingeschränkten Benutzerrechte nicht korrekt unterstützen, trotzdem ohne Fehlermeldung ablaufen.

Die Cygwin-Umgebung unterstützt POSIX-kompatible harte Links und symbolische Verknüpfungen. Harte Links werden dabei transparent auf harte Links von Windows abgebildet. Vorhandene Abzweigungspunkte werden als symbolische Verknüpfung angezeigt. Von Cygwin aus angelegte symbolische Verknüpfungen werden allerdings emuliert, da die Windows-eigenen symbolischen Verknüpfungen nicht vollständig POSIX-kompatibel sind. Solche Verknüpfungen sind daher nur für Cygwin-Programme sichtbar, sonstige Programme sehen nur eine Datei mit Systemattribut. Dies gilt auch unter Vista und Windows 7. Cygwin unterstützt auch symbolische Verknüpfungen, die von Microsoft SFU angelegt wurden. Umgekehrt gilt dies nicht. SFU verwendet ebenfalls Dateien zur Emulation, aber in einem abweichenden Format.

Verknüpfungen ähnliche Konzepte finden sich auch in anderen Betriebssystemen: So unterstützt Unix Softlinks oder symbolische Links, welche den Zugriff auf eine Datei über einen alternativen Pfad erlauben. Anlegen lassen sie sich mit dem Dienstprogramm ln oder aber in jedem grafischen Dateimanager per Drag & Drop. Unter OpenVMS kommt ein Konzept namens Logical Name der Windows-Verknüpfung am nächsten. Angelegt werden solche Verknüpfungen mit dem Befehl DEFINE.

Hyperlinks sind eine besondere Form von Verknüpfungen und bestehen aus einer Angabe des zu verwendenden MIME-Protokolls und einer eindeutigen Ressourcenbezeichnung, z. B. der URL eines Weblinks.

Eine Verknüpfung kann auch eine Beziehung zwischen zwei oder mehr Objekten herstellen; solche Assoziationen oder Beziehungen werden oft als UML-Diagramm oder Entity-Relationship-Diagramm dargestellt und finden entsprechend Verwendung in der Objektorientierten Programmierung oder in Datenbanken.

In der Programmierung kann eine Variable/Bezeichner ein Alias für eine andere sein – wird der Referenz ein neuer Wert zugewiesen, so ändert sich auch der Wert des „Originals“.

Weiterhin gibt es programmspezifische Verknüpfungen, z. B. in Office-Suiten Verweise auf andere Dokumente oder Bilder. Diese können dann meist nur von der entsprechenden Anwendung ausgewertet werden, sind aber grundsätzlich auch nur Verweise auf Objekte an anderer Stelle.