# Linux-ln-Befehl – So erstellen Sie Links unter Linux

Mit der Kommandozeile von Linux sind Links schnell erstellt. Der dafür benötigte ln-Befehl ist relativ leicht anzuwenden; man benötigt für viele Anwendungsroutinen nur relativ wenig Code. Wer gezielt und effizient verlinken möchte, sollte allerdings den Unterschied zwischen Hard- und Softlinks kennen. Wir erläutern, wofür die jeweilige Link-Variante besonders geeignet ist. Außerdem zeigen unsere Anwendungsbeispiele, welcher Code für Verlinkungen unter [Linux](https://www.ionos.at/digitalguide/server/knowhow/linux-das-steckt-hinter-den-open-source-betriebssystemen/ "Linux: Das steckt hinter den Open-Source-Betriebssystemen") notwendig ist.

## Was ist der Linux-ln-Befehl?

Mit dem Linux-ln-Befehl (ln ist die Abkürzung für den englischen Begriff Link) werden **Verknüpfungen** auf eine Datei oder ein Verzeichnis erzeugt. Zur Eingabe nutzt man die **Kommandozeile von Linux** (auch Shell genannt), die über ein Terminal-Fenster geöffnet und bedient wird. Unter Linux zählt der ln-Befehl zu den wichtigsten und am häufigsten verwendeten [Linux-Terminal-Kommandos](https://www.ionos.at/digitalguide/server/konfiguration/linux-befehle-terminal-kommandos-im-ueberblick/ "Linux-Befehle | Terminal-Kommandos im Überblick"). Mit dem Kommandozeilenbefehl können Soft- oder Hardlinks erzeugt werden.

## Was sind Soft- und Hardlinks?

Um unter Linux den ln-Befehl sinnvoll und gezielt einsetzen zu können, sollte man den Unterschied zwischen Soft- und Hardlinks kennen: **Softlinks** sind Querverweise, die eine Ursprungsdatei über einen Verweispfad adressieren. Verschiebt oder löscht man die Originaldatei, gibt es kein Zielobjekt mehr und der Wegweiser läuft ins Leere. Löscht man hingegen den Softlink, bleibt die Originaldatei erhalten; es wird ja nur der Verweis auf diese Datei entfernt. Softlinks werden auch symbolische Links oder (abgekürzt) Symlinks genannt. Softlinks können nicht nur mit dem ln-Befehl im Linux-Terminal, sondern auch mit Funktionen der grafischen Benutzeroberfläche, etwa im Dateimanager von Linux, erstellt werden. Auf der grafischen Benutzeroberfläche von Linux erkennt man einen Softlink an einem **Pfeilsymbol**, das zusätzlich auf dem Icon der Datei platziert ist.

**Hardlinks** können nur auf der Kommandozeile erzeugt werden. Sie sind weitreichender als Softlinks in die Speicherverwaltung eines Betriebssystems und das jeweils verwendete Dateisystem integriert. Ein Hardlink ist ein zusätzlicher Verzeichniseintrag für eine Originaldatei, wobei auch mehrere harte Links auf dieselbe Datei verweisen können. Letztlich unterscheidet Linux technisch und operativ nicht zwischen Original bzw. Originallink (Primärlink) und einem später generierten Hardlink (Folge- und Sekundärlink). Daher sind auch alle **Verzeichniseinträge gleichberechtigt** und funktionieren unabhängig voneinander. Durch einen Hardlink kann der Zugriff auf eine Datei an verschiedenen Orten ermöglicht werden, was etwa häufig für [Backups](https://www.ionos.at/digitalguide/server/sicherheit/was-ist-ein-backup/ "Was ist ein Backup?") genutzt wird.

Die Besonderheiten und die **Funktionsweise von Hardlinks** kann man am besten an einem konkreten Beispiel erklären. Eine Videodatei, die zunächst nur im Verzeichnis „Meine Videos“ zugänglich ist, kann nach Anlegen eines Hardlinks auch über das Verzeichnis „Meine Videos-Backup“ abgerufen werden. Löscht man nun die Originaldatei in „Meine Videos“ (streng genommen wird nur der primäre Verweis auf die Videodatei gelöscht), ist sie über den gleichwertigen Parallelzugang (Hardlink-Pfad zur Datei im Verzeichnis „Meine Videos-Backup“) immer noch problemlos erreichbar. Dabei haben Hardlinks den Vorteil, dass ein zusätzlicher Vermerk in der Speicherverwaltung **nicht den doppelten Speicherplatz** in Anspruch nimmt. Sie sind lediglich alternative Zugangsoptionen (via Dateipfad) und repräsentieren keine komplette zweite physische Kopie einer Datei.

Hardlinks sind unter Linux eng mit einer speziellen internen Buchführung verknüpft. Jeder Hardlink verweist auf einen sogenannten Inode und wird einer unverwechselbaren und eindeutigen **Inode-Nummer** zugeordnet, die ebenfalls der Originaldatei zugewiesen ist. Eine Datei wird erst endgültig in der Inode-Verwaltung und damit auch im System gelöscht, wenn alle Einträge (also sämtliche Verweise auf diese Datei) durch Löschoperationen **für ungültig erklärt wurden** und ein interner Link-Zähler auf null gesetzt wurde. Wird nur ein Adresseintrag von mehreren gelöscht oder die Originaldatei in ein anderes Verzeichnis verschoben, ändert sich hingegen nichts. Die verbliebenen und im Inode hinterlegten Optionen für einen Zugriff auf die Originaldatei sind weiterhin gültig.

---

### Fakt

Inodes sind definierte Datenstrukturen, die eine Datei eindeutig beschreiben, Metadaten-Informationen über diese beinhalten (Gruppenzugehörigkeit, Eigentümer, Zugriffsrechte etc.) und ihren Speicherort (in Form einer Speicheradresse) dokumentieren.

---

## Wofür eignen sich Hard- und Softlinks?

Mit **Softlinks** können Normalnutzer die meisten üblichen Verlinkungen erledigen. Man kann Dateien und Verzeichnisse auch über Dateisystemgrenzen hinweg verlinken, auch **verschiedene Festplatten und Partitionen** stellen kein Hindernis dar. Softlinks sind allerdings nicht so flexibel wie Hardlinks, wenn Änderungen am Referenzobjekt vorgenommen werden (Verschieben, Löschen).

**Hardlinks** können normalerweise nur Dateien verlinken, keine Verzeichnisse bzw. Ordner. Da die mit Hardlinks verknüpften Inode-Nummern nur innerhalb von Partitionen verwaltet werden können, sind nur partitionsinterne Verlinkungen möglich. Moderne Linux-Systeme enthalten aber häufig verschiedene Dateisysteme, die sich auf unterschiedlichen Festplatten und Partitionen befinden. Wer bei der Erstellung von Links unter Linux gezielt mit Hardlinks arbeitet, sollte also **sein System kennen** und über ein gewisses Grundwissen verfügen (etwa in den Bereichen Partitionierung, Formatierung).

Dennoch gibt es vor allem bei **Backups** einige Vorteile. Man erhält alternative Zugriffe auf das Original, die platzsparend sind und zugleich die **Datensicherheit erhöhen**. Diese positiven Eigenschaften der Verlinkungstechnik nutzt etwa die Software [HardlinkBackup](https://www.lupinho.net/hardlinkbackup/ "Lupinhos Home –Download &amp; Infos zu HardlinkBackup").

Da Hardlinks die Ursprungsdatei direkt repräsentieren, müssen sie im Gegensatz zu Softlinks nicht durch **Rechenprozesse dereferenziert** werden. Dadurch können sie schneller verarbeitet werden und sind etwa für Anwendungen vollkommen transparent. Mit Hardlinks kann man auch **spezielle Probleme lösen**. Falls z. B. ein Programm zwingend eine Bibliothek benötigt, die eigentlich nicht mehr aktuell ist, kann ein Hardlink die weitere Funktion aufrechterhalten. Er übernimmt den Namen der veralteten (und mittlerweile gelöschten) Bibliothek und leitet auf eine aktuellere Version um.

## Wie wird der ln-Befehl in der Praxis verwendet?

In der Folge stellen wir Ihnen einige **einfache Anwendungsbeispiele** für die Erstellung von Links unter Linux vor. Die Befehlssyntax ist geeignet für wichtige Routineaufgaben, die regelmäßig anfallen. Natürlich lassen sich auch komplexere Verlinkungsaktionen mit dem Linux-ln-Befehl durchführen, was allerdings ein wenig Übung im Umgang mit der Kommandozeile erfordert. Sie müssen dann in der Regel auch **komplexeren Code** formulieren.

### Anlegen eines Hardlinks im gleichen Verzeichnis

In der Standardeinstellung ohne weitere Optionen erstellt der Linux-ln-Befehl **feste Verknüpfungen** in Form von Hardlinks. Dabei müssen Sie dieses Befehlsformat einhalten:

```none
ln /Zieldatei /Referenz
```

Mit folgendem Code wird im aktuellen Linux-Benutzerprofil „Peter“ (*/home/peter/*) ein **Hardlink auf eine Videodatei** (*video.mp4*) erstellt. Die Ursprungsdatei und der erzeugte Hardlink liegen im gleichen Verzeichnis für Videos. Der Hardlink kann danach bei Bedarf auch problemlos verschoben werden, ohne seine Gültigkeit zu verlieren.

```none
ln /home/peter/videos/video.mp4 hardlink_zur_videodatei
```

### Anlegen eines Hardlinks in einem anderen Verzeichnis

Soll ein Link auf die Videodatei auf dem Linux-Desktop erzeugt werden, ist diese Syntax zu formulieren:

```none
ln /home/peter/videos/video.mp4 /home/peter/Desktop/hardlink_zur_videodatei
```

### Anlegen eines Softlinks für Dateien

Möchte man einen Softlink mit dem Linux-ln-Befehl erstellen, ist die Syntax mit der **Option „-s“** (s = symbolic) zu ergänzen. Das Befehlsformat für einen Softlink lautet:

```none
ln -s /Zieldatei /Referenz
```

In diesem Beispiel wird der Softlink im gleichen Ordner erzeugt:

```none
ln -s /home/peter/video.mp4 softlink_zur_videodatei
```

### Softlink in anderen Verzeichnissen anlegen

Sie können Softlinks auch in anderen Verzeichnissen anlegen, z. B. auf dem Schreibtisch:

```none
ln -s /home/peter/videos/video.mp4 /home/peter/Desktop/softlink_zur_videodatei
```

Eine komplexere Verlinkungsaktion lässt sich mit der **Option „-t“** (t = target directory) und weiterem Linux-Code realisieren:

```none
ls Rechnung* | xargs ln -s -t /home/peter/Desktop/
```

Die Befehlssyntax erstellt Links zu allen Rechnung\*-Dateien, die sich im Ausgangsverzeichnis befinden, und legt sie im Desktop-Verzeichnis ab. Der Asterisk (\*) sorgt dafür, dass alle Dateien erfasst werden, deren Bezeichnung mit dem Wort „Rechnung“ beginnt (z. B. Rechnung\_vom\_Januar, Rechnung\_vom\_Februar etc.).

Wenn sie eine bessere Kontrolle über Verlinkungsaktionen haben möchten und sich zusätzliche Informationen anzeigen lassen wollen, ist die **Option „-v“** (v = verbose) eine echte Hilfe. Sie listet den Namen jeder verknüpften Datei am Bildschirm auf, was vor allem bei umfangreicheren Verlinkungsaktionen nützlich ist:

```none
ln -s -v /home/peter/videos/movie.mp4 /home/peter/Desktop/softlink_zur_videodatei
```

Softlinks können mit dem speziellen **Linux-Befehl „rm“** (rm = remove) gelöscht werden. Folgender Code löscht einen Softlink zur Videodatei im aktuellen Arbeitsverzeichnis:

```none
rm softlink_zur_videodatei
```

Wenn man in einem Durchlauf mehrere Videodateien im aktuellen Arbeitsverzeichnis löschen möchte, werden diese hintereinander und getrennt durch ein Leerzeichen aufgelistet:

```none
rm softlink_Video1 softlink_Video2 softlink_Video3 softlink_Video4
```

Mit der zusätzlichen **Option „-r“** (r = rekursiv) können beispielsweise alle Softlink-Dateien innerhalb eines Softlink-Ordners gelöscht werden. Sollten sich dort noch Unterordner befinden, werden sie ebenfalls gelöscht:

```none
rm -r ~/Desktop/Softlink-Ordner/*
```

### Anlegen eines Softlinks für Verzeichnisse

Folgender Code verlinkt keine Datei, sondern ein Verzeichnis. Ein Softlink für den Video-Ordner wird mit folgender Befehlssyntax auf dem Schreibtisch platziert:

```none
ln -s /home/peter/videos/ /home/peter/Desktop/softlink_für_video-ordner
```

Sie müssen bei der Erstellung von Links unter Linux nicht immer mit vollständigen Pfadangaben (absolute Pfade) arbeiten. Die Linux-Shell und der Linux-ln-Befehl akzeptieren auch relative Pfadangaben und Shortcuts. Beispielsweise stellt eine Tilde (~) den absoluten Pfad des Home-Verzeichnisses des aktuellen Benutzers dar (in unserem Beispiel: */home/peter/*). So sieht der kompakte Code für einen Softlink aus, der auf dem Desktop auf das Verzeichnis für Videos (also: */home/peter/videos/*) verweist:

```none
ln -s ~/videos ~/Desktop/softlink_für_video-ordner
```

---

### Hinweis

Bei einer Verlinkung per Linux-ln-Befehl wird keine Verzeichnisstruktur automatisch mitangelegt. Die adressierten Verzeichnisebenen müssen also alle bereits vorhanden sein (ggf. auch Unterordner, wenn mehrere Verzeichnisebenen relevant sind), ansonsten wird der ln-Befehl nicht fehlerfrei und erfolgreich ausgeführt.

---

### Mehrere Softlinks gleichzeitig in einem Zielverzeichnis anlegen

Man kann auch gleichzeitig auf ein Verzeichnis und eine Datei verlinken. In dem Fall muss die Befehlssyntax nach folgendem Muster aufgebaut werden:

```none
ln <Option> <Verlinkungsobjekt1> < Verlinkungsobjekt2> <Zielverzeichnis mit Softlinks für Verlinkungsobjekte>
```

Verlinkungsobjekt 1 ist in unserem Beispiel wieder die Filmdatei im Video-Ordner von Peter. Verlinkungsobjekt 2 ist ein Ordner mit der Bezeichnung „Test“, der sich als Unterordner in Peters Video-Verzeichnis befindet. Im Zielverzeichnis „Softlink-Ordner“ sollen Softlinks auf die Videodatei und das Test-Verzeichnis generiert werden:

```none
ln -s ~/videos/video.mp4 ~/videos/test/ ~/Desktop/Softlink-Ordner
```

Das Zielverzeichnis „Softlink-Ordner“ muss bereits auf dem Desktop vorhanden sein, ansonsten klappt die Verlinkung nicht.

### Erstellung von Softlinks mit Backup

Soll der Linux-ln-Befehl eine Sicherheitskopie von Dateien anlegen, die im Zielverzeichnis bereits vorhanden sind (in diesem Beispiel ein gleichnamiger älterer Softlink zur Videodatei), hilft die **Kommandozeilenoption „-b“** (b = Backup):

```none
ln -s -b /home/peter/videos/movie.mp4 /home/peter/Desktop/softlink_zur_videodatei
```

Die erstellte Sicherungsdatei können Sie im Zielverzeichnis an einer Tilde am Namensende erkennen (z. B. *softlink\_zur\_videodatei~*). Wenn Sie keine Sicherung brauchen und eine bereits vorhandene ältere Softlink-Datei überschreiben möchten, verwenden Sie die **Option „-f“** (f = force):

```none
ln -s -f /home/peter/videos/movie.mp4 /home/peter/Desktop/softlink_zur_videodatei
```

Eine nützliche Hilfe beim Erstellen von Links unter Linux ist die **Option „--help“**, die alle verfügbaren Parameter und Optionen für den ln-Befehl auflistet. Fügen Sie **„-i“** (i = interactive) hinzu, erfolgt eine **Sicherheitsabfrage**, ob das Ziel entfernt werden soll.


This is a markdown version of: [https://www.ionos.at/digitalguide/server/konfiguration/linux-ln-befehl/](https://www.ionos.at/digitalguide/server/konfiguration/linux-ln-befehl/) for AI/LLM consumption.