Der Begriff Linking in Linux ist definiert als das Erstellen eines Dateipfads oder einer Dateispeicherort-URL in Ihrem Dateisystem. Es gibt zwei Arten von Verknüpfungen in Linux, Softlinks und Hardlinks. Der Begriff Softlinks ist weit verbreitet und leicht verständlich. Wenn Sie mit der Verknüpfungsdatei von Windows vertraut sind, würden Sie sich den Softlink als Verknüpfung zu einer bestimmten Datei vorstellen. Die Softlinks enthalten nicht die gesamte Datei, sondern nur einen Dateinamen oder Dateidetails. Es trägt nur den Indexknoten (Inode) der Datei, um die interne Verknüpfung mit dieser Datei im Dateisystem herzustellen.
Hardlinks und Softlinks in Linux
Der Hardlink ist der Link oder Pfad der Originaldatei mit tatsächlicher Größe. Andererseits erstellt der Softlink nur eine Verknüpfungs-URL oder einen Pfad für eine Datei oder einen Ordner im System. In diesem Beitrag sehen wir eine detaillierte Erklärung von Soft- und Hardlinks und wie das Verlinken unter Linux funktioniert.
1. Soft- und Hardlink mit Inode
In Linux- und Unix-ähnlichen Betriebssystemen gibt der Softlink den Link zur Originaldatei an. Wenn Ihre Datei eine eindeutige Indexnummer hat, können Sie mehrere Softlinks für diese Originaldatei erstellen, und jeder Softlink verweist auf die Hauptdatei.
In den meisten Fällen werden die Softlinks auch als symbolische Links bezeichnet. Das Erstellen des Softlinks einer Datei ist mit der Terminal-Befehlsshell einfach. Der unten aufgeführte Befehl führt Sie durch die Erstellung eines Softlinks.
$ ln -s targetFile SourceFiles
Diese Softlinks werden häufig verwendet, um Dateien innerhalb eines Befehls zu verweisen oder einen Knoten innerhalb eines Befehls anzugeben. In der Serververwaltung werden oft die Soft- und Hardlinks anstelle der ursprünglichen Pfade verwendet.
Der Hardlink ist etwas komplex zu verstehen und zu verwenden. Wie ich bereits sagte, ist dies ein anderer Name für eine Datei, die die Metadaten und die ursprüngliche Indexnummer enthält. Wir können den Hardlink in ein beliebiges Verzeichnis setzen. Mit dem folgenden Terminalbefehl können wir einen festen Link zu einer Datei erstellen.
$ ln hard_link_target hard_link_output
Apropos Verlinkung unter Linux, mit dem erweiterten ln-Befehl können wir prüfen, wie viele Indexknotennummern mit der Datei und den Benutzerdetails verknüpft sind. Beim Hardlinking gibt die Anzahl der Indexnummern auch die Gesamtzahl der Hardlinks dieser Datei an.
Das Interessante an den Hardlinks ist, dass, wenn Sie die Originaldatei löschen, der Hardlink immer noch im Dateisystem verbleibt. Die einzige Möglichkeit, eine Datei unter Linux zu löschen, besteht darin, sicherzustellen, dass es nur eine Inode-Nummer dieser Datei gibt, bevor Sie die Datei löschen.
Durch das Löschen von Soft- und Hardlinks wird die Originaldatei nicht aus dem Linux-Dateisystem gelöscht. In einigen Fällen kann die Inode-Nummer helfen, die versehentlich gelöschten Dateien unter Linux wiederherzustellen.
2. Fakten über Hardlinks und Softlinks in Linux
In diesem Schritt werden wir einige Fakten und Arbeitsweisen von Softlinks und Hardlinks unter Linux sehen. Das Verstehen des Verknüpfungskonzepts unter Linux kann Ihnen helfen, Verknüpfungen besser zu erstellen.
- Softlinks oder symbolische URLs sind die Verknüpfungen einer Datei auf dem Linux-System.
- Wenn die Originaldatei verschoben oder entfernt wird, funktioniert der Softlink-Pfad nicht richtig.
- Sie können den Befehl ls -l verwenden, um die symbolischen Links anzuzeigen.
- Sie können die Softlinks verwenden, um Befehle auszuführen, auf ein Verzeichnis zu verlinken oder innerhalb eines Skripts zu verwenden.
- Nachdem Sie einen Softlink einer Datei erstellt haben und den Namen dieser Datei ändern, müssen Sie auch den Namen des Softlinks aktualisieren. Andernfalls funktioniert der Softlink nicht.
- Die Softlinks werden hauptsächlich verwendet, um Dateien und Verzeichnisse auf dem System miteinander zu verknüpfen.
Da wir einige Fakten über die symbolischen Links gesehen haben, gibt es auch einige Fakten über die harten Links, die Sie vielleicht wissen sollten.
- Wie Softlinks können Sie den Befehl ls -l verwenden, um die Liste der Hardlinks auf dem System anzuzeigen.
- Im Gegensatz zu den Softlinks haben die Hardlinks dieselbe Originaldatei. Wenn Sie einen von ihnen löschen, funktioniert der Rest.
- Das Löschen von Hardlinks wirkt sich nicht auf die Hauptdatei in Ihrem Linux-Dateisystem aus.
- Die Größe des Hardlinks ist üblicherweise dieselbe wie die der Hauptdatei.
- Sie können feste Links für Dateien erstellen, aber Sie können keine festen Links für Verzeichnisse unter Linux und Unix-ähnlichen Betriebssystemen erstellen.
- Der Indexknotenwert der Originaldatei und der Indexknoten des Hardlinks sind immer gleich und verweisen auch auf dieselbe Datei im Dateisystem.
3. Vor- und Nachteile von Soft- und Hardlinks
In den oben genannten Punkten haben wir die Funktionen, Arbeitsmethodik und Eigenschaften gesehen, wie die harten und weichen Links auf dem Linux-System funktionieren. Hier werden wir die Vor- und Nachteile dieser beiden Dateisysteme entdecken.
Die Hauptvorteile des Softlinks oder des symbolischen Links sind, dass Sie ohne Aufwand einfach einen Softlink erstellen können, und es nimmt nicht viel Platz oder Block auf der Festplatte in Anspruch. Und zusätzlich erlaubt uns der Softlink auch symbolische Links für beliebige Dateien und Verzeichnisse zu erstellen.
Der Vorteil des Hardlinks besteht darin, dass sowohl die Datei als auch der Hardlink denselben Indexknoten verwenden und denselben Speicherplatz auf dem System beanspruchen, sodass wir in diesem Fall tatsächlich beide Dateien im Dateisystem behalten. Wenn Sie also versehentlich oder absichtlich die Hauptdatei entfernen oder löschen, bleibt der Hardlink weiterhin ausführbar.
Wenn wir uns nun die Nachteile des Softlinks und des Hardlinks ansehen, sehen wir, dass beide einige Einschränkungen haben. Wenn Sie bei Softlinks die Hauptdatei entfernen, umbenennen oder löschen, funktioniert der Softlink nicht mehr.
4. Was würde passieren, wenn wir die Hauptdatei löschen
Sie haben vielleicht darüber nachgedacht, was passieren wird, wenn wir absichtlich oder versehentlich die Hauptdatei löschen; Werden die Hard- und Softlinks weiterhin funktionieren? Hier haben wir einen Softlink für den Zielordner erstellt. Wenn wir nun das Hauptzielverzeichnis löschen, schlägt das System vor, den Softlink bei der nächsten Ausführung dieses Softlinks aus dem Papierkorb zu entfernen.
Wir haben den folgenden Befehl verwendet, um einen Softlink der ‚Ziel‘-Datei zu erstellen. Jetzt werden wir die Hauptdatei löschen und sehen, wie sich dies auf den symbolischen Link auswirkt.
ln -s target softlink
Und bei Hardlinks besteht der einzige Nachteil darin, dass Sie für kein Verzeichnis auf Ihrem Linux-System einen Hardlink erstellen können. Darüber hinaus erlaubt es Ihnen auch nicht, feste Links für verschiedene Dateisysteme zu erstellen.
Schlussworte
Im gesamten Beitrag haben wir eine detaillierte Erklärung gesehen, wie Soft- und Hardlinks unter Linux funktionieren. Falls Sie beabsichtigen, einen festen Link zu einem Verzeichnis zu erstellen, beachten Sie bitte, dass es auf modernen Computern fast unmöglich ist, einen festen Link von Verzeichnissen zu erstellen. Sie können aber Softlinks zu Verzeichnissen erstellen.
Ich hoffe, dieser Beitrag war hilfreich für Sie; Wenn ja, teilen Sie diesen Beitrag bitte mit Ihren Freunden und der Linux-Community. Sie können uns auch mitteilen, welche Verknüpfung Sie am nützlichsten finden oder auf Ihrem System am häufigsten verwendet haben.