Zurück zu den Updates
New releaseJul 30, 2026

cmdchamp v1.2.15

bash CLI-Trainer — 30 Level von ls bis zur Privilege Escalation

Teilen

cmdchamp

Bash-CLI-Trainer — 30 Level von ls bis zur Privilege-Escalation.

demo

Bei jeder Frage musst du einen echten Befehl eingeben — sofortiges Feedback, dann geht’s weiter. Viele laufen gegen echte Dateien in der Sandbox, und alle akzeptieren mehrere gültige Syntaxvarianten (sort -u oder sort | uniq). Mit Tab blätterst du zur Manpage, wenn du eine Referenz brauchst, und die Reihenfolge wird bei jedem Lauf neu gemischt, sodass du nichts auswendig lernen kannst. „Mastery“ verfolgt, was du kannst: Beantworte eine Frage zweimal richtig, um sie zu meistern; falsch beantwortet stuft sie dich herab, sodass sie früher wiederkommt. Eine Serie von 5 richtigen Antworten löst den Feuer-Modus aus — ein Banner, das läuft, bis du danebenliegst.

Jedes Level endet mit einer Boss-Runde — keine Manpages, 30-Sekunden-Timer, 4/5 zum Bestehen. Scheiterst du, kannst du den Boss sofort erneut versuchen oder zurück zum Üben gehen. Schlage alle 30 und der Challenge-Modus schaltet sich frei: jedes Level, 20-Sekunden-Timer, keine Manpages, ein Fehler und du bist raus. Der erste Lauf enthält ein kurzes Tutorial und einen Einstufungstest, mit dem du Level überspringen kannst, die du bereits kennst.

Mit bubblewrap laufen Befehle in einem echten Sandbox-Dateisystem. Ohne diese werden Antworten per Textabgleich geprüft. Suchlevel (16–17) akzeptieren sowohl rg/fd- als auch grep/find-Syntax. Vi-Zeileneditierung eingebaut.

Installation

Arch (AUR):

paru -S cmdchamp   # oder: yay -S cmdchamp

Überall (Einzeldatei):

mkdir -p ~/.local/bin && curl -sL https://raw.githubusercontent.com/mellen9999/cmdchamp/main/cmdchamp -o ~/.local/bin/cmdchamp && chmod +x ~/.local/bin/cmdchamp

Falls nötig, ~/.local/bin zum PATH hinzufügen: echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc

Oder klonen:

git clone https://github.com/mellen9999/cmdchamp.git
cd cmdchamp && make install

Erfordert: bash 4.4+, coreutils, awk

macOS: Wird mit bash 3.2 ausgeliefert — zuerst bash 4.4+ installieren: brew install bash

Optional: bubblewrap (bwrap) für den Sandbox-Modus (nur Linux) — die meisten Desktop-Distributionen enthalten es. Ohne diese wird nur per Textabgleich geprüft

Barrierefreiheit: Unterstützt NO_COLOR und TERM=dumb. Das Layout passt sich an COLUMNS / tput cols an. Meisterbalken tragen sowohl Farbe als auch ein / ~ / x-Symbol — ohne Farbe lesbar.

Terminals: Läuft auf echten seriellen Terminals, nicht nur Emulatoren. cmdchamp prüft, was das Terminal tatsächlich anzeigen kann, und wählt eine von drei Darstellungsstufen — Unicode, DEC-ACS-Liniengrafik oder reines ASCII — damit die Rahmen auf einem VT100/VT220/VT320/VT420 oder Wyse intakt bleiben. Auf einem Monochrom-Bildschirm werden Farbunterschiede als fett/negativ umkodiert. Erzwinge eine Stufe mit CMDCHAMP_ASCII=1 oder CMDCHAMP_UNICODE=1. ./test_terminals.sh verifiziert das.

Verwendung

cmdchamp                # Startet das Spielmenü
cmdchamp --no-sandbox   # Sandbox deaktivieren (nur Textabgleich)
cmdchamp reset          # Alle Fortschritte löschen
cmdchamp test           # Selbsttests ausführen
cmdchamp version        # Version anzeigen
cmdchamp help           # Hilfe anzeigen

Das Menü enthält Fortsetzen, Neues Spiel, Szenarien, Challenge-Modus, Statistiken und Optionen. Die Hotkeys 1–7 springen direkt zu einem Eintrag; j/k oder die Pfeiltasten bewegen die Auswahl; Enter bestätigt.

Level

#NameFokus
Grundlagen
1Erste Schrittepwd, ls, echo, cd, mkdir
2Datei-Grundlagencp, mv
3Speichere deine Arbeit>, >>, tee
4Dateien lesencat, head, tail, less
5Grundlegende PipesPipes, grep, wc, sort, uniq
6Eingabe & Here-Strings<, <<<, tr, cut, rev, bc
7Fehlerbehandlung2>, 2>&1, &>, /dev/null
8Logikgatter&&, ||
9Variablen$VAR, Zuweisung, Expansion
10Spezielle Variablen$$, $?, $!, $#, $@, $0
11Jobkontrollebg, fg, jobs, &, Strg+Z
12Testbedingungen-f, -d, -z, -n, -eq, -lt
13Kern-Dateiwerkzeugecp, mv, ln, chmod, du, tar, diff
14Systemadministrationping, df, free, ss, systemctl, ip
15Multiplexertmux: Sitzungen, Fenster, Panes
16Textsuchegrep, ripgrep, regex
17Dateisuchefind, fd, nach Name/Größe/Zeit/Typ
18Datenverarbeitungsort, uniq, cut, awk, tr, comm
19Strings & ArraysParameterexpansion, Arrays
20Kontrollflussif/else, Schleifen, case, Funktionen
21Stapelverarbeitungfind -exec, xargs, sed -i, crontab
22Fortgeschrittene RegexLookahead, sed, awk
DevOps & Sicherheit
23GitBranches, Remotes, Rebasing, Stashing, Bisect
24Netzwerkwerkzeugetshark, curl, jq, SSH-Tunnel, openssl, SMB
25Netzwerkscanningnmap, Diensterkennung, Skripte
26WLAN & RFaircrack-ng, netcat, tcpdump, drahtlose Aufklärung
27Hash-Knackenhashcat, john, hydra, Kodierung
28Forensikstrings, readelf, binwalk, volatility, exiftool
29Privilege-EscalationSUID, GTFOBins, Enumeration
30ROOTNotfallwiederherstellung, chroot, Offline-Überleben

Szenarien

Mehrstufige Sandbox-Herausforderungen — der Zustand bleibt zwischen den Schritten erhalten. Verfügbar über das Szenarien-Menü, sobald du den Freischalt-Boss besiegt hast.

#NameFreischaltung beiSchritte
1BerechtigungssperreL13-Boss6
2Archivieren & EntpackenL13-Boss6
3Finde die NadelL16-Boss7
4Unordentliche CSVL18-Boss4
5Der VorfallL18-Boss5
6Das kaputte DeploymentL21-Boss7
7Protokoll-NotfallL21-Boss5
8Konfigurations-OPL21-Boss5
9Git-RettungL23-Boss6
10Stapel-RefactoringL21-Boss6
11Forensischer DurchlaufL22-Boss6

Einstufungstest

Nach dem Tutorial des ersten Laufs wirst du gefragt, ob du den Einstufungstest machen möchtest, um vorzuspringen. Wenn du zustimmst, laufen 2 Fragen pro Level, jeweils 30 Sekunden, keine Manpages. Eine falsche Antwort bestimmt dein Startlevel.

Easter Eggs

8 versteckte Erfolge. Der Statistik-Bildschirm zeigt, wie viele du gefunden hast.

Steuerung

TasteAktion
EnterAntwort absenden
TabManpage umschalten
Strg+dBeenden (Sitzungszusammenfassung)
EscVi-Normalmodus
?Alle Tastenkombinationen (Normalmodus)

Daten

Der Fortschritt wird in ${XDG_DATA_HOME:-~/.local/share}/cmdchamp/ gespeichert.

Lizenz

MIT

Kategorien