Website-Suche

So erstellen Sie harte und weiche (symbolische) Links unter Linux


Wie kann ich unter Linux symbolische Links erstellen? In diesem Tutorial erfahren Sie, wie Sie mithilfe von Hardlinks und symbolischen, auch „Soft“-Links genannt, mehrere Dateinamen auf dieselbe Datei verweisen lassen. Die beiden gängigen Methoden zum Erstellen mehrerer Namen, die unter Linux auf dieselbe Datei verweisen, sind:

  • Erstellen eines Soft-Links (symbolischer Link) zur Datei
  • Erstellen eines harten Links zur Datei.

Arbeiten mit Softlink (symbolischer Link)

Ein Softlink ist ein spezieller Dateityp, der auf eine vorhandene Datei oder ein vorhandenes Verzeichnis verweist. Es kann verwendet werden, um zwei Dateien auf unterschiedlichen Dateisystemen zu verknüpfen. Ein Softlink kann auch auf eine spezielle Datei verweisen.

Mit dem Befehlln -s wird ein Softlink erstellt. Betrachten wir ein Beispiel:

Im folgenden Beispiel wird der Befehl ln -s verwendet, um einen neuen Softlink für die vorhandene Datei /tmp/file1.txt zu erstellen, der benannt wird /tmp/file2.txt:

echo "Hello from file1" > /tmp/file1.txt
ln -s /tmp/file1.txt /tmp/file2.txt

Bestätigen Sie, indem Sie die Dateien auflisten:

$ ls -l /tmp/file1.txt /tmp/file2.txt
-rw-------. 1 jkmutai jkmutai 17 Feb  4 22:37 /tmp/file1.txt
lrwxrwxrwx. 1 jkmutai jkmutai 14 Feb  4 22:38 /tmp/file2.txt -> /tmp/file1.txt

Sie können sehen, dass das erste Zeichen der langen Liste für /tmp/file2.txtl statt - ist. Dies weist darauf hin, dass es sich bei der Datei um einen Softlink und nicht um eine reguläre Datei handelt. (Ein d würde anzeigen, dass es sich bei der Datei um ein Verzeichnis handelt.)

Überprüfen Sie den Inhalt der symbolischen Linkdatei.

$ cat /tmp/file2.txt
Hello from file1

Verwenden Sie als Verzeichnis:

ln -s /dir /dir2

Wenn Sie die ursprüngliche reguläre Datei löschen, verweist der Softlink immer noch auf die fehlende Datei – ein „baumelnder Softlink. ”

Arbeiten mit Hardlinks

Jede Datei unter Linux beginnt mit einem einzelnen Hardlink. Indem Sie einen neuen festen Link zu einer Datei erstellen, erstellen Sie einen anderen Namen, der auf dieselben Daten verweist.

Der neue Hardlink verhält sich genau wie der ursprüngliche Dateiname. Es ist schwer, den Unterschied zwischen dem neuen Hardlink und dem ursprünglichen Namen der Datei zu erkennen. Sie verwenden den Befehl ln, um einen festen Link zu erstellen – ein anderer Name, der auf eine vorhandene Datei verweist.

echo "Hello World from Hard Link" >/tmp/hello1.txt
ln /tmp/hello1.txt  /tmp/hello2.txt 

Wo :

  • /tmp/hello1.txt ist ein Pfad zur vorhandenen Datei
  • /tmp/hello2.txt ist der Hardlink, den Sie erstellen möchten.

Verwenden Sie die Option ls -i, um die Inode-Nummer der Dateien aufzulisten. Wenn die Inode-Nummern gleich sind, handelt es sich bei den Dateien um Hardlinks, die auf dieselben Daten verweisen.

$ ls -li /tmp/hello1.txt  /tmp/hello2.txt
2591191 -rw-------. 2 jkmutai jkmutai 27 Feb  5 08:16 /tmp/hello1.txt
2591191 -rw-------. 2 jkmutai jkmutai 27 Feb  5 08:16 /tmp/hello2.txt

--- Let's add third file and recheck ---
$ ln /tmp/hello1.txt  /tmp/hello3.txt 
$ ls -li /tmp/hello1.txt  /tmp/hello2.txt /tmp/hello3.txt 
2591191 -rw-------. 3 jkmutai jkmutai 27 Feb  5 08:16 /tmp/hello1.txt
2591191 -rw-------. 3 jkmutai jkmutai 27 Feb  5 08:16 /tmp/hello2.txt
2591191 -rw-------. 3 jkmutai jkmutai 27 Feb  5 08:16 /tmp/hello3.txt

Alle Hardlinks, die auf dieselbe Datei verweisen, haben dasselbe:

  • Linkanzahl
  • Zugriffsberechtigungen
  • Benutzer- und Gruppeneigentümer
  • Zeitstempel
  • Dateiinhalt

Vergleichen Sie mit denen für Softlink:

$ ls -li /tmp/file1.txt /tmp/file2.txt /tmp/file3.txt
2442008 -rw-------. 1 jkmutai jkmutai 17 Feb  4 22:37 /tmp/file1.txt
2442949 lrwxrwxrwx. 1 jkmutai jkmutai 14 Feb  4 22:38 /tmp/file2.txt -> /tmp/file1.txt
2601927 lrwxrwxrwx. 1 jkmutai jkmutai 14 Feb  5 08:24 /tmp/file3.txt -> /tmp/file1.txt

Hauptunterschied zwischen Softlink und Hardlink

  • Ein fester Link weist einen Namen auf Daten auf einem Speichergerät hin
  • Ein Softlink verweist von einem Namen auf einen anderen Namen, der auf Daten auf einem Speichergerät verweist

Wir wünschen Ihnen viel Spaß mit Linux und schauen Sie sich unsere Sonderangebote an, um mehr zu erfahren.

Informationen zum Kauf von Linux-Büchern finden Sie hier:

Beste Linux-Bücher für Anfänger und Experten

Nachschlagewerke zu LPIC-1 und LPIC-2

RHCSA- und RHCE-Bücher zum Lesen

Verwandte Artikel: