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
Verwendung mit einem Parameter
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
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.
Erzeugung symbolischer Links
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
- Dienstprogramme mit ähnlicher Syntax/Funktion:
- cp (Unix) – „Inhalt“ von Dateien für Anwenderprogramme erhält zusätzlichen Speicherplatz ähnlichen Umfangs (ohne Option
-s
) … - mv (Unix) – bisheriger Pfadname wird ungültig …
- cp (Unix) – „Inhalt“ von Dateien für Anwenderprogramme erhält zusätzlichen Speicherplatz ähnlichen Umfangs (ohne Option
- Absatz Dateioperationen im Artikel Unix-Kommandos
Weblinks
ln
: link files – Open Group Base Specification
- sowie die Utilities
link
,unlink
undsymlink
, - und die Funktionsaufrufe
link()
,unlink()
undsymlink()
.
ln(1)
: Links (Verknüpfungen) zwischen Dateien erstellen – Debian GNU/Linux Ausführbare Programme oder Shell-Befehle Handbuchseite
- sowie
link(2)
,unlink(2)
,symlink(2)
undsymlink(7)
- sowie
link(2)
,unlink(2)
,symlink(2)
undsymlink(7)