Dateien und Verzeichnisse werden in dieser Struktur, die als Dateisystem bezeichnet wird, organisiert und verwaltet. Jede Datei und jedes Verzeichnis haben eine eindeutige Identifikationsnummer, die als Inode bezeichnet wird. Diese Inodes enthalten Metadaten wie Benutzer- und Gruppenzugehörigkeit, Berechtigungen, Zeitstempel und den physischen Speicherort der Dateidaten auf der Festplatte.
Sowohl der ln- als auch der cp-Befehl
dienen dazu, vorhandene Dateien oder Verzeichnisse an einem anderen
Speicherort verfügbar zu machen, allerdings auf unterschiedliche
Weise.
Der ln-Befehl erstellt einen Link, also eine
Verknüpfung, zu einer bestehenden Datei oder einem Verzeichnis. Es gibt
zwei Arten von Links: Hardlinks und symbolische Links (Symlinks).
Hardlinks
Ein Hardlink ist ein direkter Zeiger auf die Dateidaten auf der Festplatte. Wenn ein Hardlink zu einer Datei erstellt wird, teilen sich die ursprüngliche Datei und der Hardlink denselben Inode und damit die gleichen Dateidaten. Aus technischer Sicht gibt es keinen Unterschied zwischen der ursprünglichen Datei und dem Hardlink – sie sind völlig gleichberechtigt. Änderungen an einer der beiden Dateien wirken sich auf die andere aus, da sie auf dieselben Dateidaten zeigen.
Hardlinks haben einige Einschränkungen:
Um einen Hardlink zu erstellen, verwendet man den Befehl
ln mit dem Ursprungspfad und dem gewünschten Linkpfad:
ln /pfad/zur/ursprünglichen/datei /pfad/zum/neuen/hardlink
Symbolische Links (Symlinks)
Ein symbolischer Link, oft auch als “soft link” oder einfach “symlink” bezeichnet, ist eine spezielle Datei, die den Pfad zur eigentlichen Datei oder dem Verzeichnis enthält. Im Gegensatz zu Hardlinks haben symbolische Links ihre eigenen Inodes und zeigen nicht direkt auf die Dateidaten, sondern auf den Pfad der verlinkten Datei oder des verlinkten Verzeichnisses.
Symbolische Links haben einige Vorteile gegenüber Hardlinks:
Um einen symbolischen Link zu erstellen, verwendet man den Befehl
ln mit der Option -s (symbolic), gefolgt vom
Ursprungspfad und dem gewünschten Linkpfad:
ln -s /pfad/zur/ursprünglichen/datei /pfad/zum/neuen/symlink
2. cp (copy)
Der cp-Befehl erstellt eine Kopie einer Datei oder eines
Verzeichnisses. Im Gegensatz zu Links wird hier eine separate,
eigenständige Kopie der Daten angelegt. Die kopierte Datei oder das
kopierte Verzeichnis ist unabhängig vom Original und hat eine eigene
Inode-Nummer.
Beim Kopieren einer Datei wird der vollständige Dateiinhalt an den neuen Speicherort kopiert. Bei Verzeichnissen werden sowohl das Verzeichnis selbst als auch alle darin enthaltenen Dateien und Unterverzeichnisse rekursiv kopiert.
Um eine Datei zu kopieren, verwendet man den Befehl cp
mit dem Ursprungspfad und dem gewünschten Zielpfad:
cp /pfad/zur/ursprünglichen/datei /pfad/zum/ziel
Für das Kopieren von Verzeichnissen muss die Option -r
(recursive) hinzugefügt werden, um alle Inhalte rekursiv zu
kopieren:
cp -r /pfad/zum/ursprünglichen/verzeichnis /pfad/zum/ziel
Es ist wichtig zu beachten, dass beim Kopieren einer Datei oder eines Verzeichnisses eine vollständig neue Instanz erstellt wird, die unabhängig vom Original ist. Änderungen an der Kopie haben keine Auswirkungen auf das Original und umgekehrt. Außerdem belegt eine Kopie den vollen Speicherplatz der kopierten Daten, während Links nur wenig zusätzlichen Speicherplatz für die Verknüpfungsinformationen benötigen.
Anwendungsszenarien
Sowohl Links als auch Kopien haben ihre spezifischen Anwendungsszenarien:
Links:
Kopien:
Zusammenfassend bieten Links und Kopien unterschiedliche
Möglichkeiten, um Dateien und Verzeichnisse in Linux zu verwalten und zu
organisieren. Links ermöglichen eine effiziente Verwaltung von
Verknüpfungen, während Kopien unabhängige Instanzen erstellen. Die Wahl
zwischen ln und cp hängt von den spezifischen
Anforderungen und Zielen ab, die man in einer bestimmten Situation
verfolgt.
Der Befehl chmod steht für “change mode” und wird in UNIX/Linux-basierten Betriebssystemen verwendet, um die Zugriffsrechte für Dateien zu ändern.
Es gibt drei Arten von Berechtigungen, die auf jede Benutzerklasse
angewendet werden können:
Lesen (r)
Schreiben (w)
Ausführen (x)
Diese Berechtigungen können auf drei verschiedene Benutzerklassen
angewendet werden:
Der Dateibesitzer (UiD)
Die Gruppenmitglieder (GiD)
Alle Anderen (O)
Hier sind einige Beispiele, wie der chmod-Befehl verwendet werden
kann:
chmod u+r datei.txt: Dieser Befehl gibt dem Benutzer (u)
Leseberechtigung für die Datei datei.txt.
chmod g-w datei.txt: Dieser Befehl entzieht der Gruppe (g)
die Schreibberechtigung (w) für die Datei datei.txt.
chmod go-w datei.txt: Dieser Befehl entzieht der Gruppe(g)
und allen Anderen(o) die Schreibberechtigung(w).