Linux-Verzeichnisstruktur nach FHS erklärt
Linux-Verzeichnisstruktur nach dem Filesystem Hierarchy Standard: wofür /etc, /usr, /var, /opt, /proc und /home da sind, wo Logs und Konfiguration liegen und welche Dateien wichtig sind. Durchsuchbar.
69 Einträge
Hauptverzeichnisse
/Wurzelverzeichnis, Ausgangspunkt aller Pfade/binGrundlegende Befehle wie ls, cp, cat; auf vielen aktuellen Distributionen ein Link auf /usr/bin/sbinBefehle zur Systemverwaltung wie fdisk, ip; oft ein Link auf /usr/sbin/bootKernel, initramfs und Dateien des Bootloaders (etwa GRUB)/devGerätedateien für Festplatten, Terminals und Pseudogeräte/etcSystemweite Konfigurationsdateien, reiner Text/homePersönliche Verzeichnisse der Benutzer, etwa /home/anna/rootHome-Verzeichnis des Administrators root/libBibliotheken für /bin und /sbin sowie Kernelmodule unter /lib/modules/lib6464-Bit-Bibliotheken auf Systemen, die sie getrennt ablegen/mediaEinhängepunkte für Wechseldatenträger wie USB-Sticks, oft /media/benutzer/name/mntFür vorübergehend eingehängte Dateisysteme/optZusätzliche Software-Pakete, die nicht vom Paketmanager der Distribution stammen/srvDaten für Dienste dieses Systems, etwa Web- oder FTP-Inhalte/tmpTemporäre Dateien, werden meist beim Neustart gelöscht/procVirtuelles Dateisystem mit Informationen zu Prozessen und Kernel/sysVirtuelles Dateisystem (sysfs) mit Geräten und Treibern/runLaufzeitdaten seit dem letzten Start, etwa PID-Dateien und Sockets; liegt im Arbeitsspeicher/usr und /var
/usrProgramme und Daten, die nur gelesen werden; der größte Teil des Systems/usr/binDie meisten Benutzerprogramme/usr/sbinProgramme für die Systemverwaltung/usr/libBibliotheken der Programme in /usr/bin und /usr/sbin/usr/localSelbst kompilierte oder lokal installierte Software, wird vom Paketmanager nicht angefasst/usr/local/binProgramme der lokalen Installation, steht meist vor /usr/bin im PATH/usr/shareArchitekturunabhängige Daten wie Symbole, Schriften, Dokumentation/usr/share/manHandbuchseiten für den Befehl man/usr/includeHeader-Dateien für C und C++/usr/srcQuellcode, etwa Kernel-Header/varVeränderliche Daten: Logs, Caches, Warteschlangen, Datenbanken/var/logProtokolldateien des Systems und der Dienste/var/log/syslogAllgemeines Systemprotokoll auf Debian und Ubuntu (Red Hat, Fedora: /var/log/messages)/var/log/auth.logAnmeldungen und sudo auf Debian und Ubuntu (Red Hat, Fedora: /var/log/secure)/var/libZustandsdaten von Programmen, etwa Datenbanken und Paketverwaltung/var/cacheZwischenspeicher, die neu erzeugt werden können, etwa /var/cache/apt/var/spoolWarteschlangen für Druckaufträge, Mail und cron/var/tmpTemporäre Dateien, die einen Neustart überdauern sollen/var/wwwÜbliches Verzeichnis für Webseiten bei Apache und nginx unter Debian (nicht Teil des FHS)Wichtige Dateien in /etc
/etc/passwdBenutzerkonten: Name, UID, Gruppe, Home, Shell (ohne Passwörter)/etc/shadowPasswort-Hashes der Benutzer, nur für root lesbar/etc/groupGruppen und ihre Mitglieder/etc/sudoersRegeln für sudo, nur mit visudo bearbeiten/etc/hostsFeste Zuordnung von Namen zu IP-Adressen/etc/hostnameName des Rechners/etc/resolv.confDNS-Server; oft von systemd-resolved oder NetworkManager verwaltet/etc/fstabDateisysteme, die beim Start eingehängt werden/etc/os-releaseName und Version der Distribution/etc/ssh/sshd_configKonfiguration des SSH-Servers/etc/crontabSystemweite cron-Aufträge (dazu /etc/cron.d/)/etc/systemd/systemEigene und angepasste systemd-Units/etc/apt/sources.listPaketquellen unter Debian und Ubuntu (neuere Versionen auch /etc/apt/sources.list.d/)/etc/environmentSystemweite Umgebungsvariablen/etc/profileStartskript für Login-Shells aller BenutzerVirtuelle Dateien und Geräte
/proc/cpuinfoProzessor, Kerne und Fähigkeiten/proc/meminfoArbeitsspeicher und Auslagerung/proc/1234Informationen zum Prozess mit der PID 1234, etwa cmdline und status/proc/sysKernel-Parameter, änderbar mit sysctl/dev/nullVerwirft alles, was hineingeschrieben wird/dev/zeroLiefert endlos Nullbytes/dev/urandomLiefert Zufallsbytes aus dem Kernel/dev/sdaErste SATA- oder SCSI-Festplatte, Partitionen /dev/sda1 usw./dev/nvme0n1Erste NVMe-SSD, Partitionen /dev/nvme0n1p1 usw./sys/class/netNetzwerkschnittstellen des SystemsIm Home-Verzeichnis
~/.bashrcEinstellungen für interaktive Bash-Sitzungen~/.profileStartskript der Login-Shell (bei Bash auch ~/.bash_profile)~/.sshSSH-Schlüssel, authorized_keys, known_hosts und config~/.configEinstellungen von Programmen nach XDG-Standard~/.local/shareProgrammdaten des Benutzers nach XDG-Standard~/.local/binEigene Programme und Skripte des Benutzers~/.cacheZwischenspeicher, kann gelöscht werdenKein Eintrag gefunden. Versuchen Sie einen anderen Begriff oder wählen Sie „Alle Gruppen“.
Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.
Filesystem Hierarchy Standard kurz erklärt
Die Linux-Verzeichnisstruktur folgt weitgehend dem Filesystem Hierarchy Standard (FHS) in Version 3.0. Diese Übersicht erklärt 69 Linux Verzeichnisse und wichtige Dateien: von den Hauptverzeichnissen unter / über /usr und /var bis zu Konfigurationsdateien in /etc und virtuellen Dateien in /proc und /dev. Suchen Sie nach einem Pfad oder einer Aufgabe, etwa „log“ oder „Passwort“, und kopieren Sie den Pfad.
Die Grundidee des FHS: Programme und unveränderliche Daten liegen unter /usr, Konfiguration unter /etc, veränderliche Daten wie Logs und Datenbanken unter /var und persönliche Dateien unter /home. Bei Problemen ist /var/log meist die erste Anlaufstelle; auf Systemen mit systemd zeigt zusätzlich journalctl die Protokolle. Viele aktuelle Distributionen haben /bin, /sbin und /lib mit ihren Gegenstücken unter /usr zusammengelegt (usrmerge), die alten Pfade bleiben als Verweise erhalten.
Nicht jede Distribution hält sich in allen Punkten an den Standard. Debian und Ubuntu schreiben das Systemprotokoll nach /var/log/syslog, Red Hat und Fedora nach /var/log/messages; /var/www ist üblich, aber nicht Teil des FHS. Passende Befehle zum Arbeiten mit diesen Verzeichnissen finden Sie in den Bash-Befehlen.
Anleitung: Linux-Verzeichnisstruktur in 4 Schritten
- Im Suchfeld einen Pfad oder Begriff eingeben, etwa „/etc/fstab“, „Log“ oder „SSH“.
- Über „Gruppe“ die Liste auf Hauptverzeichnisse, /usr und /var, wichtige Dateien in /etc, virtuelle Dateien oder das Home-Verzeichnis eingrenzen.
- Die Erklärung zum Verzeichnis lesen, bei Logs auch den Hinweis auf Unterschiede zwischen Debian und Red Hat.
- Den Pfad mit „Kopieren“ übernehmen.
Typische Anwendungsfälle
- Nachsehen, wo auf einem Server Konfigurationsdateien, Logs oder Webseiten liegen.
- Für Linux-Einsteiger klären, wofür /opt, /usr/local oder /var/lib gedacht sind.
- Entscheiden, wohin selbst installierte Programme oder eigene Skripte gehören.
Häufige Fragen
Was ist der Filesystem Hierarchy Standard?
Der FHS legt fest, welche Verzeichnisse ein Linux-System hat und was hineingehört, etwa Konfiguration nach /etc und Logs nach /var/log. Die aktuelle Version 3.0 wird von der Linux Foundation gepflegt; die meisten Distributionen folgen ihr weitgehend.
Was ist der Unterschied zwischen /usr/bin und /usr/local/bin?
In /usr/bin installiert der Paketmanager der Distribution. /usr/local/bin ist für Programme, die Sie selbst kompilieren oder von Hand installieren; der Paketmanager lässt es unangetastet.
Wo finde ich die Logdateien unter Linux?
Klassisch in /var/log, etwa /var/log/syslog (Debian, Ubuntu) oder /var/log/messages (Red Hat, Fedora). Auf Systemen mit systemd liegen viele Protokolle zusätzlich im Journal und werden mit journalctl angezeigt.
Wofür ist /opt gedacht?
Für zusätzliche Softwarepakete, die als Ganzes in einem eigenen Unterverzeichnis liegen, etwa /opt/firma/programm. Typisch für Software, die nicht aus den Paketquellen der Distribution kommt.
Warum ist /bin nur ein Link auf /usr/bin?
Viele Distributionen haben /bin, /sbin und /lib mit /usr zusammengelegt (usrmerge). Die alten Pfade bleiben als symbolische Links erhalten, damit Skripte wie #!/bin/sh weiter funktionieren.
Wo werden Programme unter Linux installiert?
Programme aus dem Paketmanager landen meist in /usr/bin, ihre Bibliotheken in /usr/lib und Daten in /usr/share. Selbst kompilierte Software gehört nach /usr/local, eigenständige Pakete von Drittanbietern oft nach /opt.
Was ist der Unterschied zwischen /tmp und /var/tmp?
/tmp ist für kurzlebige Dateien gedacht und wird meist beim Neustart geleert. /var/tmp bleibt über einen Neustart hinweg erhalten und eignet sich für temporäre Dateien, die länger gebraucht werden.
Das könnte auch helfen
HTTP-Statuscodes
Alle gängigen HTTP-Statuscodes von 100 bis 511 mit Bedeutung, typischer Ursache und Suche.
ÖffnenHTTP-Header-Referenz
Wichtige Anfrage- und Antwort-Header mit Bedeutung und Beispiel, durchsuchbar.
ÖffnenMIME-Typen
Über 150 MIME-Typen nachschlagen: Dateiendung zu Content-Type und umgekehrt.
ÖffnenGit-Befehle
Git-Spickzettel: die wichtigsten Befehle nach Aufgaben gruppiert, durchsuchbar und kopierbar.
ÖffnenBash-Befehle
Bash- und Linux-Befehle für Dateien, Text, Prozesse und Netzwerk, mit Suche und Kopieren.
ÖffnenPort-Liste
Bekannte TCP- und UDP-Ports von 20 bis 51820 mit Dienst und Hinweis, durchsuchbar.
Öffnen