Website-Suche

So erstellen Sie harte und symbolische Links unter Linux


In Unix-ähnlichen Betriebssystemen wie Linux ist „alles eine Datei“ und eine Datei ist im Grunde ein Link zu einem Inode (einer Datenstruktur, die außer ihrem Namen und dem eigentlichen Inhalt alles über eine Datei speichert).

Ein Hardlink ist eine Datei, die auf denselben zugrunde liegenden Inode verweist wie eine andere Datei. Wenn Sie eine Datei löschen, wird ein Link zum zugrunde liegenden Inode entfernt. Ein symbolischer Link (auch Softlink genannt) hingegen ist ein Link zu einem anderen Dateinamen im Dateisystem.

Lesen Sie auch: So führen Sie die Datei- und Verzeichnisverwaltung durch

Ein weiterer wichtiger Unterschied zwischen den beiden Linktypen besteht darin, dass Hardlinks nur innerhalb desselben Dateisystems funktionieren können, während symbolische Links über verschiedene Dateisysteme hinweg verlaufen können.

So erstellen Sie Hardlinks unter Linux

Um harte Links unter Linux zu erstellen, verwenden wir das LN-Dienstprogramm. Der folgende Befehl erstellt beispielsweise einen festen Link mit dem Namen tp zur Datei topprocs.sh.

ls -l
ln topprocs.sh tp
ls -l

Wenn Sie sich die Ausgabe oben ansehen und den Befehl ls verwenden, wird die neue Datei nicht als Link, sondern als reguläre Datei angezeigt. Dies impliziert, dass tp nur eine weitere reguläre ausführbare Datei ist, die auf denselben zugrunde liegenden Inode verweist wie topprocs.sh.

Um einen Hardlink direkt in einen Softlink umzuwandeln, verwenden Sie das Flag -P wie folgt.

ln -P topprocs.sh tp

So erstellen Sie symbolische Links unter Linux

Um symbolische Links unter Linux zu erstellen, verwenden wir dasselbe LN-Dienstprogramm mit dem Schalter -s. Der folgende Befehl erstellt beispielsweise einen symbolischen Link mit dem Namen topps.sh zur Datei topprocs.sh.

ln -s ~/bin/topprocs.sh topps.sh
ls -l topps.sh

Aus der obigen Ausgabe können Sie im Abschnitt „Dateiberechtigungen“ erkennen, dass topps.sh ein Link ist, der durch l: angezeigt wird, was bedeutet, dass es sich um einen Link zu einem anderen Dateinamen handelt.

Wenn der symbolische Link bereits vorhanden ist, erhalten Sie möglicherweise eine Fehlermeldung. Um den Vorgang zu erzwingen (beendenden symbolischen Link entfernen), verwenden Sie die Option -f.

ln -s ~/bin/topprocs.sh topps.sh
ln -sf ~/bin/topprocs.sh topps.sh

Um den ausführlichen Modus zu aktivieren, fügen Sie das Flag -v hinzu, um den Namen jeder verknüpften Datei in der Ausgabe auszugeben.

ln -sfv ~/bin/topprocs.sh topps.sh
$ls -l topps.sh

Das ist es! Schauen Sie sich die folgenden verwandten Artikel an.

  1. fdupes – Ein Befehlszeilentool zum Suchen und Löschen doppelter Dateien unter Linux
  2. 5 nützliche Befehle zum Verwalten von Dateitypen und Systemzeit unter Linux

In diesem Artikel haben wir gelernt, wie man unter Linux harte und symbolische Links erstellt. Über das unten stehende Feedback-Formular können Sie Fragen stellen oder Ihre Gedanken zu diesem Leitfaden mitteilen.