Verknüpfungen - Soft- und Hardlinks |
Es gibt unter Linux zwei Arten von Verknüpfungen, sogenannte symbolische Verknüpfungen,
auch Softlinks genannt und Hardlinks. Der Unterschied ist, ein symbolischer
Link ist ein spezieller Dateityp, der lediglich die Pfadangabe enthält
und dadurch erkennbar ist, daß ein "l" vorangestellt
ist, z.B. Der Teil nach dem Pfeil
"->" gibt an, worauf der Link zeigt, dabei ist
zu beachten, daß Kommandos und Dateioperationen die sich auf
Dateiinhalte beziehen, auf das Ziel umgeleitet werden. Anders ausgedrückt,
eine Kopieraktion mit cp auf den Link angewandt, kopiert
nicht den Link, sondern die Datei auf die der Link zeigt! Somit
sind auch die Dateirechte des Links irrelevant, da ein chmod
auf einen Link angewandt nicht die Rechte des Links verändert,
sondern dessen Ziel! Symbolische Verknüpfungen (Softlinks) anlegen oder das Ziel verändern # ln -s datei link Symbolische Verknüpfungen (Softlinks) kopieren, umbenennen oder löschen Wie schon erwähnt,
kopiert ein einfacher Kopierbefehl die Datei auf die der Link zeigt.
Möchte man den Link selbst kopieren, hilft die Option -d
(keinen symbolischen Links folgen) Hardlinks Um "harte"
Verknüpfungen zu verstehen, muß man sich mit der Organisation
von Dateien im Dateisystem vertraut machen. Im Dateisystem werden
Dateien anhand von Inodes organisiert. Ein Inode enthält alle
wichtigen Informationen der Datei wie Rechte, Eigentümer, Zeitstempel,
Größe, Typ, usw., sowie Verweise, wo die Nutzdaten sich
auf der Platte befinden. Man kann sich die Nummer des zugehörigen
Inodes mittels des ls-Befehls mit der Option -i anzeigen
lassen, z.B. Es ist wichtig zu verstehen,
daß der Dateiname nicht im Inode abgelegt wird, sondern
im Verzeichnis: ein Verzeichnis ist etwas vereinfacht gesagt nur
eine spezielle Datei, die eine Tabelle mit Namen und Inode-Nummern
enthält. Wenn das System eine Datei sucht, wird es im Verzeichnis
nachsehen und die zugehörige Inode-Nummer erhalten. Damit empfehlen sich hard links immer dann, wenn es kein "Original" geben soll oder wenn die Reihenfolge des Löschens vorab nicht feststeht, z.B. bei News-Artikeln auf einem USENET-Server, die gleichzeitig in verschiedenen Gruppen gespostet werden. Zugehörige Hardlinks finden Möchte man wissen,
welche Dateien zur selben Inode-Nummer gehören, also Hardlinks
sind, hilft der find-Befehl. Ein Beispiel: |
Zurück zur Auswahl |