GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Unterschied zwischen Softlinks und Hardlinks in Linux

Softlink

Ein Softlink (symbolischer Link oder Symlink) ermöglicht es, eine Datei mit einer anderen zu verknüpfen. Es ähnelt einer Verknüpfung in MS Windows, bei der sich die eigentliche Datei irgendwo in der Verzeichnisstruktur befindet, aber möglicherweise mehrere Verknüpfungen oder Zeiger mit unterschiedlichen Namen darauf verweisen. Dies bedeutet, dass der Zugriff auf die Datei über den tatsächlichen Dateinamen oder eine der Verknüpfungen zu einem identischen Ergebnis führen würde. Jeder Softlink hat eine eindeutige Inode-Nummer.

Ein Softlink kann Dateisystemgrenzen überschreiten und zum Verlinken von Verzeichnissen verwendet werden.

Um einen Softlink für unix-admin als sys-admin im selben Verzeichnis zu erstellen, verwenden Sie den Befehl ln mit der Option -s:

$ cd /home/geek/
$ ln -s unix-admin sys-admin

wo:

  • unix-admin ist eine existierende Datei
  • sys-admin ist weich mit unix-admin verknüpft

Nachdem Sie den Link erstellt haben, geben Sie ll mit der Option -i aus. Beachten Sie den Buchstaben l als erstes Zeichen in der zweiten Spalte der Ausgabe. Beachten Sie auch einen Pfeil, der von der verknüpften Datei zur Originaldatei zeigt. Dies weist darauf hin, dass sys-admin lediglich ein Zeiger auf unix-admin ist. Die Option -i zeigt die zugehörigen Inode-Nummern in der ersten Spalte an.

$ ll -i
3674110 lrwxrwxrwx 1 geek geek 10 Jan 12 11:03 sys-admin -> unix-admin
3674109 -rw-rw-r-- 1 geek geek 0 Jan 12 11:03 unix-admin

Wenn Sie die Originaldatei (in diesem Beispiel unix-admin) entfernen, bleibt der Link sys-admin erhalten, zeigt aber auf etwas, das nicht existiert.

Fester Link

Ein fester Link verknüpft zwei oder mehr Dateien mit einer einzelnen Inode-Nummer . Dadurch können die Dateien identische Berechtigungen, Eigentümer, Zeitstempel und Dateiinhalte haben. Änderungen, die an einer der Dateien vorgenommen werden, werden in den anderen verknüpften Dateien widergespiegelt. Alle Dateien enthalten tatsächlich identische Daten.

Ein fester Link kann keine Dateisystemgrenzen überschreiten und kann nicht zum Verknüpfen von Verzeichnissen verwendet werden.

Das folgende Beispiel verwendet den Befehl ln und erstellt einen festen Link für die Datei „ubuntu-rocks“, die sich unter /home/geek befindet, zu „debian-os“ im selben Verzeichnis. Beachten Sie, dass die Datei „debian-os“ nicht existiert, aber erstellt wird.

$ cd /home/geek/
$ ln ubuntu-rocks debian-os

Führen Sie nach dem Erstellen des Links ll mit der Option -i aus:

$ ll -i
3674110 -rw-rw-r-- 2 geek geek 40 Jan 12 11:15 debian-os
3674110 -rw-rw-r-- 2 geek geek 40 Jan 12 11:15 ubuntu-rocks

Sehen Sie sich die erste und dritte Spalte an. Die erste Spalte gibt an, dass beide Dateien identische Inode-Nummern haben, und die dritte Spalte gibt an, dass jede Datei zwei feste Links hat. „ubuntu-rocks“ verweist auf „debian-os“ und umgekehrt. Wenn Sie die Originaldatei (in diesem Beispiel Ubuntu-Rocks) entfernen, haben Sie über die verknüpfte Datei debian-os immer noch Zugriff auf die Daten.


Linux
  1. Hardlinks und Softlinks in Linux erklärt

  2. Linux – Unterschied zwischen User Space und Kernel Space?

  3. Ulimit:Unterschied zwischen harten und weichen Limits?

  4. Der Unterschied zwischen symbolischen und harten Links?

  5. Was sind Softlinks und Hardlinks im Linux-Dateisystem?

Was ist der Unterschied zwischen Linux und Unix?

Anleitung zum Hinzufügen symbolischer Linux-Links

Erläuterung von Soft Link und Hard Link in Linux anhand von Beispielen

Der ln-Befehl unter Linux:Soft- und Hardlinks erstellen

Hardlinks und Softlinks in Linux:Alles, was Sie wissen müssen

unterschied zwischen netstat und ss unter linux?