Wie erstellt man Hardlinks Linux?

How Create Hard Links Linux



Linken ist ein interessantes Feature in Linux. In UNIX-ähnlichen Betriebssystemen ist alles eine Datei. Eine Datei ist im Grunde ein Link zu einem Inode, einer speziellen Art von Datenstruktur, die alles über eine bestimmte Datei außer ihrem ursprünglichen Namen und dem tatsächlichen Inhalt speichert. Dies ist die Funktion, die Links nutzt. Um einen Link zu erstellen, wird eine andere Datei erstellt, die auf denselben zugrunde liegenden Inode wie eine andere Datei verweist. In vielen Situationen ist es eine unglaublich nützliche Methode.

Sehen Sie sich an, wie Sie unter Linux Hardlinks erstellen.







Hardlinks unter Linux

Bevor wir tiefer eintauchen, lassen Sie uns ein wenig über Hard- und Softlinks sprechen. Es gibt einige grundlegende Unterschiede zwischen ihnen. Bei einem harten Link kann er nur im selben Dateisystem existieren, während der symbolische Link dateisystemübergreifend bestehen bleibt. Darüber hinaus kann es nur für normale Dateien ausgeführt werden. Sie können auch keine Verzeichnis-Hardlinks erstellen, sodass keine Verzeichnisschleife erstellt wird.



Wenn eine Datei des Hardlinks gelöscht wird, entfernt es den Link vom zugrunde liegenden Inode.



Der Befehl ls kann den Inode einer Zieldatei/einem Zielverzeichnis drucken.





$ls -Bei der <file_or_dir>

Erstellen von Hardlinks

Einen Hardlink zu generieren ist ganz einfach. Um Links zu erstellen, ist ln das dedizierte Tool, das in fast allen Linux-Distributionen verfügbar ist.



Verwenden Sie die folgende Befehlsstruktur, um einen Hardlink zu erstellen. Beachten Sie, dass sich das Ziel im selben Dateisystem befinden sollte. Das Flag -v steht für den ausführlichen Modus.

$ln -v <Quelle> <Verknüpfung>


Überprüfen Sie das Ergebnis.

$ls -Bei der <Ziel>


Was das Hardlinking von Verzeichnissen betrifft, ist es nicht zulässig. Hypothetisch ist es immer noch möglich zu erstellen, aber die meisten Linux-Distributionen deaktivieren diese Funktion, selbst wenn Sie die Aktion mit Root-Rechten ausführen. Verwenden Sie für die Verzeichnisverknüpfung Softlinks.

Softlinks

Soft Linking wird allgemein als symbolische Links bezeichnet. Soft Linking kann dateisystemübergreifend sein. Per Definition ist es keine Standarddatei, sondern eine Datei, die auf eine vorhandene Datei verweist. Hier hat die Softlink-Datei einen anderen Inode-Wert, zeigt aber auf die Originaldatei.

Genau wie beim Erstellen von Hardlinks verwenden wir das ln-Tool. Um zu deklarieren, dass ein Softlink erstellt wird, fügen Sie das Flag -s hinzu.

$ln -vs <Quelle> <Ziel>


Überprüfen Sie das Ergebnis.

$ls -Bei der <Ziel>

Wenn bereits ein Link vorhanden ist, können Sie ihn mit dem Flag -f aktualisieren, das ln zwingt, den Link ohne Bestätigung zu aktualisieren. Alternativ können Sie das Flag -i für die interaktive Linkerstellung verwenden.

$ln -sf <Quelle> <Ziel>


Vergessen Sie nicht, das Ergebnis zu überprüfen.

$ls -Bei der <Ziel>

Links finden

Angenommen, es gibt mehrere Links zu derselben Datei, kann es schwierig werden, den Überblick zu behalten. Verwenden Sie in einer solchen Situation diese Methode, um alle Links herauszufinden.

Dazu benötigen wir den Inode-Wert der Originaldatei. Verwenden Sie den folgenden Befehl, um die Inode-Nummer herauszufinden.

$ls -Bei der <Zieldatei>


Verwenden Sie nun die Inode-Nummer, um alle Links zu dieser Datei herauszufinden. Hier sollte das aktuelle Active Directory das Verzeichnis sein, in dem sich die Originaldatei befindet.

$finden.-inum <inode_value>

Links löschen

Wenn Sie einen Hardlink deaktivieren möchten, können Sie dies tun, indem Sie die verknüpfte Datei löschen.

$rm <Verknüpfung>

Abschließende Gedanken

Das Verknüpfen ist ein leistungsstarkes Werkzeug, das Sie in vielen Situationen verwenden können. Obwohl es seine eigenen Einschränkungen hat, kann es in vielen Szenarien hervorragende Vorteile bieten.

Möchten Sie mehr über den ln-Befehl erfahren? Sehen Sie sich an, wie Sie den Befehl ln verwenden.

Viel Spaß beim Rechnen!