DEV // SURVIVAL // KIT · VIBE // CODER // SURVIVAL Die Linux-Befehle, die dich vor Claude retten Server voll? Port belegt? „Funktioniert nicht mehr“ auf dem Server? — Jeder Dev muss sie können. Slide 1 — Claude schreibt fleißig Docker-Images, Log-Dateien, node_modules -Kopien, temporäre Build-Artefakte. Claude generiert Code — aber aufräumen musst du selbst. Diese Befehle zeigen dir sofort, was den Server frisst: # Wie voll ist die Disk? df -h # Welches Verzeichnis frisst am meisten? du -sh /* 2>/dev/null | sort -rh | head -10 # Docker-Leichen killen (Images, Container, Volumes, Cache) docker system prune -af --volumes # Wie groß ist ein einzelnes Verzeichnis? du -sh /opt/techlogia/ Faustregel: Wenn df -h über 80 % zeigt, läuft demnächst nichts mehr. Slide 2 — Server voll Der häufigste Grund warum Deploys schweigend sterben: kein Speicherplatz mehr. Logs wachsen unbemerkt auf Gigabyte-Größe. # Größte Dateien auf dem System finden find / -type f -size +100M -printf '%s\t%p\n' 2>/dev/null | sort -rn | head -10 # Log-Datei leeren ohne sie zu löschen (laufender Prozess hält sie offen) truncate -s 0 /var/log/nginx/access.log # Systemd-Logs begrenzen journalctl --vacuum-size=200M Slide 3 — Port belegt Claude startet den Dev-Server — aber Port 3000 läuft noch vom letzten Mal. Statt blind zu raten: # Wer hört auf Port 3000? lsof -i :3000 # Alle belegten Ports anzeigen ss -tlnp # Prozess auf Port 3000 killen kill -9 $(lsof -t -i :3000) # Oder direkter: fuser -k 3000/tcp Slide 4 — Prozesse im Griff Nach 10 Claude-Sessions laufen manchmal 5 Instanzen desselben Services. So behältst du den Überblick: # Alle laufenden Prozesse mit CPU- und RAM-Verbrauch ps aux --sort=-%mem | head -15 # Interaktiver Prozess-Monitor htop # Prozess nach Name killen pkill -f "node server.js" # Alle Prozesse eines Nutzers beenden pkill -u www-data Slide 5 — Logs lesen ohne zu ertrinken Claude gibt Fehler aus — aber in welcher Logdatei? Und was kam kurz vorher? # Letzte 50 Zeilen eines Logs tail -n 50 /var/log/nginx/error.log # Live mitlesen tail -f /var/log/syslog # Fehler in Docker-Container-Logs suchen docker logs techlogia-backend --tail 100 | grep -i error # Logs seit einem Zeitpunkt journalctl --since "2026-04-23 10:00" --until "2026-04-23 11:00" Slide 6 — Fehler finden: Claude hat 47 Dateien angelegt Du weißt nicht mehr was Claude alles erstellt hat? Diese Befehle zeigen es dir: # Dateien nach Änderungsdatum sortiert (neueste zuerst) ls -lt /opt/meinprojekt/ | head -20 # Alle Dateien neuer als 1 Stunde find . -newer /tmp/zeitstempel -type f 2>/dev/null # Zeitstempel setzen (danach alle neueren Dateien sehen) touch /tmp/zeitstempel # Wie viele Dateien sind in einem Verzeichnis? find . -type f | wc -l # Doppelte Dateien finden # apt install fdupes (falls noch nicht installiert) fdupes -r . 2>/dev/null | head -20 # Alternative ohne Installation: find . -type f -exec md5sum {} + 2>/dev/null | sort | awk 'NR>1 && prev==$1 {print p; print $2} {prev=$1; p=$2}' | head -20 Slide 7 — Deploys ersetzen: kein Docker, kein CI/CD, kein Stress Manchmal willst du einfach schnell eine Datei auf den Server bekommen. Ohne Pipeline, ohne Workflow: # Einzelne Datei auf Server kopieren scp -i ~/.ssh/meinkey datei.py root@server:/opt/app/ # Ganzes Verzeichnis synchronisieren (nur Änderungen) rsync -avz --delete ./dist/ root@server:/opt/app/dist/ # Direkt auf dem Server ausführen ohne einzuloggen ssh root@server "cd /opt/app && git pull && docker compose restart backend" # Notfall-Rollback: letzten Git-Commit rückgängig ssh root@server "cd /opt/app && git revert HEAD --no-edit && docker compose up -d" LINUX COMMANDS FÜR VIBE-CODER Das Cheatsheet Problem Befehl Disk voll df -h && docker system prune -af Port belegt lsof -i :PORT Prozess hängt pkill -f "prozessname" Log explodiert truncate -s 0 logfile.log Was hat Claude angelegt? find . -newer /tmp/ts -type f Schnelles Deploy rsync -avz ./dist/ root@server:/opt/ Kein Stack, kein Framework — einfach Terminal aufmachen und machen.