Terminal-Befehle
Terminal-Befehle
Die wichtigsten Kommandozeilen-Befehle für Linux, Windows und macOS – von der Navigation über Dateiverwaltung bis zu Netzwerk-Tools. Mit interaktiver Befehlsreferenz und Linux-vs-Windows Vergleich.
Inhaltsverzeichnis
Schnellübersicht
Auf dieser Seite lernen Sie alles über Terminal-Befehle und Kommandozeilen:
- Definition: Was ist ein Terminal und eine Shell?
- Wichtige Shells: Bash, Zsh, PowerShell, CMD
- Grundbefehle: Navigation, Dateien, Verzeichnisse
- Systeminformationen: Status, Prozesse, Ressourcen
- Netzwerk-Befehle: ping, traceroute, netstat
- Berechtigungen: chmod, chown, ACL
- Pipes & Redirects: Datenströme verbinden
- Linux vs. Windows: Befehle im Vergleich
- Interaktive Referenz: Befehle suchen und filtern
- FAQ: Häufige Fragen & Antworten
1. Was ist ein Terminal?
Definition
Ein Terminal (auch Konsole, Kommandozeile oder CLI – Command Line Interface) ist eine textbasierte Schnittstelle, über die Benutzer Befehle direkt an das Betriebssystem senden können. Im Gegensatz zur grafischen Oberfläche (GUI) erfolgt die Interaktion ausschließlich über Texteingaben.
Die Shell ist das Programm, das im Terminal läuft und die Befehle interpretiert. Sie übersetzt Ihre Eingaben in Systemaufrufe und zeigt die Ergebnisse an. Bekannte Shells sind Bash (Linux Standard), Zsh (macOS Standard), PowerShell (Windows) und CMD (Windows Legacy).
Warum Terminal statt GUI? Viele Aufgaben sind über die Kommandozeile schneller, automatisierbar (Skripte) und präziser. Server werden fast ausschließlich über SSH/Terminal verwaltet – eine GUI ist dort oft gar nicht vorhanden.
Terminal vs. Konsole – Was ist der Unterschied?
Die Begriffe werden oft synonym verwendet, haben aber feine Unterschiede:
- Terminal: Das Fenster/Programm, das die Ein- und Ausgabe anzeigt (z.B. GNOME Terminal, Windows Terminal)
- Konsole: Oft synonym verwendet, bezeichnet aber eigentlich das physische Terminal (Bildschirm + Tastatur)
- Shell: Das Programm, das im Terminal läuft und Befehle ausführt (z.B. Bash, PowerShell)
- CLI: Command Line Interface – das textbasierte Interface im Gegensatz zur GUI
2. Die wichtigsten Shells
Jedes Betriebssystem bringt seine eigenen Shells mit. Hier die wichtigsten im Überblick:
Bash
Die Standard-Shell der meisten Linux-Distributionen. Seit 1989 im Einsatz und extrem weit verbreitet.
- Standard auf Linux (Ubuntu, Debian, CentOS)
- POSIX-kompatibel
- Riesige Community & Dokumentation
- Ideal für Shell-Skripte
- Auch auf macOS und Windows (WSL) verfügbar
Zsh
Erweiterter Nachfolger der Bash mit vielen modernen Features. Seit macOS Catalina Standard.
- Standard auf macOS (seit Catalina)
- Intelligente Auto-Vervollständigung
- Plugins (Oh My Zsh Framework)
- Bessere Themes & Prompt
- Bash-kompatibel (meistens)
PowerShell
Microsofts moderne Shell. Arbeitet mit Objekten statt Text – extrem mächtig für Windows-Automation.
- Standard auf Windows 10/11
- Objektorientiert (keine Text-Parsing)
- Cross-Platform (PowerShell 7+)
- Ideal für Windows-Administration
- Azure & Microsoft 365 Integration
CMD
Die klassische Windows-Kommandozeile. Seit DOS-Zeiten, heute durch PowerShell ersetzt.
- Seit MS-DOS (1980er)
- Einfache Text-basierte Befehle
- Begrenzte Funktionalität
- Nur für Windows
- Wird durch PowerShell ersetzt
3. Grundlegende Terminal-Befehle
Diese Befehle sollten Sie auswendig kennen – sie werden täglich verwendet.
Dateien & Verzeichnisse
8 Befehlemkdir -p a/b/c (rekursiv)
cp -r ordner/ ziel/ (rekursiv)
mv datei.txt /ziel/ (verschieben)
rm -r ordner/ (rekursiv)
rm -rf ordner/ (ohne Nachfrage)
cat a.txt b.txt > zusammen.txt
Leertaste = nächste Seite
Systeminformationen
7 Befehleuname -r (Kernel-Version)
df -i (Inodes)
Taste 'q' = beenden
history \| grep ssh
!123 (Befehl 123 erneut)
Netzwerk-Befehle
7 Befehleping -c 4 google.de (4 Pakete)
tracert google.de (Windows)
ifconfig (veraltet)
ip route (Routing-Tabelle)
netstat -an (alle Verbindungen)
dig google.de MX
wget https://example.com/file.zip
ssh -p 2222 user@server
Berechtigungen
6 Befehlechmod +x script.sh (ausführbar)
chmod u=rw,g=r,o= datei
chown -R user:gruppe ordner/
sudo systemctl restart nginx
su - username (zu User)
id username
umask 027 (strenger)
Prozessmanagement
6 Befehleps -ef (alternativ)
kill -9 1234 (force)
killall nginx
jobs -l (mit PIDs)
fg %1 (Job 1 zurück)
nohup ./script.sh > log.txt &
systemctl restart ssh
systemctl enable apache2
4. Linux vs. Windows – Befehle im Vergleich
Viele Aufgaben lassen sich auf beiden Systemen lösen – nur die Befehle sind unterschiedlich:
| Aufgabe | Linux / macOS | Windows (PowerShell) | Windows (CMD) |
|---|---|---|---|
| Verzeichnis anzeigen | pwd | Get-Location / pwd | cd |
| Verzeichnis wechseln | cd /pfad | cd \pfad / Set-Location | cd \pfad |
| Dateien auflisten | ls -la | Get-ChildItem / dir | dir |
| Verzeichnis erstellen | mkdir name | New-Item -Type Directory | mkdir name |
| Datei kopieren | cp quelle ziel | Copy-Item / copy | copy quelle ziel |
| Datei verschieben | mv quelle ziel | Move-Item / move | move quelle ziel |
| Datei löschen | rm datei | Remove-Item / del | del datei |
| Dateiinhalt anzeigen | cat datei | Get-Content / type | type datei |
| Text suchen | grep "text" datei | Select-String | findstr "text" datei |
| Prozesse anzeigen | ps aux / top | Get-Process | tasklist |
| Prozess beenden | kill PID | Stop-Process | taskkill /PID |
| Netzwerk-Info | ip addr / ifconfig | Get-NetIPAddress | ipconfig |
| Erreichbarkeit testen | ping host | Test-Connection / ping | ping host |
| DNS abfragen | dig / nslookup | Resolve-DnsName | nslookup |
| Route anzeigen | traceroute | Test-Connection -Traceroute | tracert |
| System-Info | uname -a | Get-ComputerInfo | systeminfo |
| Benutzer wechseln | su - user | runas /user:... | runas /user:... |
| Root/Admin | sudo befehl | Start-Process -Verb RunAs | (als Admin starten) |
PowerShell-Tipp
In PowerShell können Sie für fast jedes Cmdlet einen Alias verwenden, der dem Linux-Befehl entspricht:
ls=Get-ChildItemcd=Set-Locationcp=Copy-Itemmv=Move-Itemrm=Remove-Item
Mit Get-Alias können Sie alle verfügbaren Aliase anzeigen.
5. Pipes & Redirects – Datenströme verbinden
Mit Pipes und Redirects können Sie die Ausgabe eines Befehls als Eingabe für einen anderen verwenden oder in Dateien umleiten.
Die wichtigsten Operatoren
Pipe (|)
Leitet die Ausgabe eines Befehls als Eingabe an den nächsten Befehl weiter.
cat log.txt | grep "ERROR" | wc -l
Ausgabe umleiten (>)
Leitet die Ausgabe in eine Datei um (überschreibt bestehende Datei).
echo "Hallo" > test.txt
ls in dateiliste.txt. Bestehende Datei wird überschrieben.Ausgabe anhängen (>>)
Leitet die Ausgabe in eine Datei um (hängt an bestehende Datei an).
date >> protokoll.txt
log.txt an, ohne den bestehenden Inhalt zu löschen.Fehler umleiten (2>)
Leitet nur Fehlermeldungen (Standard Error) um.
command > output.txt 2> errors.txt
output.txt und Fehler in errors.txt.Eingabe umleiten (<)
Liest Eingabe aus einer Datei statt von der Tastatur.
mysql -u root < backup.sql
Standard Output & Error zusammen (2>&1)
Leitet beide Streams (Ausgabe + Fehler) in dieselbe Datei.
command &> log.txt (Bash)
log.txt.6. Interaktive Befehlsreferenz
Suchen Sie nach einem Befehl oder filtern Sie nach Kategorie und Betriebssystem:
Befehls-Datenbank
Durchsuchen Sie über 40 wichtige Terminal-Befehle. Filtern Sie nach Kategorie oder Betriebssystem, um schnell den richtigen Befehl zu finden.
7. FAQ – Häufige Fragen & Antworten
Häufige Fragen zu Terminal-Befehlen
Linux:
- Tastenkombination:
Strg + Alt + T - Oder über Anwendungsmenü: "Terminal" suchen
macOS:
- Spotlight:
Cmd + Leertaste→ "Terminal" eingeben - Oder: Programme → Dienstprogramme → Terminal
Windows:
- PowerShell: Rechtsklick auf Start → "Windows PowerShell"
- CMD:
Win + R→ "cmd" eingeben - Windows Terminal (empfohlen): Aus Microsoft Store installieren
- Bash: Standard auf Linux. Text-basiert, POSIX-kompatibel, riesige Community
- Zsh: Standard auf macOS. Bash-kompatibel, aber mit mehr Features (Auto-Vervollständigung, Themes, Plugins via Oh My Zsh)
- PowerShell: Standard auf Windows. Objektorientiert – arbeitet mit .NET-Objekten statt Text. Mächtig für Windows-Automation, aber andere Syntax
Empfehlung: Für Linux/macOS: Bash oder Zsh. Für Windows: PowerShell (nicht CMD!).
Linux / macOS:
man befehl– Handbuchseite anzeigen (z.B.man ls)befehl --help– Kurzhilfebefehl -h– Alternative Kurzhilfeapropos stichwort– Befehle zu einem Thema suchen
Windows PowerShell:
Get-Help befehl– Hilfe anzeigenGet-Help befehl -Detailed– Ausführliche HilfeGet-Help befehl -Examples– Nur BeispieleGet-Command *muster*– Befehle suchen
Die Fehlermeldung "Permission denied" bedeutet, dass Sie keine Berechtigung für die Aktion haben.
Lösungen:
- sudo verwenden:
sudo befehl– Führt Befehl als Root aus - Berechtigungen prüfen:
ls -l datei– Zeigt aktuelle Berechtigungen - Berechtigungen ändern:
chmod 755 datei– Gibt mehr Rechte - Besitzer ändern:
sudo chown user:datei– Ändert Besitzer
Windows: PowerShell als Administrator starten (Rechtsklick → "Als Administrator ausführen").
Strg + C – Bricht den aktuellen Befehl ab (funktioniert fast immer).
Weitere nützliche Tastenkombinationen:
Strg + C– Befehl abbrechen (SIGINT)Strg + Z– Befehl pausieren (in Hintergrund)Strg + D– Terminal schließen / EOF sendenStrg + L– Bildschirm löschen (wieclear)Tab– Auto-VervollständigungPfeil hoch/runter– Durch Befehlsverlauf blättern
Schritt 1: Datei erstellen mit Shebang-Zeile:
# Mein erstes Skript
echo "Hallo Welt!"
ls -la
Schritt 2: Skript ausführbar machen:
Schritt 3: Skript ausführen:
Windows PowerShell: Datei mit Endung .ps1 erstellen, Execution Policy anpassen: Set-ExecutionPolicy RemoteSigned
SSH (Secure Shell) ist ein verschlüsseltes Protokoll für Remote-Logins und Befehlsausführung auf anderen Computern.
Grundlegende Verwendung:
ssh user@server -p 2222 # Anderer Port
ssh -i ~/.ssh/key.pem user@server # Mit Key
SSH-Key erstellen (passwortlos):
ssh-copy-id user@server
Windows: Seit Windows 10 ist SSH nativ integriert. Alternativ PuTTY verwenden.
1. Auto-Vervollständigung nutzen:
Tab– Vervollständigt Befehle, Pfade, BenutzernamenTab + Tab– Zeigt alle Möglichkeiten
2. Befehlsverlauf:
Pfeil hoch/runter– Durch Verlauf blätternStrg + R– Verlauf durchsuchenhistory– Verlauf anzeigen!123– Befehl 123 erneut ausführen
3. Aliase definieren:
alias ll='ls -la'
alias gs='git status'
alias update='sudo apt update && sudo apt upgrade'
4. Terminal-Multiplexer: tmux oder screen – Mehrere Sessions in einem Terminal, bleiben nach Logout aktiv.
Zusammenfassung
Die wichtigsten Punkte
- Terminal: Textbasierte Schnittstelle zum Betriebssystem – schneller und automatisierbarer als GUI
- Shells: Bash (Linux), Zsh (macOS), PowerShell (Windows), CMD (Windows Legacy)
- Navigation:
pwd,cd,ls,tree - Dateien:
mkdir,touch,cp,mv,rm,cat - System:
uname,uptime,df,free,top - Netzwerk:
ping,traceroute,ip,netstat,ssh - Berechtigungen:
chmod,chown,sudo,su - Prozesse:
ps,kill,jobs,systemctl - Pipes & Redirects:
|,>,>>,2>,< - Linux vs. Windows: Viele Aufgaben ähnlich, aber unterschiedliche Befehle
- Interaktive Referenz: Über 40 Befehle durchsuchbar nach Kategorie und OS
Tipps für den Einstieg
- Übung macht den Meister: Öffnen Sie das Terminal und probieren Sie die Befehle aus
- Hilfe nutzen:
man befehloderbefehl --helpzeigt Dokumentation - Keine Angst vor Fehlern: Die meisten Befehle sind reversibel (außer
rm -rf!) - Skripte schreiben: Wiederkehrende Aufgaben in Shell-Skripte packen
- Aliase definieren: Häufige Befehle abkürzen
- SSH lernen: Remote-Server-Verwaltung ist essenziell
Weiterführende Themen
Linux im Detail – Distributionen, Paketmanager, Dateisystem und Administration.
Zu LinuxWindows im Detail – Registry, Dienste, PowerShell und Administration.
Zu WindowsProzesse, Threads, Scheduling und Ressourcenverwaltung im Detail.
Zu ProzessmanagementNTFS, ext4, APFS – wie Betriebssysteme Daten organisieren.
Zu Dateisystemen