Mit ln wird auf unixartigen Systemen ein weiterer Verzeichnis-Eintrag für eine Datei erzeugt. Mit dem Dienstprogramm können sowohl „harte“ als auch „symbolische Links“ erstellt werden. Entfernt werden diese Links mit dem Befehl rm(1) oder auch unlink(1). Die Kommandozeilenprogramme benutzen dazu die POSIX-Funktionen link(), unlink() und symlink() der C-Standard-Bibliothek.

Ein ln-Programm war schon in den ersten Versionen von AT&T UNIX vorhanden.

Verwendung

Bearbeiten

Verwendung mit einem Parameter

Bearbeiten

ln muss stets mit mindestens einem Argument aufgerufen werden. Das erste Argument stellt dabei stets die Quelldatei dar, d. h. den Namen der bereits existierenden Datei. Wenn kein zweites Argument angegeben wird, dann wird im aktuellen Arbeitsverzeichnis ein gleichnamiger Link auf die Datei angelegt. Ein Aufruf wie

ln pfad/zur/quelldatei

erzeugt im aktuellen Arbeitsverzeichnis demnach einen Link namens quelldatei. Ein Aufruf wie ln quelldatei führt zu einem Fehler, weil dies einen gleichnamigen Link auf die bereits existierende Datei im aktuellen Verzeichnis erzeugen würde, in einem Ordner zwei Dateien aber nicht den gleichen Namen tragen dürfen.

Verwendung mit mehreren Parametern

Bearbeiten

Bei der Verwendung mit exakt zwei Argumenten stellt das erste die Quelldatei dar, wohingegen das zweite Argument den Namen der zu erstellenden Zieldatei angibt. Die Syntax ist demnach:

ln quelldatei [zieldatei]

Eine Verwendung mit mehr als zwei Argumenten wird derart interpretiert, dass zunächst mehrere Quelldaten angegeben werden, auf die verlinkt werden soll, und als letztes Argument ein Verzeichnis, in dem die gleichnamigen Links zu diesen Quelldateien erzeugt werden sollen. Ein Aufruf wie

ln datei1 datei2 datei3 zielverzeichnis/

erzeugt im Zielverzeichnis also drei Hardlinks mit den Namen datei1, datei2 und datei3.

Bei der Verwendung mit mindestens zwei Parametern sei angemerkt, dass die Reihenfolge und Bedeutung der Parameter absolut analog zu den ebenso gebräuchlichen Unix-Kommandos cp und mv, genutzt zum Kopieren bzw. Verschieben von Dateien oder Ordnern, funktioniert.

Bearbeiten

Wie fast jedes Unix-Kommando nimmt auch ln zusätzliche Parameter in der Form ln -parameter ... an. Einer der wichtigsten und meistbenutzten Parameter ist dabei -s, mit dem sich, anstelle von harten Links, symbolische Links erstellen lassen. Aufgrund der Beschränkungen von harten Links, die weder auf Verzeichnisse verweisen noch Partitionsgrenzen überwinden können, werden symbolische Links in modernen Unix-Derivaten, zum Beispiel Linux, sehr oft verwendet.

Siehe auch

Bearbeiten
Bearbeiten
sowie die Utilities link, unlink und symlink,
und die Funktionsaufrufe link(), unlink() und symlink().
sowie link(2), unlink(2), symlink(2) und symlink(7)
sowie link(2), unlink(2), symlink(2) und symlink(7)