Linux - Was sind Hard- und Softlinks?
Wozu braucht man die? Und was sind dann, unterm Strich, die Unterschiede?
bitte so ausführlich wie es geht, damit auch der letze es versteht.. :/
Vielen dank im Voraus!
5 Antworten
Gerne wird dieser Eigenschaft von hardlinks verwendet:
Du legst hardlinks von Datein in einem anderen Verzeichnis an, dann löschst Du (vielleicht aus Versehen) eine oder mehrer dieser Dateien - die sind dann aber noch nicht ganz weg - die hardlinks (welche ja genau die selben Dateien darstellen) sind ja noch da. Also nix verloren.
Sorry, das hätte eigentlich ein Kommentar sein sollen auf deine Frage, wofür hardlinks verwendet werden können, aber da hab ich auf den falschen Link geklickt.
Unix (Linux) Dateisysteme sind mit Verzeichnissen ausgestattet. Darin werden, wie im Inhaltsverzeichnis einenes Buches Einträge zu Dateien und untergeordneten Verzeichnissen gespeichert, die neben Namen, "wann erstellt", "wann geändert", wie groß , wem gehört sie , welche Rechte hat der Besitzer ... und "wo steht die Datei" ( der Anfang)
Es ist also kein Problem . mehrere praktisch gleiche Zeilen in so ein Verzeichnis zu schreiben. Hier bietet sich die Möglichkeit, zum Eintrag "wo steht die Datei" verschiedene Namen anzugeben. "wo steht die Datei" sind aber sogenannte Pointer, Zeiger mit Informationen die nur innerhalb der jeweiligen Partition Sinn machen.
So kann man für den Linux-befehl ls einen Link mit dem Namen dir anlegen.
Wer sich nicht von Windows lösen kann, kann so einige Befehle auch in "windowisch" haben.
Solche hard-links können nur innerhalb einer Partition angelegt und benutzt werden.
Für Verweise über diese Grenzen hinweg, gibt es die Softlinks.
Das sind dann Dateien, in denen nicht mehr die oben genannten Zeiger, sondern Namen im Klartext stehen. Die sind dann auch überall gültig und nicht auf Partitionen beschränkt. Die Namen müssen aber den gesamten Pfad als Verweis enthalten.
Wie bei Hard-links können auch Softlinks mit beliebigen Namen angelegt werden.
Wird ein Softlinks gelöscht, ist nur diese "Hilfsdatei" weg. Wird ein Hard-links gelöscht, wird, wenn es der letzte Name ist, auch die Datei gelöscht.
Eine Datei kann auf einem Datenträger mehrere Namen haben, die auch in unterschiedlichen Verzeichnissen liegen. Diese Dateinamen sind sogenannte Hardlinks, denn sie verweisen auf exakt die gleiche physische Stelle im Dateisystem.
Ein Softlink ist eine spezielle Datei, die auf einen anderen Dateinamen (egal ob auf dem gleichen Dateisystem oder anderswo) verweist. Softlinks können (im Gegensatz zu Hardlinks) auch für Verzeichnisse erstellt werden.
hier mal die erklärung wann man was nimmt
https://krausens-online.de/hard-softlinks-teil-1-theorie-laaaangweilig/
und vor allem welchen vorteil es bringt.
hardlink hat den vorteil das sie wirkliche dateien/ordner sind die man an verschiedenen orten gebrauchen kann .
auch dateirechte/zugriffsrechte sind da ein wichtiges detail .
Softlinks sind wie Verweise auf den Namen einer anderen Datei, während ein hardlink auf den "body", den "Inhalt" der anderen Datei, verweist.
Nennst du das Ziel eines softlinks um, wird das Ziel vom softlink nicht mehr referenziert. Nennst du das Ziel eines hardlinks um, bleibt der Verweis vom hardlink zum Ziel erhalten.
Nein, es sind keine Kopien. Es sind nur Verweise.
Stell Dir das Ziel eines hardlinks in etwa etwa als Datei, die mehrere Namen hat, vor" Softlinks dagegen als weitere Datei, die lediglich namentlich auf eine andere verweist.
Das sind Verweise, aber eben mit unterschiedlicher Funktion.
Üblicher Name für softlinks ist auch "symlinks", symbolische links, was sich wohl auf den Dateinamen als link-Ziel bezieht.
Symbolische Links beziehen sich auf Verzeichnisse oder Dateien und können auch Dateisystem Grenzen überschreiten. Löscht man bei einem symbolic Link die Zieldatei oder das Zielverzeichnis dann zeigt der Link ins Leere.
Ein Hardlink funktioniert nur innerhalb des gleichen file systems. Man kann einen der Link Namen löschen und der andere Name, sowie auch der File Inhalt, bleiben erhalten. Hardlinks begegnen einem in der Praxis relativ selten.
Ausserdem sind symlinks (softlinks) geeigneter um auf Verzeichnisnamen zu verweisen. Für hardlinks ist das keine so gute Idee, und müsste, so man das wirklich denn wollte, erst mittels extra option erzwungen werden.
Sind das also Kopien der original Dateien oder ledeglich nur Verweise ?