Ein Link ist ein Verweis auf eine andere Datei. Links geben derselben Datei mehrere Namen und ermöglichen es ihnen, gleichzeitig an zwei oder mehr Orten zu leben.
Es gibt zwei Arten von Links:
- Softlink oder symbolischer Link:Dies ist lediglich eine Verknüpfung zur Originaldatei.
- Fester Link:Dieser verweist auf den Speicherort der Originaldatei.
Dieses Bild zeigt, wie die beiden Arten von Links funktionieren:
Sowohl Hardlinks als auch Softlinks werden mit dem Befehl ln erstellt.
In diesem Tutorial zeige ich Ihnen, wie Sie den Befehl ln verwenden, um verschiedene Arten von Links in Linux zu erstellen.
Beispiele des ln-Befehls
Die Syntax für den ln-Befehl ist einfach:
ln [option] target_file link_name
Lassen Sie mich Ihnen einige Beispiele für die Verwendung des ln-Befehls zum Erstellen von Links in Linux zeigen.
1. Festen Link zu einer Datei erstellen
Um einen festen Link zu einer Datei zu erstellen, können Sie den ln-Befehl ohne Optionen wie diesen verwenden:
ln target_file link_name
2. Softlink zu einer Datei erstellen
Um einen symbolischen Link zu einer Datei zu erstellen, verwenden Sie die Option -s
mit dem Zieldateinamen und dem Linknamen
ln -s target_file link_name
Die meisten Linux-Terminals zeigen den Softlink in einer anderen Farbe zusammen mit dem Ziel, auf das er zeigt.
Sie werden auch feststellen, dass Links mit l
beginnen anstelle des üblichen -
für Dateien in der Langlistenansicht.
Auch wenn Ihr Terminal Softlinks nicht in einer anderen Farbe anzeigt, können Sie Links auf diese Weise identifizieren.
3. Erstellen Sie einen Softlink zu einem Verzeichnis
Das Erstellen eines Softlinks zu einem Verzeichnis entspricht dem Erstellen eines symbolischen Links zu einer Datei. Sie müssen nur den Zieldateinamen/Pfad durch den Verzeichnisnamen/Pfad ersetzen.
ln -s target_directory link_name
Sie werden feststellen, dass die Farbe des Softlinks und des Hardlinks im Linux-Terminal normalerweise unterschiedlich ist. Ein Hardlink zu einem Verzeichnis ist (normalerweise) nicht möglich.
4. Aktualisieren Sie einen vorhandenen Softlink (oder Hardlink)
Sie können einen bestehenden Link überschreiben. Wenn Sie versuchen, einen vorhandenen Link zu verwenden, um auf eine neue Datei zu verweisen, wird standardmäßig ein Fehler ausgegeben:
ln: failed to create symbolic link 'soft-link-to-file': File exists
Der ln-Befehl hat zu diesem Zweck zwei Möglichkeiten:
-i
:Der interaktive Modus fragt Sie, ob Sie den bestehenden Link überschreiben möchten.-f
:Der Force-Modus aktualisiert nur den bestehenden Link ohne Bestätigung.
Angenommen, Sie möchten die Aktualisierung eines symbolischen Links erzwingen. Folgendes können Sie tun:
ln -sf new_file existing_soft_link
Denken Sie daran, die s
hinzuzufügen für Softlink andernfalls konvertieren Sie den Softlink in einen Hardlink.
Bonus-Tipp:Erhalten der Originaldatei nach einer Kette von Links
Normalerweise, wenn Sie den ls-Befehl mit dem -l
verwenden Option, es zeigt die Datei, auf die es zeigt.
Aber wenn es eine Kette von Links gibt, wird die Originaldatei nicht angezeigt. Sie erstellen beispielsweise einen Link zu einer Datei und dann einen weiteren Link zum ersten Link. In der langen Auflistung zeigt der zweite Link auf den ersten Link.
Um die Originaldatei aus einer Kette von Links zu finden, können Sie den readlink -f
verwenden wie folgt:
readlink -f soft_link
Das -f
Optionen steht für „folgen“, wie in „der Kette folgen“.
Dieses Bild erklärt das Beispiel besser:
Warum brauchen wir Links?
Nachdem Sie nun wissen, wie man Links erstellt, lassen Sie uns kurz erklären, wozu wir Links brauchen. Welchem praktischen Zweck dienen sie?
Es könnte mehrere Anwendungsfälle geben. Angenommen, Sie haben eine Software heruntergeladen, die mit ihrem Code und einer ausführbaren Datei geliefert wird. Das Ganze hältst du im /opt
Verzeichnis. Aber um das Programm von überall auszuführen, müssen Sie seine ausführbare Datei in /usr/bin
ablegen Verzeichnis.
Wenn Sie die ausführbare Datei in dieses Verzeichnis verschieben, funktioniert sie möglicherweise nicht, da sie auf einen Teil des Codes zugreifen muss und den Pfad zu diesen Dateien aus /usr/bin
nicht findet Verzeichnis. Hier können Sie einen Link zu dieser ausführbaren Datei im Verzeichnis /usr/bin
erstellen Verzeichnis.
Auf diese Weise kann das Programm von überall auf dem System ausgeführt werden und die ausführbare Datei des Programms verbleibt in seinem ursprünglichen Programmordner.
Links sind ein wesentlicher Bestandteil von Linux. Sie werden sie an vielen Stellen in Ihren Systemen verwenden. Schauen Sie einfach in die /lib
Verzeichnis und Sie werden viele Softlinks sehen.
Was kommt als Nächstes?
Ich empfehle dringend, die folgenden Artikel zu lesen, die sich auf das Link-Konzept in Linux beziehen:
- Was sind Softlinks?
- Detaillierte Erläuterung von Hardlinks
- Fehlerhafte symbolische Links finden
- Inode-Konzept in Linux
Ich hoffe, Sie haben in diesem Tutorial gelernt, den Befehl ln effektiv zu verwenden. Fragen und Anregungen sind immer willkommen.