Back to updates
New releaseJul 24, 2026

cmdchamp v1.2.13

bash CLI trainer — 30 levels from ls to privilege escalation

Share

cmdchamp

Bash CLI trainer — 30 levels from ls to privilege escalation.

demo

Every question asks you to type a real command — get instant feedback, move on. Many run against real files in the sandbox, and all accept multiple valid syntaxes (sort -u or sort | uniq). Tab toggles the manpage when you need a reference, and the order is randomized each run so you can't memorize it. Mastery tracks what you know: get a question right twice to master it, miss it and it demotes so it comes back sooner. A 5-answer streak triggers fire mode — a banner that runs until you miss.

Each level ends with a boss round — no manpages, 30s timer, 4/5 to pass. Fail and you can retry the boss immediately or go back to practice. Beat all 30 and challenge mode unlocks: every level, 20s timer, no manpages, one miss and you're done. First run includes a short tutorial and a placement test that lets you skip levels you already know.

With bubblewrap, commands run in a real sandboxed filesystem. Without it, answers are text-matched. Search levels (16-17) accept both rg/fd and grep/find syntax. Vi line editing built in.

Install

Arch (AUR):

paru -S cmdchamp   # or: yay -S cmdchamp

Anywhere (single file):

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

Add ~/.local/bin to PATH if needed: echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc

Or clone:

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

Requires: bash 4.4+, coreutils, awk

macOS: Ships with bash 3.2 — install bash 4.4+ first: brew install bash

Optional: bubblewrap (bwrap) for sandbox mode (Linux only) — most desktop distros include it. Without it, answers are text-matched only

Accessibility: Honors NO_COLOR and TERM=dumb. Layout adapts to COLUMNS / tput cols. Mastery bars carry both color and a / ~ / x symbol — readable without color.

Terminals: Runs on real serial terminals, not just emulators. cmdchamp probes what the terminal can actually display and picks one of three render tiers — unicode, DEC ACS line-drawing, or pure ASCII — so frames stay intact on a VT100/VT220/VT320/VT420 or Wyse. On a monochrome screen, color distinctions are re-encoded as bold/reverse. Force a tier with CMDCHAMP_ASCII=1 or CMDCHAMP_UNICODE=1. ./test_terminals.sh verifies it.

Usage

cmdchamp                # Launch the game menu
cmdchamp --no-sandbox   # Disable sandbox (text-match only)
cmdchamp reset          # Clear all progress
cmdchamp test           # Run self-tests
cmdchamp version        # Print version
cmdchamp help           # Show help

The menu holds continue, new game, scenarios, challenge mode, stats, and options. Hotkeys 1–7 jump straight to an item; j/k or arrows move; Enter selects.

Levels

#NameFocus
Fundamentals
1First Stepspwd, ls, echo, cd, mkdir
2File Basicscp, mv
3Save Your Work>, >>, tee
4Reading Filescat, head, tail, less
5Basic Pipespipes, grep, wc, sort, uniq
6Input & Here-Strings<, <<<, tr, cut, rev, bc
7Error Handling2>, 2>&1, &>, /dev/null
8Logic Gates&&, ||
9Variables$VAR, assignment, expansion
10Special Variables$$, $?, $!, $#, $@, $0
11Job Controlbg, fg, jobs, &, Ctrl+Z
12Test Conditions-f, -d, -z, -n, -eq, -lt
13Core File Toolscp, mv, ln, chmod, du, tar, diff
14System Adminping, df, free, ss, systemctl, ip
15Multiplexerstmux: sessions, windows, panes
16Text Searchgrep, ripgrep, regex
17File Findingfind, fd, by name/size/time/type
18Data Processingsort, uniq, cut, awk, tr, comm
19String & Arraysparameter expansion, arrays
20Control Flowif/else, loops, case, functions
21Batch Opsfind -exec, xargs, sed -i, crontab
22Advanced Regexlookahead, sed, awk
DevOps & Security
23Gitbranches, remotes, rebasing, stashing, bisect
24Network Toolstshark, curl, jq, ssh tunnels, openssl, SMB
25Network Scanningnmap, service detection, scripts
26WiFi & RFaircrack-ng, netcat, tcpdump, wireless recon
27Hash Crackinghashcat, john, hydra, encoding
28Forensicsstrings, readelf, binwalk, volatility, exiftool
29Privilege EscalationSUID, GTFOBins, enumeration
30ROOTemergency recovery, chroot, offline survival

Scenarios

Multi-step sandbox challenges — state persists between steps. Available from the Scenarios menu once you clear the unlock boss.

#NameUnlocks atSteps
1Permission LockoutL13 boss6
2Archive & ExtractL13 boss6
3Find the NeedleL16 boss7
4Messy CSVL18 boss4
5The IncidentL18 boss5
6The Broken DeployL21 boss7
7Log EmergencyL21 boss5
8Config SurgeryL21 boss5
9Git RescueL23 boss6
10Batch RefactorL21 boss6
11Forensic SweepL22 boss6

Placement test

After the first-run tutorial, you're asked if you want to take the placement test to skip ahead. Accept and it runs 2 questions per level, 30s each, no manpages. Miss one and that's your starting level.

Easter eggs

8 hidden achievements. The Stats screen shows how many you've found.

Controls

KeyAction
EnterSubmit answer
TabToggle manpage
Ctrl+dQuit (session summary)
EscVi normal mode
?All keybindings (normal mode)

Data

Progress saves to ${XDG_DATA_HOME:-~/.local/share}/cmdchamp/.

License

MIT

Categories