Die überwiegende Mehrheit der Webserver basiert auf Linux. Selbst wenn Sie Ihre Entwicklungsumgebung auf macOS oder Windows (dank WSL) betreiben, ist die Interaktion mit einem Linux-Terminal bei der Bereitstellung (Deployment) Ihrer Anwendungen unvermeidlich. Die Beherrschung der Kommandozeile ist dabei weit mehr als nur eine nützliche Fähigkeit – sie ist der entscheidende Faktor, ob Sie ein kritisches Problem in der Produktion in Sekundenschnelle beheben oder minutenlang im Dunkeln tappen.

Im Dateisystem navigieren

Wichtige Navigationsbefehle
# Aktuelles Verzeichnis ausgeben
pwd

# Dateien auflisten (langes Format, menschenlesbare Größen, versteckte Dateien)
ls -lah

# Verzeichnis wechseln
cd /var/www/html
cd ~        # Zum Home-Verzeichnis wechseln
cd -        # Zum vorherigen Verzeichnis zurückkehren

# Verzeichnisse erstellen (auch verschachtelte)
mkdir -p projects/my-app/src

# Dateien finden
find /var/log -name "*.log" -mtime -7  # Logs der letzten 7 Tage

Dateien effizient verwalten

Dateioperationen
# Dateiinhalt anzeigen
cat config.json              # Ganze Datei
head -n 20 access.log        # Die ersten 20 Zeilen
tail -n 50 error.log         # Die letzten 50 Zeilen
tail -f error.log            # Live-Verfolgung (ideal zum Debuggen)
less large-file.log          # Scrollbarer Viewer

# Kopieren, verschieben, löschen
cp file.txt backup/file.txt
cp -r src/ src-backup/       # Verzeichnis rekursiv kopieren
mv old-name.txt new-name.txt
rm file.txt
rm -rf node_modules/         # Verzeichnis rekursiv löschen (VORSICHT!)

# Dateigrößen
du -sh node_modules/         # Gesamtgröße eines Verzeichnisses
df -h                        # Zusammenfassung der Festplattennutzung

Textverarbeitung mit grep, sed, awk

Diese drei leistungsstarken Befehlszeilen-Tools sind das Schweizer Taschenmesser für jede Art von Textanalyse und -manipulation, insbesondere wenn es um Protokolldateien geht.

grep — Muster suchen
# Nach einem String in Dateien suchen
grep "ERROR" /var/log/app.log

# Rekursive Suche in einem Verzeichnis
grep -r "TODO" src/

# Groß-/Kleinschreibung ignorieren mit Zeilennummern
grep -in "database" config.php

# Zeigt 3 Zeilen vor und nach jedem Treffer
grep -B3 -A3 "Exception" error.log

# Treffer zählen
grep -c "404" access.log
sed — Stream-Editor
# Erste Vorkommen pro Zeile ersetzen
sed 's/http:/https:/' urls.txt

# ALLE Vorkommen ersetzen (globales Flag)
sed 's/http:/https:/g' urls.txt

# Direkte Bearbeitung (Datei direkt modifizieren)
sed -i 's/localhost/production.example.com/g' .env
awk — Spalten extrahieren und verarbeiten
# Die 1. und 4. Spalte einer durch Leerzeichen getrennten Datei ausgeben
awk '{print $1, $4}' access.log

# Eine Spalte von Zahlen summieren
awk '{sum += $5} END {print sum}' data.csv

Berechtigungen & Eigentümer

chmod & chown
# Ein Skript ausführbar machen
chmod +x deploy.sh

# Spezifische Berechtigungen setzen (Eigentümer: rwx, Gruppe: r-x, Andere: r--)
chmod 754 app.js

# Dateibesitz ändern
chown www-data:www-data /var/www/html -R

SSH & Remoteserver

SSH-Befehle
# Mit einem Remote-Server verbinden
ssh [email protected]

# Spezifischen SSH-Schlüssel verwenden
ssh -i ~/.ssh/my-key.pem [email protected]

# Dateien auf einen Remote-Server kopieren (SCP)
scp -r ./dist [email protected]:/var/www/html/

# Einen Befehl remote ausführen, ohne sich einzuloggen
ssh [email protected] "sudo systemctl restart nginx"

Prozessverwaltung

Prozesse verwalten
# Laufende Prozesse auflisten
ps aux | grep node

# Prüfen, welcher Prozess einen Port nutzt
lsof -i :3000
# oder
ss -tulnp | grep 3000

# Prozess anhand der PID beenden
kill 12345
kill -9 12345  # Prozess erzwingen

# Systemressourcen überwachen (interaktiv)
htop

Piping & Umleitung von Ausgaben

Der Pipe-Operator (|) ist das Herzstück der Kommandozeilen-Produktivität. Er ermöglicht es, die Ausgabe eines Befehls direkt als Eingabe für einen anderen Befehl zu verwenden und so komplexe Aufgaben effizient zu verketten.

Praktische Pipe-Beispiele
# Die 10 größten Dateien in einem Verzeichnis finden
du -ah /var/log | sort -rh | head -10

# Eindeutige IP-Adressen in Access-Logs zählen
awk '{print $1}' access.log | sort | uniq -c | sort -rn | head -20

# Befehlsausgabe in eine Datei speichern
echo "Deployment um $(date)" >> deploy.log

# Fehler in eine Datei umleiten
npm run build 2> errors.log

Entdecken Sie unsere kostenlosen Entwickler-Tools

Kodieren, dekodieren und formatieren Sie Ihren Code im Handumdrehen.