Filesystem Hierarchy Standard FHS

**This is an old revision of the document!**

<!DOCTYPE markdown>

Filesystem Hierarchy Standard FHS

Das Filesystem Hierarchy Standard (FHS) beschreibt die Verzeichnisstruktur und die Inhalte von Linux-Systemen. Es definiert, welche Verzeichnisse existieren sollten und welche Arten von Dateien dort zu finden sind. Hier ist eine Übersicht der wichtigsten Verzeichnisse:


Root-Verzeichnis

Das oberste Verzeichnis hat keinen richtigen Namen, sondern nur ein Symbol: /. Alle anderen Verzeichnisse und Dateien sind hierarchisch darunter organisiert.


Hauptverzeichnisse

Verzeichnis Beschreibung Beispiele für Inhalte
/bin Essenzielle ausführbare Programme für das System (Binaries), die von allen Benutzern benötigt werden. ls, cp, mv, rm, bash
/sbin Systemadministrationstools für den Superuser (root). fsck, reboot, iptables
/boot Dateien für den Bootloader und Kernel. Kernel (vmlinuz), Initramfs (initrd.img), Bootloader-Konfiguration (grub.cfg)
/dev Geräte-Dateien (Device Files), die Hardware- und virtuelle Geräte repräsentieren. tty, sda, null, random
/etc Systemweite Konfigurationsdateien und Skripte. passwd, hosts, fstab
/home Benutzerverzeichnisse. Jeder Benutzer hat ein eigenes Unterverzeichnis. /home/alex, /home/julia
/lib Gemeinsame Bibliotheken für grundlegende Programme im /bin und /sbin. libc.so.6, ld-linux.so.2
/media Einhängepunkte (Mountpoints) für wechselbare Medien wie USB-Sticks und CDs. /media/usb, /media/cdrom
/mnt Temporäre Einhängepunkte für Dateisysteme, oft bei manuellen Mounts. /mnt/external_drive
/opt Zusätzliche Software, die nicht Teil der Standardpakete ist. /opt/virtualbox, /opt/google/chrome
/proc Virtuelles Dateisystem mit Informationen über laufende Prozesse und Systeminformationen. /proc/cpuinfo, /proc/meminfo, /proc/1
/root Home-Verzeichnis des Superusers (root). Persönliche Dateien und Einstellungen des Root-Benutzers.
/run Laufzeitdaten von Prozessen und Diensten, die seit dem letzten Booten erstellt wurden. PID-Dateien, Socket-Dateien
/srv Daten für Dienste, die vom System bereitgestellt werden (z. B. Webserver, FTP). /srv/http, /srv/ftp
/sys Virtuelles Dateisystem mit Informationen über die Hardware und den Kernel. /sys/class, /sys/devices
/tmp Temporäre Dateien. Wird oft beim Neustart gelöscht. Temporäre Daten von Anwendungen und Skripten
/usr Sekundäre Programme und Dateien für Benutzer, die nicht kritisch für das System sind. Siehe unten (detaillierte Unterverzeichnisse).
/var Variable Daten, die sich während des Betriebs ändern. Logdateien, temporäre Datenbanken, Druckerspooler (/var/log, /var/spool, /var/tmp)

Details zu /usr

Unterverzeichnis Beschreibung
/usr/bin Nicht-essenzielle ausführbare Programme.
/usr/sbin Administrative Werkzeuge für den Superuser.
/usr/lib Bibliotheken für Programme in /usr/bin und /usr/sbin.
/usr/local Software, die lokal installiert wurde (nicht durch den Paketmanager).
/usr/share Architektur-unabhängige Dateien, z. B. Dokumentation und Icons.
/usr/src Quellen (Source Code), z. B. Kernel-Quellcode.

Zusammenfassung der Nutzung

  • Systemkritische Verzeichnisse: /bin, /sbin, /lib, /etc, /dev, /proc
  • Benutzerdaten und Software: /home, /usr, /opt
  • Variable Daten: /var, /tmp