Filesystem Hierarchy Standard (FHS)
Das Dateisystem ist baumartig strukturiert und wird beginnend mit dem
sogenannten Root-Verzeichnis (/) beginnend dargestellt. /root ist das Home-Verzeichnis des
Benutzers root.
Der Filesystem Hierarchy Standard (FHS) hat sich historisch aus frühen UNIX-Versionen wie der Berkeley Software Distribution (BSD) entwickelt. Der FHS stellt Linux-Entwicklern und Systemadministratoren eine Standard-Verzeichnisstruktur für das Dateisystem in den verschiedenen Distributionen zur Verfügung.
Die offizielle Definition findet sich hier: https://refspecs.linuxfoundation.org/fhs.shtml
Bemerkung
CentOS 7 weicht aus diversen Gründen erstmals vom FHS ab, in dem es auf vier Verzeichnisse
der obersten Ebene verzichtet und diese per Soft Link unter dem
/usr-Verzeichnis anordnet: /bin, /lib, /lib64 und
/sbin, die ursprünglich Tools enthielten, um /usr mounten zu können - was 2012 in Fedora 17 Einzug hielt, siehe https://fedoraproject.org/wiki/Features/UsrMove.
man hierbeschreibt die Filesystem-Hierarchie direkt im System.
/bootBoot Loader-Dateien
/devHier finden sich alle angeschlossenen Geräte (Devices) in Form von Dateien. Spezielle Gerätedateien sind
/dev/full(gibt immer „No space left on device“ zurück; wird zum Testen von Programmen genutzt),/dev/null(verwirft alle dorthin geschriebenen Daten und meldet den Schreibvorgang erfolgreich zurück),/dev/random(liefert sehr gut verteilte Zufallszahlen),/dev/urandom(liefert schlechter verteilte Zufallszahlen, ist dafür aber um Faktoren schneller als/dev/random) und/dev/zero(liefert Nullen zurück)./dev/shmist die Implementierung eines Shared Memory-Konzepts./etcKonfigurationsdateien
/homeHome-Verzeichnisse der Benutzer
/mediaWechseldatenträger (USB-Sticks etc.)
/mntGemountete Dateisysteme
/optZusatz-Software (z.B. Oracle DB-Server, IBM-Software u.a.)
/procPseudo-Dateisystem; Informationen von und für Prozesse, den Kernel und Dienste
/rootHome-Verzeichnis des root-Benutzers
/runKonsolidiert
/var/runund/var/lockaus früheren Versionen./tmpVerzeichnis für temporäre Dateien. Das Verzeichnis ist für alle Benutzer zum Schreiben freigegeben und muss ein Sticky-Bit besitzen. Unter RHEL werden Dateien älter als 10 Tage automatisch gelöscht.
/usrUnix System Resources - nicht Host-spezifische Dateien (das Basis-Betriebssystem), was über mehrere Rechner geteilt werden kann; immer mehr aber auch Benutzer-Programme, da es heute als „user“-Verzeichnis missverstanden wird.
/usr/binKommandos für alle Benutzer - im FHS unter
/binangeordnet/usr/libGemeinsam verwendete Bibliotheken und Kernel-Module - im FHS unter
/libangeordnet/usr/lib64Gemeinsam verwendete Bibliotheken und Kernel-Module (64-bit) - im FHS unter
/lib64angeordnet/usr/sbinKommandos, die nur durch den Benutzer
rootausgeführt werden können - im FHS unter/sbinangeordnet/varDaten veränderlicher Grösse (z.B. Log- und Anwendungs-Dateien). Auf kritischen Systemen sollte dieses Verzeichnis auf einer separaten Partition untergebracht werden. Läuft diese Partition voll, wird das Gesamtsystem trotzdem weiterlaufen. Unter RHEL werden Dateien in
/var/tmpälter als 30 Tage automatisch gelöscht.
Ein .d im Verzeichnisnamen wie beispielsweise /etc/Muttrc.d steht einfach für „Directory“ . Gab es anfangs nur die Datei /etc/Muttrc, sollte der spätere Zusatz .d anzeigen, dass es sich hier um ein Verzeichnis handelt, welches eine Vielzahl an Konfigurationsdateien aufnehmen kann (abgesehen davon ist es nicht möglich, eine Datei und ein Verzeichnis mit dem gleichen Namen im Dateisystem anzulegen).
Wichtigere Dateien wie beispielsweise CHANGELOG, CONTRIBUTING, LICENSE oder README wurden übrigens per stiller Konvention grossgeschrieben, da sie früher in einem Verzeichnis-Listing so immer an erster Stelle angezeigt wurden. Das hat sich bis heute gehalten.
Built on 2025-10-27