Soft Link :
Soft oder Symbolic ist eher eine Verknüpfung zur Originaldatei. Wenn Sie das Original löschen, schlägt die Verknüpfung fehl und wenn Sie nur die Verknüpfung löschen, passiert nichts mit dem Original.
Softlink-Syntax :ln -s Pathof_Target_file link
Ausgabe : link -> ./Target_file
Beweis: readlink link
Auch in der ls -l link
Ausgabe sehen Sie den ersten Buchstaben lrwxrwxrwx
als l, was darauf hinweist, dass die Datei ein Softlink ist.
Link löschen: unlink link
Hinweis: Wenn Sie möchten, kann Ihr Softlink auch funktionieren, nachdem Sie ihn aus dem aktuellen Verzeichnis an einen anderen Ort verschoben haben. Stellen Sie sicher, dass Sie beim Erstellen eines Softlinks einen absoluten Pfad und keinen relativen Pfad angeben. dh (ab / root / user / Target_file und nicht ./Target_file)
Harte Verbindung:
Hard Link ist eher eine Spiegelkopie oder mehrere Pfade zu derselben Datei. Wenn Sie etwas mit Datei1 tun, wird es in Datei 2 angezeigt. Wenn Sie eine löschen, bleibt die andere in Ordnung.
Der Inode (oder die Datei) wird nur gelöscht, wenn alle (festen) Links oder alle Pfade zum Inode (dieselbe Datei) gelöscht wurden.
Sobald ein fester Link hergestellt wurde, hat der Link den Inode der Originaldatei. Das Löschen des Umbenennens oder Verschiebens der Originaldatei wirkt sich nicht auf den festen Link aus, da dieser mit dem zugrunde liegenden Inode verknüpft ist. Alle Änderungen an den Daten auf dem Inode werden in allen Dateien wiedergegeben, die auf diesen Inode verweisen.
Hard Link-Syntax :ln Target_file link
Ausgabe: Eine Datei mit Namensverknüpfung wird mit derselben Inode-Nummer wie Targetfile erstellt.
Beweis: ls -i link Target_file
(überprüfen Sie ihre Inodes)
Löschen des Links: rm -f link
(Löschen Sie den Link wie eine normale Datei)
Hinweis : Symbolische Links können sich über Dateisysteme erstrecken, da sie einfach der Name einer anderen Datei sind. Während Hardlinks nur innerhalb desselben Dateisystems gültig sind.
Symbolische Links haben einige Funktionen, bei denen harte Links fehlen:
- Harter Link verweist auf den Dateiinhalt. während Softlink auf den Dateinamen verweist.
- Während die Größe des Hardlinks die Größe des Inhalts ist, während der Softlink die Dateinamengröße hat.
- Hardlinks haben dieselbe Inode. Softlinks nicht.
- Hardlinks können keine Dateisysteme überqueren. Softlinks tun es.
Sie wissen sofort, wohin ein symbolischer Link verweist, während Sie mit festen Links das gesamte Dateisystem durchsuchen müssen, um Dateien zu finden, die denselben Inode verwenden.
# find / -inum 517333
/home/bobbin/sync.sh
/root/synchro
Hardlinks können nicht auf Verzeichnisse verweisen.
Die Hardlinks haben zwei Einschränkungen:
- Die Verzeichnisse können nicht fest verknüpft werden. Linux erlaubt dies nicht, um die azyklische Baumstruktur von Verzeichnissen beizubehalten.
- Ein fester Link kann nicht zwischen Dateisystemen erstellt werden. Beide Dateien müssen sich auf demselben Dateisystem befinden, da unterschiedliche Dateisysteme unterschiedliche unabhängige Inode-Tabellen haben (zwei Dateien auf unterschiedlichen Dateisystemen, jedoch mit derselben Inode-Nummer, sind unterschiedlich).