Linux - Dateisystem

Alles ist eine Datei

In Linux gilt die Unix-Philosophie: Alles ist eine Datei. Nicht nur reguläre Dateien und Ordner, sondern auch Geräte (Festplatten, USB-Sticks, Tastaturen), Netzwerkverbindungen und sogar laufende Prozesse werden als Dateien repräsentiert. Das vereinheitlicht den Zugriff – dieselben Werkzeuge (lesen, schreiben, Rechte setzen) funktionieren für alles.

Der Verzeichnisbaum – FHS

Linux hat im Gegensatz zu Windows keinen Laufwerksbuchstaben (kein C:, D:). Es gibt einen einzigen Verzeichnisbaum mit dem Root-Verzeichnis / an der Spitze. Alle Dateien und Geräte hängen unter /.

Die Struktur folgt dem Filesystem Hierarchy Standard (FHS):

Verzeichnis

Inhalt

/

Root – Wurzel des gesamten Verzeichnisbaums

/bin

Wichtige Systembefehle (ls, cp, mv, bash)

/sbin

Systembefehle für Admins (fdisk, ip, iptables)

/etc

Konfigurationsdateien des Systems (passwd, fstab, ssh/)

/home

Heimverzeichnisse der Benutzer (/home/username)

/root

Heimverzeichnis des root-Benutzers

/var

Variable Daten – Logdateien (/var/log), Datenbanken, Mail

/tmp

Temporäre Dateien – wird beim Neustart geleert

/usr

Installierte Programme und Bibliotheken (/usr/bin, /usr/lib)

/opt

Optionale Softwarepakete (manuell installierte Software)

/dev

Gerätedateien (sda = erste Festplatte, tty = Terminal)

/proc

Virtuelles Dateisystem mit Prozess- und Kernelinformationen

/sys

Virtuelles Dateisystem mit Hardwareinformationen

/mnt

Einhängepunkt für manuell eingehängte Dateisysteme

/media

Automatisch eingehängte Wechselmedien (USB, CD)

/boot

Bootloader und Kernel-Images

/lib

Bibliotheken für /bin und /sbin

Absolute und relative Pfade

Ein absoluter Pfad beginnt immer mit / und beschreibt den vollständigen Weg vom Root-Verzeichnis:

/home/username/dokumente/bericht.txt

Ein relativer Pfad ist relativ zum aktuellen Verzeichnis – kein führendes /:

dokumente/bericht.txt    # vom Heimverzeichnis aus
./skript.sh              # im aktuellen Verzeichnis
../config.txt            # ein Verzeichnis höher

Wichtige Abkürzungen:

  • ~ – Heimverzeichnis des aktuellen Benutzers (/home/username)

  • . – Aktuelles Verzeichnis

  • .. – Übergeordnetes Verzeichnis

Dateitypen in Linux

Linux kennt verschiedene Dateitypen – erkennbar am ersten Zeichen der Berechtigungsanzeige (ls -la):

Zeichen

Typ

-

Reguläre Datei

d

Verzeichnis (Directory)

l

Symbolischer Link (Symlink)

b

Block-Gerätedatei (z.B. Festplatte)

c

Zeichen-Gerätedatei (z.B. Terminal)

p

Named Pipe (FIFO)

s

Socket

Einhängen von Dateisystemen (Mount)

In Linux werden Laufwerke, Partitionen und Netzwerkfreigaben in den Verzeichnisbaum eingehängt (gemountet). Nach dem Einhängen ist der Inhalt über den angegebenen Pfad erreichbar:

# USB-Stick manuell einhängen
mount /dev/sdb1 /mnt/usb

# Aushängen
umount /mnt/usb

# Aktuell eingehängte Dateisysteme anzeigen
mount | grep "^/dev"
df -h

Dateisysteme die beim Booten automatisch eingehängt werden sollen, werden in /etc/fstab konfiguriert.

Gerätedateien in /dev

Festplatten und Partitionen werden in Linux als Gerätedateien repräsentiert:

  • /dev/sda – Erste SATA/SAS-Festplatte

  • /dev/sda1 – Erste Partition von sda

  • /dev/nvme0n1 – Erste NVMe-SSD

  • /dev/nvme0n1p1 – Erste Partition der NVMe-SSD

  • /dev/null – Datenmüll (alles was hineingeschrieben wird verschwindet)

  • /dev/zero – Quelle für Nullbytes

Wichtige Konfigurationsdateien in /etc

Datei

Inhalt

/etc/passwd

Benutzerkonten (Name, UID, Heimverzeichnis, Shell)

/etc/shadow

Gehashte Passwörter (nur root lesbar)

/etc/group

Gruppen und ihre Mitglieder

/etc/fstab

Automatisch einzuhängende Dateisysteme

/etc/hostname

Hostname des Systems

/etc/hosts

Statische Namensauflösung (IP → Hostname)

/etc/resolv.conf

DNS-Server-Konfiguration

/etc/ssh/sshd_config

SSH-Server-Konfiguration

/etc/crontab

Systemweite Cron-Jobs

Zusammenfassung

  • Alles ist eine Datei – Geräte, Prozesse und Verbindungen werden als Dateien repräsentiert

  • Ein einziger Verzeichnisbaum mit / als Wurzel – keine Laufwerksbuchstaben

  • FHS definiert die Standardstruktur: /etc (Konfiguration), /var (Logs), /home (Benutzer), /dev (Geräte)

  • Absolute Pfade beginnen mit /. Relative Pfade sind relativ zum aktuellen Verzeichnis

  • Laufwerke werden eingehängt (mount) – /etc/fstab für automatisches Einhängen

  • Gerätedateien in /dev: sda (SATA), nvme0n1 (NVMe)