Symbolischer Link

Symbolischer Link

Eine symbolische Verknüpfung, auch symbolischer Link, Symlink oder Softlink genannt, ist eine Verknüpfung in einem Dateisystem (Datei oder Verzeichnis), die auf eine andere Datei oder ein anderes Verzeichnis verweist. Es ist also lediglich eine Referenz und kein richtiges Element. Um einen Eintrag in das Dateiverzeichnis zu erstellen, werden harte Links (engl. hardlink) verwendet.

Inhaltsverzeichnis

Unix

In einem Unix-System kann man mit einem der folgenden Befehle eine Verknüpfung namens „/home/wiki/nullink“ erstellen, die auf /dev/null zeigt:

> ln -s /dev/null /home/wiki/nullink
> ln --symbolic /dev/null /home/wiki/nullink

Ob die Datei „/home/wiki/nullink“ eine symbolische Verknüpfung ist, findet man mit einem dieser Befehle heraus:

> file /home/wiki/nullink
> ls -l /home/wiki/nullink

Allgemein muss man beachten, dass eine symbolische Verknüpfung anders als ein „harter Link“ auf einen Pfad zeigt. Ein „harter Link“ zeigt auf einen Inode, was bedeutet, dass ein „harter Link“ immer noch funktioniert, wenn die Zieldatei verschoben wurde. Wenn man aber die Zieldatei verschiebt, und ein Symlink zeigt drauf, kann die Zieldatei nicht wissen, dass eine Verknüpfung auf sie zeigt, womit die symbolische Verknüpfung ins Leere zeigt. Gleiches gilt, wenn eine relative symbolische Verknüpfung selbst verschoben wird.

Der Vorteil ist aber, dass diese Arten von Verknüpfungen partitions- und dateisystemübergreifend arbeiten können und auch bei Verzeichnissen funktionieren, was bei harten Links nicht der Fall ist.

Symbolische Verknüpfungen können einige Benutzer verwirren. Auch wenn es auf den ersten Blick so scheint, als sei die verknüpfte Datei in mehreren Verzeichnissen gleichzeitig vorhanden, führt das Löschen der Originaldatei dazu, dass alle symbolischen Verknüpfungen, die darauf verweisen, ins Leere gehen und die Datei damit verloren ist.

Symbolische Verknüpfungen auf Verzeichnisse können mit Programmen gefährlich werden, die unbedarft mit Verzeichnisbäumen umgehen. Bestenfalls entsteht eine endlose Schleife sowie ein Pufferüberlauf des Verzeichnispfadpuffers, was zu Abstürzen oder gefährlichen Fehlfunktionen führt. Schlimmstenfalls führt das Löschen eines Verzeichnisbaums dazu, dass auch die Inhalte des symbolisch verknüpften Verzeichnisses ebenfalls gelöscht werden. Unix versucht dem zu einem gewissen Grad vorzubeugen, indem es verbietet, eine symbolische Verknüpfung auf ein Verzeichnis über den Systembefehl „rmdir“ zu löschen, damit unbedarft mit symbolischen Verknüpfungen umgehende Programme eine Fehlermeldung erhalten und fehlschlagen, wenn sie eine solche Verknüpfung entfernen wollen. Ein solches Programm ist der SSH-Client (die Windows-Version) von „ssh.com“.

Windows

Die „Verknüpfung“ unter Microsoft Windows ist mit einer symbolischen Verknüpfung nicht zu vergleichen, da sie keine Aliasverbindung darstellt, die direkt verfolgt werden kann. Im Gegensatz dazu können durch eine symbolische Verknüpfung z.B. auch Unterverzeichnisse des Ziels direkt angesprochen werden.

Seit Windows NT 6.0 (Windows Vista, Windows Server 2008) stehen echte symbolische Links zur Verfügung, die transparent im Dateisystem vorliegen und auf Dateien, Verzeichnisse oder UNC-Pfade verweisen können. Symbolische Links dürfen allerdings nur mit Administratorrechten angelegt werden.

Anlegen symbolischer Links unter Windows Vista und Windows Server 2008:

c:\>mklink "C:\Neue Datei" "D:\Alte Datei"
c:\>mklink /d "C:\Neues Verzeichnis" "D:\Pfad\Reales Verzeichnis"
c:\>mklink /d "C:\Netzwerkshare" "\\meinserver\meinshare"

Löschen symbolischer Links unter Windows Vista und Windows Server 2008:

c:\>erase "C:\Neue Datei"
c:\>rmdir /s /q "C:\Neues Verzeichnis" 
c:\>rmdir /s /q "C:\Netzwerkshare"

Symbolische Links unter Windows bleiben (genau wie unter UNIX) auch nach einem Neustart des Systems bestehen.

Eine weitere Möglichkeit in älteren Versionen von Windows sind sogenannte Abzweigungspunkte (englisch: „junction points“), welche jedoch das Dateisystem NTFS 5 oder ab Version 3.0 (Windows 2000, Windows XP, Windows 2003 und Windows Vista) voraussetzten. Diese sind den symbolischen Verknüpfungen auf Verzeichnisse sehr viel ähnlicher als die üblichen Verknüpfungen.

Abzweigungspunkte können unter den angegebenen Voraussetzungen mit den bei Microsoft erhältlichen Zusatzbefehlen junction.exe[1] oder der linkd.exe[2] aus den Windows 2003 Resource Kit Tools erstellt werden.

Mit den in der Kommandozeile auszuführenden Befehlen

C:\>JUNCTION.EXE "C:\Neues Verzeichnis" "D:\Pfad\Reales Verzeichnis"

oder

C:\>LINKD.EXE "C:\Neues Verzeichnis" "D:\Pfad\Reales Verzeichnis"

kann ein Abzweigungspunkt "C:\Neues Verzeichnis" angelegt werden, der "D:\Pfad\Reales Verzeichnis" referenziert. Der Inhalt von "D:\Pfad\Reales Verzeichnis" (junction target) kann im Explorer nun auch unter "C:\Neues Verzeichnis" (junction directory) aufgerufen und gestartet werden. Abzweigungspunkte bleiben ebenfalls nach einem Windows-Neustart erhalten.

Die Aufhebung eines Abzweigungspunktes erfolgt mittels folgendem Kommandozeilenbefehls:

C:\>JUNCTION.EXE -d "C:\Neues Verzeichnis"

oder

C:\>LINKD.EXE "C:\Neues Verzeichnis" /D

Wobei der Parameter "d" für DELETE und "C:\Neues Verzeichnis" für das angelegte Junction target steht.

Auf der Kommandozeile können Abzweigungspunkte auch mit dem DIR-Befehl angezeigt werden, wobei anstelle eines <DIR> (für normale Verzeichnisse) dann <VERBINDUNG> oder <JUNCTION> ausgegeben wird.

Eine installierte Cygwin-Umgebung befähigt zudem auch die Windows-Kommandozeile (auf NTFS unter Windows 2000, Windows XP, Windows 2003 und Windows Vista) mittels des Kommandos ln symbolische und harte Links zu setzen.

Mac OS X

Ähnlich wie bei Windows ist ein „Alias“ nicht mit einer symbolischen Verknüpfung vergleichbar. Symbolische Verknüpfungen werden – wie bei anderen Unix-Systemen auch – über eine Shell mit dem ln-Befehl erstellt.

Quellen

  1. Junction v1.05
  2. Windows 2003 Resource Kit Tools

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Symbolic link — Eine symbolische Verknüpfung, auch symbolischer Link, Symlink oder Softlink genannt, ist eine Verknüpfung in einem Dateisystem (Datei oder Verzeichnis), die auf eine andere Datei oder ein anderes Verzeichnis verweist. Es ist also lediglich eine… …   Deutsch Wikipedia

  • Hard link — Ein harter Link (engl. hard link, im deutschen Jargon auch Hardlink) ist ein Verzeichniseintrag in einem Dateisystem, der indirekt auf Dateien und Verzeichnisse verweist. Außer in Unix Systemen (also auch Mac OS X) können Hardlinks auch im… …   Deutsch Wikipedia

  • Junction Point — Eine symbolische Verknüpfung, auch symbolischer Link, Symlink oder Softlink genannt, ist eine Verknüpfung in einem Dateisystem (Datei oder Verzeichnis), die auf eine andere Datei oder ein anderes Verzeichnis verweist. Es ist also lediglich eine… …   Deutsch Wikipedia

  • Softlink — Eine symbolische Verknüpfung, auch symbolischer Link, Symlink oder Softlink genannt, ist eine Verknüpfung in einem Dateisystem (Datei oder Verzeichnis), die auf eine andere Datei oder ein anderes Verzeichnis verweist. Es ist also lediglich eine… …   Deutsch Wikipedia

  • Symbolische Verknüpfung — Eine symbolische Verknüpfung, auch symbolischer Link, Symlink oder Softlink genannt, ist eine Verknüpfung in einem Dateisystem (Dateien und Verzeichnisse), die auf eine andere Datei oder ein anderes Verzeichnis verweist. Es ist also lediglich… …   Deutsch Wikipedia

  • Hardlink — Ein harter Link (engl. hard link, im deutschen Jargon auch Hardlink) ist ein Verzeichniseintrag in einem Dateisystem, der indirekt auf Dateien und Verzeichnisse verweist. Außer in Unix Systemen (also auch Mac OS X) können Hardlinks auch im… …   Deutsch Wikipedia

  • /usr — Das Verzeichnis /usr gehört zu den Standardverzeichnissen eines Unix /Linux Betriebssystems. Die Abkürzung usr steht dabei für Unix System Resources. In diesem Verzeichnis befindet sich üblicher Weise der Großteil der Systemtools, Bibliotheken… …   Deutsch Wikipedia

  • Verzeichnis/usr — Das Verzeichnis /usr gehört zu den Standardverzeichnissen eines Unix /Linux Betriebssystems. Die Abkürzung usr steht dabei für Unix System Resources. In diesem Verzeichnis befindet sich üblicher Weise der Großteil der Systemtools, Bibliotheken… …   Deutsch Wikipedia

  • Verzeichnis /usr — Das Verzeichnis /usr gehört zu den Standardverzeichnissen eines Unix /Linux Betriebssystems. Die Abkürzung usr steht dabei für Unix System Resources. In diesem Verzeichnis befindet sich üblicher Weise der Großteil der Systemtools, Bibliotheken… …   Deutsch Wikipedia

  • Softlink —   [dt. »weiche Verbindung«] (symbolischer Link), die Verknüpfung eines Verzeichniseintrags oder eines Icons (Symbol) mit einer Datei, die in einem anderen Verzeichnis abgelegt ist …   Universal-Lexikon

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”