Es gibt zwei Arten von Links, die Sie in Linux erstellen können:
- Harte Links
- Symbolische Links
Ein symbolischer Link ähnelt einer Desktopverknüpfung in Windows. Der symbolische Link verweist lediglich auf den Speicherort einer Datei.
Das Löschen eines symbolischen Links hat keine Auswirkungen auf die physische Datei, auf die der Link verweist.
Ein symbolischer Link kann auf eine beliebige Datei im aktuellen Dateisystem oder sogar auf andere Dateisysteme verweisen. Dies macht es flexibler als eine feste Verbindung.
Ein Hardlink ist eigentlich die gleiche Datei, zu der er verlinkt, aber mit einem anderen Namen. Der einfachste Weg, um daran zu denken, ist wie folgt:
Stellen Sie sich vor, Sie wären mit dem Vornamen Robert geboren. Andere Leute kennen Sie vielleicht als Robbie, Bob, Bobby oder Rob. Jede Person würde über dieselbe Person sprechen.
Jeder Link fügt einem Zähler von Links 1 hinzu, was bedeutet, dass Sie die physische Datei löschen müssen, die Sie für jeden einzelnen Link löschen müssen.
Warum Hardlinks verwenden?
Hardlinks bieten eine effiziente Möglichkeit, Dateien zu organisieren. Am einfachsten lässt sich das mit einer alten Sesamstraße-Episode beschreiben.
Bert sagte zu Ernie, er solle all seine Sachen aufräumen, und Ernie machte sich an seine Aufgabe. Zunächst entschied er sich, alle roten Dinge wegzuräumen. Msgstr "Das Feuerwehrfahrzeug ist rot". Also steckt Ernie das Feuerwehrauto weg.
Als nächstes beschließt Ernie, alle Spielsachen mit Rädern wegzulegen. Das Feuerwehrfahrzeug hat Räder. Also räumte Ernie das Feuerwehrauto auf.
Unnötig zu sagen, dass Bert nach Hause kommt, um genau das gleiche Chaos wie zuvor zu finden, aber Ernie hatte das Löschfahrzeug ein halbes Dutzend Mal weggeräumt.
Stellen Sie sich vor, das Feuerwehrauto war nur ein Bild eines Feuerwehrfahrzeugs. Möglicherweise haben Sie verschiedene Ordner auf Ihrem Computer:
- Fotos von roten Sachen
- Fotos von Fahrzeugen
- Fotos von Rettungsdiensten
Jetzt können Sie eine Kopie des Fotos erstellen und es in jedem Ordner ablegen. Das heißt, Sie haben drei Kopien derselben Datei, die den dreifachen Speicherplatz belegen.
Das Kategorisieren von Fotos durch das Erstellen von Kopien nimmt möglicherweise nicht zu viel Speicherplatz in Anspruch. Wenn Sie dasselbe jedoch mit Videos versuchen, reduzieren Sie den Speicherplatz auf der Festplatte erheblich.
Eine harte Verbindung nimmt keinen Platz ein. Sie können also dasselbe Video in verschiedenen Kategorien speichern (d. H. Nach Jahr, Genre, Besetzung, Regisseuren), ohne den Festplattenspeicherplatz zu verringern.
So erstellen Sie einen Hard Link
Sie können eine feste Verknüpfung mit der folgenden Syntax erstellen:
ln Pfad / zu / Datei / Pfad / zu / hard / link
Im obigen Bild haben wir beispielsweise einen Musikordner namens Alice aus dem Ordner Cooper / home / gary / Music / Alice Cooper / Trash. In diesem Ordner befinden sich 10 Songs, von denen einer der klassische Poison ist.
Jetzt ist Poison ein Rock-Track, also haben wir einen Ordner namens Rock unter dem Musikordner erstellt und einen festen Link zu Poison erstellt, indem Sie die folgende Datei eingeben:
ln "01 - Poison.mp3" "~ / Musik / Rock / Poison.mp3"
Dies ist eine gute Möglichkeit, Musik zu organisieren.
Wie man den Unterschied zwischen einem harten Link und einem symbolischen Link erklärt
Mit dem Befehl ls können Sie feststellen, ob eine Datei eine feste Verknüpfung hat:
ls -lt
Eine Standarddatei ohne Links sieht wie folgt aus
-rw-r - r-- 1 gary gary 1000 Dec 18 21:52 poison.mp3
Die Spalten lauten wie folgt:
- -rw-r - r-- = Berechtigungen
- 1 = Anzahl der Links
- Gary = Gruppe
- Gary = Besitzer
- 1000 = Dateigröße
- 18. Dezember = Datum
- 21:52 = Zeit
- poison.mp3 = Dateiname
Wenn dies eine harte Verbindung war, würde die Ausgabe folgendermaßen aussehen:
-rw-r - r-- 2 gary gary 1000 18. Dezember 21:52 gift.mp3
Beachten Sie, dass in der Spalte für die Anzahl der Verknüpfungen 2 angezeigt wird. Jedes Mal, wenn eine feste Verknüpfung erstellt wird, erhöht sich die Anzahl.
Ein symbolischer Link sieht wie folgt aus:
-rw-r - r-- 1 gary gary 1000 Dec 18 21:52 poison.mp3 -> poison.mp3
Sie können deutlich sehen, dass eine Datei auf eine andere zeigt.
So finden Sie alle festen Links zu einer Datei
Alle Dateien in Ihrem Linux-System enthalten eine Inode-Nummer, die die Datei eindeutig identifiziert. Eine Datei und ihre feste Verknüpfung enthalten denselben Inode.
Um die Inode-Nummer für eine Datei anzuzeigen, geben Sie den folgenden Befehl ein:
ls -i
Die Ausgabe für eine einzelne Datei lautet wie folgt:
1234567 Dateiname
Um die festen Links für eine Datei zu finden, müssen Sie lediglich eine Dateisuche für alle Dateien mit demselben Inode (d. H. 1234567) durchführen.
Sie können das mit dem folgenden Befehl tun:
find ~ / -xdev -inum 1234567