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
# 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
# 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.
# 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
# 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
# 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
# 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
# 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
# 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.
# 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.