LINUX DateisystemeUm Dateien auf Datenspeichern lesen und schreiben zu können, müssen diese nach einer festgelegten Ordnung auf dem Datenspeicher abgelegt werden. Diese Organisationsstruktur des Datenspeichers wird Dateisystem genannt. Es gibt verschiedene Arten von Dateisystemen. Diese können grob in Windows-Dateisysteme und LINUX-Dateisysteme (UNIX-Dateisysteme) unterschieden werden. Windows-Dateisysteme sind FAT und NTFS. Die gängigsten LINUX-Dateisysteme sind ext und btrfs. LINUX-Dateisysteme bringen von Haus aus eine ausgereifte Rechteverwaltung mit, da Linux standardmäßig ein Mehrbenutzersystem darstellt. Darüber hinaus bieten alle Linux-Dateisysteme die Möglichkeit mit einer symbolischen Verknüpfung (Softlink) auf Dateien zu verweisen. Eine Datei kann also per Softlink von verschiedenen Orten im Dateisystem aus erreichbar sein, ohne dass eine Kopie der Datei an allen Orten liegen muss. Dies spart Speicherplatz auf der Festplatte. Die LINUX Verzeichnisstruktur (FHS)Alle Linux-Systeme haben ein Verzeichnissystem, dessen Struktur einem Baum entspricht. Ausgehend von Wurzelverzeichnis / verzweigen sich verschiedene Unterverzeichnisse, die weitere Unterverzeichnisse enthalten können. In den meisten Distributionen findet man Standard-Verzeichnisse für systemspezifische Daten. Für die Verzeichnisstruktur von Linux-Systemen existiert mit dem Filesystem Hierarchy Standard (FHS) eine Richtlinie für den Aufbau des Verzeichnisbaums, die von der Linux-Foundation herausgegeben wird und von den meisten Distributionen eingehalten wird. Alle Geräte (Festplatten, Wechselmedien, USB-Sticks u.a.) werden nach der UNIX-Philosophie als Datei behandelt und müssen irgendwo in dieser Verzeichnisstruktur eingebunden (gemounted) werden. Konsolenbefehle zum Umgang mit DateienDie Shell ist, vor allem was den Umgang mit Dateien angeht, ein mächtiges Werkzeug. Sie kennt zahlreiche Befehle zum Umgang, zur Pflege und Manipulation von Dateien und Verzeichnissen. Einige davon sind durchaus mit Vorsicht zu genießen, da man sich unter Umständen das gesamte System unbrauchbar machen kann. Dies kann durch unbeabsichtigtes Löschen oder Überschreiben von wichtigen Systemdateien geschehen, vor allem wenn man mit Root-Rechten unterwegs ist. Die wichtigsten Befehle zum Umgang mit Dateien werden im Folgenden kurz zusammengefasst. Für eine ausführliche Dokumentation sei auf die Man-Pages verwiesen, die jedes LINUX-System mitbringt. Anzeigen des Inhalts eines Verzeichnissesls [Optionen] -l list: Auch Rechte, Eigentümer, Gruppe, Dateigröße, ... werden angezeigt -a all: Auch versteckte Dateien und Verzeichnisse werden angezeigt Wechseln in ein anderes Verzeichniscd Verzeichnis Verzeichnis Pfad zum Verzeichnis in das gewechselt werden soll .. ins darüberliegende Verzeichnis wechseln ~ ins HOME-Verzeichnis des aktuell eingeloggten Benutzers wechseln / ins Wurzelverzeichnis wechseln Anzeigen des aktuellen Pfadespwd Anzeigen des Inhalts einer Dateicat Datei Datei Pfad zur Datei deren Inhalt angezeigt werden soll Anlegen eines symbolischen Linksln -s Linkdatei Linkname -s symbolic Link: es wird ein symbolischer Link ( (Ohne diese Option wird ein Hardlink angelegt!) LinkDatei Pfad zur Datei (bzw. Verzeichnis) auf die verlinkt werden soll Linkname Name des Softlinks (ggf. mit Pfadangabe) wie er im Verzeichnis angezeigt werden soll. Anzeigen des Pfades einer Dateidirname Datei Datei Datei deren Pfad angezeigt werden soll
Der dirname Befehl ist vor allem in Skripten hilfreich. Man kann damit beispielsweise den Pfad zu einem Skript, ausgehend vom aktuellen Pfad bestimmen. |