Linux Verzeichnisstruktur (FHS)

Die Linux-Verzeichnisstruktur FHS (Filesystem Hierarchy Standard) besteht aus einer eindeutigen, umgekehrten Baumstruktur, dessen Wurzel (-Verzeichnis) mit / angegeben wird. Es ist ein logisches Dateisystem, das unabhängig von der zugrunde liegenden Physik arbeitet. In wieweit sich die Linux-Varianten an den FHS halten bleibt den Distributoren überlassen.

Das Linux-System kann mit vielen Dateisystemen zusammenzuarbeiten. Die Linux Verzeichnisstruktur kann auf verschiedensten Dateiensystemen hinterlegt werden. Standard ist z.Z. ext2 (= extended file system) und alternativ reiserfs, ext3 u.a..

Namenskonventionen für Dateien und Verzeichnisse:
Datei = ein Objekt, das beliebige Daten aufbewahren kann
Verzeichnis = eine spezielle Datei, die die Pfadangaben (= Links, und das sind auch Daten!) zu Objekten aufbewahrt.

  • max. Namenslänge: 255 Zeichen
  • Linux arbeitet case-sensive (= GROSS-klein-Schreibung wir unterschieden)
  • Linux benötigt keine Dateiextensions (bestimmte Anwendungen u.U. schon)
  • folgende Zeichen in Namen sind für Ungeübte mit Komplikationen verbunden:
    ? * & | ( ) [ ] { } ; ! $ ` ‚ ^ = # “ _(= Blanc)
  • einziges nicht erlaubtes Zeichen in Namen: /

Orientierung im Linux Dateisystem

  • (Standard-) Systemadministrator (wird bei Installation automatisch eingerichtet) heißt root. Alle User mit root-Berechtigungen heißen Superuser
  • Abweichungen von der FHS sind bei verschiedenen Linux-Distributionen möglich.
    Im folgenden werden die Pfadangaben wie sie SuSE 8/9.x verwendet angegeben

Wichtigen Dateien/Verzeichnissen des Linux-Dateisystems:

Heimatverzeichnis der root:

/root/

Heimatverzeichnisse der Standarduser sind in:

/home/…

Verzeichnisse von Befehlen/Anwendungen die i.a. nur der root zugänglich sind:

/sbin/, /usr/sbin/, /usr/local/sbin/, …
/etc/init.d/, /etc/init.d/rcN.d/ Start-/Stop-Skripte wobei N = 0,1,2,3,4,5,6,S
/etc/rc.d -> /etc/init.d/

Verzeichnisse von Befehlen/Anwendungen die allen Usern zugänglich sind:

/bin/, /usr/bin/, /usr/local/bin/, /usr/X11R6/bin/, …, /var/lib/
/opt/Anwendung/…

Verzeichnis der C-Bibliotheken, bzw. der compilierten Kernel Module (» Treiber):

/lib/, /usr/lib/, /usr/local/lib, /usr/X11R6/lib/, …
/opt/Anwendung/lib/
/lib/modules/2.x.y-4GB/… compilierten Kernel Module (=> Treiber)

Verzeichnis der Gerätedateien (steuern Datenfluss an HW-Schnittstellen):

/dev/, … => außer Netzwerkkarten: /lib/modules//kernel/drivers/net/…

Verzeichnisse der globalen Konfigurationsdateien:

/etc/
/etc/init.d/, /etc/httpd/, /etc/ssh/, /etc/samba/, /etc/ppp/, …
/etc/X11/, /etc/default/, /etc/skel/
/etc/sysconf/
/etc/modules.conf modulare Module konfigurieren

Verzeichnis (virtuell) zur Prozess- und Kernelparameterverwaltung:

/proc/, /proc/PID/, /proc/sys/net/ipv4/, …

Verzeichnisse der Protokoll- (= log-) Dateien und Spoolingsysteme:

/var/, /var/log/, /var/run/, …
/var/spool/, /var/spool/mail/, /var/spool/lpd/ …
/var/squid/, /var/cache/, /var/named/, …
/var/adm/backup/, …

Verzeichnis und Dateien für den Bootvorgang:

/boot/, /boot/vmlinuz, /boot/System.map-2.4.x-4GB, /boot/initrd, initrd/…

  • LILO: /boot/chain.b, /boot/map, /boot/boot-menu.b, /boot/boot.0306 (z.B.), … /etc/lilo.conf
  • GRUB: /boot/grub/menu.lst, /boot/grub/stageN, /boot/grub/ Dateisystem_stage1-5, … /etc/grub.conf

Verzeichnisse für Dienste/Anwendungen, die beim Systemstart nicht nötig sind:

/usr/, /usr/share/doc/, /usr/X11R6/, …, /opt/, /home/, /var/, …

Verzeichnisse für (Kernel-) Sources und rpm-Pakete:

/usr/src/, /usr/src/linux => …/usr/src/packages/, …

Verzeichnis für ftp und http-Server:

/usr/local/ftp/, /usr/local/httpd/, /usr/local/httpd/htdocs/, …
/srv/ftp/, /srv/www/, /src/www/htdocs/, …

Verzeichnis für temporäre Dateien/Verzeichnisse:

/tmp/

Verzeichnis von Daten für Rettungsmaßnahmen auf ext2/3 Datenträgern:

/lost+found/ => nach Systemabstürzen

I.a. leere Verzeichnisse für temporäre Datenträger (bzw. symb. Links darauf):

/mnt/, /floppy => /media/floppy/, /cdrom => /media/cdrom/

Verzeichnisse von Dokumentationen und Sprachen:

/usr/share/man/ man-Pages
/usr/share/doc/howto/ HOWTOs
/usr/share/doc/packages/ Paketdokumentationen
/usr/src/linux/Documentation/ Kernel Dokumentationen (Treiber-Dokus)
/usr/X11R6/lib/X11/doc/ Dokus zu Graphikkartentreibern
/usr/share/locale/ verfügbare Sprachen

 

Reg. 2026-460

Leave a Comment