--- id: S6 titel: Linux – Dateisystem und die Befehle für jeden Tag block: system woche: 13 worum: Unter Linux gibt es keine Laufwerksbuchstaben, sondern einen einzigen Verzeichnisbaum. Wer weiß, wo was liegt, findet Konfiguration und Fehler in Minuten. rahmenplan: [B3, A8] lernfeld: LF9 merksatz: Konfiguration in /etc, Protokolle in /var/log, Benutzer in /home. Erst lesen mit less und grep, dann ändern. karten: - frage: Wo liegen unter Linux die Konfigurationsdateien und wo die Protokolle? antwort: Konfiguration in /etc, etwa /etc/ssh/sshd_config. Protokolle in /var/log und im Journal von systemd, das man mit journalctl liest. - frage: Was zeigen df -h und du -sh? antwort: df -h zeigt die Belegung der eingehängten Dateisysteme, also wie voll jede Platte ist. du -sh zeigt, wie viel Platz ein bestimmtes Verzeichnis belegt – damit findet man, wer die Platte füllt. - frage: Wie findet man alle Zeilen mit „error" in den Protokollen unter /var/log, ohne Groß- und Kleinschreibung zu beachten? antwort: Mit grep -ri error /var/log – r durchsucht die Unterverzeichnisse, i ignoriert die Schreibweise. Für das Journal von systemd stattdessen journalctl -p err. --- ## Das Wesentliche - **Ein Baum ab `/`.** Weitere Platten und Freigaben werden irgendwo in diesen Baum eingehängt, etwa unter `/mnt` oder `/srv`. - **Die wichtigsten Orte:** `/etc` Konfiguration, `/var/log` Protokolle, `/home` die Benutzer, `/root` der Administrator, `/usr/bin` Programme, `/tmp` Zwischendateien, `/opt` und `/srv` für eigene Anwendungen und Daten. - **Groß- und Kleinschreibung zählt.** `Bericht.txt` und `bericht.txt` sind zwei Dateien. - **Navigieren:** `pwd` (wo bin ich?), `ls -la` (was liegt hier, auch versteckt, mit Rechten), `cd` (wechseln), `cd ~` (nach Hause), `cd -` (zurück). - **Dateien:** `cp`, `mv`, `rm`, `mkdir -p`. `rm -r` löscht ohne Papierkorb und ohne Rückfrage – vorher mit `ls` prüfen, was getroffen wird. - **Lesen:** `less` zum Blättern (`/` sucht, `q` beendet), `tail -f` zum Mitlesen eines wachsenden Protokolls, `grep` zum Suchen in Dateien. - **Finden:** `find /etc -name "*.conf"` nach Namen, `find /var -size +500M` nach Größe. - **Platz:** `df -h` für die Platten, `du -sh /var/*` für die Verzeichnisse darin. - **Bearbeiten:** `nano` ist für den Anfang der freundlichste Editor. Vor jeder Änderung eine Kopie: `cp datei datei.bak`. - **Hilfe:** `man befehl` oder `befehl --help`. ## Übersicht | Frage | Befehl | |---|---| | Wie voll sind die Platten? | `df -h` | | Welches Verzeichnis ist so groß? | `du -sh /var/* \| sort -h` | | Was steht zuletzt im Protokoll? | `tail -n 50 /var/log/syslog` oder `journalctl -n 50` | | Welche Netzwerkadressen habe ich? | `ip a` | | Welche Ports sind offen? | `ss -tlnp` | | Welche Prozesse brauchen Leistung? | `top` oder `htop` | | Welche Distribution läuft? | `cat /etc/os-release` | ## Prüfungsfrage **Frage:** Ein Linux-Server meldet, dass die Platte voll ist. Beschreiben Sie mit Befehlen, wie Sie die Ursache finden. **Antwort:** (1) Mit `df -h` prüfen, welches Dateisystem voll ist und wo es eingehängt ist. (2) Mit `du -sh /pfad/* | sort -h` die Unterverzeichnisse nach Größe sortieren und schrittweise in das größte hineingehen, bis die Ursache gefunden ist – häufig sind es Protokolle unter `/var/log`, alte Sicherungen oder ungenutzte Container-Abbilder. (3) Mit `find /pfad -size +1G` gezielt nach sehr großen Dateien suchen. (4) Vor dem Löschen klären, ob die Daten noch gebraucht werden, und bei Protokollen die Ursache beheben, etwa eine fehlende Protokollrotation oder einen Dienst, der in einer Fehlerschleife schreibt.