Symbolic link


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 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 — In computing, a symbolic link (also symlink or soft link ) is a special type of file that contains a reference to another file or directory in the form of an absolute or relative path and that affects pathname resolution. [… …   Wikipedia

  • Symbolic Link — SYLK, pour SYmbolic LinK, est un format d échange de données créée par la société Microsoft. Destiné à l origine aux échanges entre tableurs il permet aussi l échange avec d autres type de logiciels : traitements de texte, base de données.… …   Wikipédia en Français

  • symbolic link — virtualusis katalogas statusas T sritis informatika apibrėžtis Naujai sukurtas katalogo vardas, susietas su jau egzistuojančiu realiu katalogu, kurį galima toliau vartoti vietoj realaus katalogo vardo. Virtualusis katalogas faktiškai yra… …   Enciklopedinis kompiuterijos žodynas

  • symbolic link — noun A file that contains a reference to another file or directory and serves as a shortcut to it. Syn: shortcut, symlink …   Wiktionary

  • SYmbolic LinK (SYLK) — is a Microsoft file format typically used to exchange data between applications, specifically spreadsheets. SYLK files conventionally have a .slk suffix. From within a spreadsheet data can be exported in the SYLK format. Composed of only… …   Wikipedia

  • NTFS symbolic link — A NTFS symbolic link (symlink) is a filesystem object in the NTFS filesystem that points to another filesystem object. The object being pointed to is called the target. Symbolic links should be transparent to users; the links appear as normal… …   Wikipedia

  • NTFS symbolic link — …   Википедия

  • Link — may refer to:ComputingInternet* Links (web browser), a web browser for Unix like systems * Reciprocal link, two way links to and from websites, also known as link swaps , link exchanges and link partners * Hyperlink, a reference in a hypertext… …   Wikipedia

  • Link (The Matrix) — Link, played by actor Harold Perrineau, serves as the ship s Operator for the crew of the Zion hovercraft Nebuchadnezzar in the movies The Matrix Reloaded and The Matrix Revolutions .Like other character names in the saga, the name Link has… …   Wikipedia

  • Symbolic (Death album) — Infobox Album | Name = Symbolic Type = studio Artist = Death Released = March 21, 1995 Recorded = Genre = Death metal, progressive metal, technical death metal Length = 50:38 Label = Roadrunner Producer = Jim Morris Reviews = * Allmusic… …   Wikipedia