Retour aux mises à jour
New releaseJul 30, 2026

cmdchamp v1.2.15

entraîneur de CLI bash — 30 niveaux de ls à l'escalade de privilèges

Partager

cmdchamp

Entraîneur CLI Bash — 30 niveaux, de ls à l'élévation de privilèges.

demo

Chaque question vous demande de saisir une vraie commande — obtenez un retour immédiat, puis passez à la suite. Beaucoup s'exécutent sur de vrais fichiers dans le sandbox, et toutes acceptent plusieurs syntaxes valides (sort -u ou sort | uniq). La touche Tab affiche la page de man lorsque vous avez besoin d'une référence, et l'ordre est randomisé à chaque exécution pour que vous ne puissiez pas le mémoriser. La maîtrise suit ce que vous savez : répondez correctement deux fois à une question pour la maîtriser, ratez-la et elle est rétrogradée pour revenir plus tôt. Une série de 5 bonnes réponses déclenche le mode feu — une bannière qui reste affichée jusqu'à ce que vous vous trompiez.

Chaque niveau se termine par un boss — pas de pages de man, chronomètre de 30 s, 4/5 pour réussir. En cas d'échec, vous pouvez réessayer le boss immédiatement ou retourner vous entraîner. Battez les 30 niveaux et le mode défi se débloque : chaque niveau, chronomètre de 20 s, pas de pages de man, une seule erreur et c'est fini. La première exécution inclut un court tutoriel et un test de placement qui vous permet de sauter les niveaux que vous connaissez déjà.

Avec bubblewrap, les commandes s'exécutent dans un vrai système de fichiers sandboxé. Sans lui, les réponses sont comparées par texte. Les niveaux de recherche (16-17) acceptent aussi bien la syntaxe rg/fd que grep/find. Édition de ligne Vi intégrée.

Installation

Arch (AUR) :

paru -S cmdchamp   # or: yay -S cmdchamp

N'importe où (fichier unique) :

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

Ajoutez ~/.local/bin à votre PATH si nécessaire : echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc

Ou clonez :

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

Prérequis : bash 4.4+, coreutils, awk

macOS : Livré avec bash 3.2 — installez d'abord bash 4.4+ : brew install bash

Optionnel : bubblewrap (bwrap) pour le mode sandbox (Linux uniquement) — la plupart des distributions de bureau l'incluent. Sans lui, les réponses sont uniquement comparées par texte

Accessibilité : Respecte NO_COLOR et TERM=dumb. La mise en page s'adapte à COLUMNS / tput cols. Les barres de maîtrise portent à la fois la couleur et un symbole / ~ / x — lisibles sans couleur.

Terminaux : Fonctionne sur de vrais terminaux série, pas seulement des émulateurs. cmdchamp sonde ce que le terminal peut réellement afficher et choisit l'un des trois niveaux de rendu — unicode, dessin de ligne DEC ACS, ou ASCII pur — afin que les cadres restent intacts sur un VT100/VT220/VT320/VT420 ou Wyse. Sur un écran monochrome, les distinctions de couleurs sont réencodées en gras/inverse. Forcez un niveau avec CMDCHAMP_ASCII=1 ou CMDCHAMP_UNICODE=1. ./test_terminals.sh le vérifie.

Utilisation

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

Le menu comprend : continuer, nouvelle partie, scénarios, mode défi, statistiques et options. Les raccourcis 1–7 accèdent directement à un élément ; j/k ou les flèches déplacent le curseur ; Entrée sélectionne.

Niveaux

#NomSujet
Fondamentaux
1Premiers paspwd, ls, echo, cd, mkdir
2Bases des fichierscp, mv
3Sauvegardez votre travail>, >>, tee
4Lire des fichierscat, head, tail, less
5Tuyaux de basepipes, grep, wc, sort, uniq
6Entrée et here-strings<, <<<, tr, cut, rev, bc
7Gestion des erreurs2>, 2>&1, &>, /dev/null
8Portes logiques&&, ||
9Variables$VAR, affectation, expansion
10Variables spéciales$$, $?, $!, $#, $@, $0
11Contrôle des travauxbg, fg, jobs, &, Ctrl+Z
12Conditions de test-f, -d, -z, -n, -eq, -lt
13Outils fichiers essentielscp, mv, ln, chmod, du, tar, diff
14Administration systèmeping, df, free, ss, systemctl, ip
15Multiplexeurstmux : sessions, fenêtres, volets
16Recherche de textegrep, ripgrep, regex
17Localisation de fichiersfind, fd, par nom/taille/date/type
18Traitement de donnéessort, uniq, cut, awk, tr, comm
19Chaînes et tableauxexpansion de paramètres, tableaux
20Flux de contrôleif/else, boucles, case, fonctions
21Opérations par lotsfind -exec, xargs, sed -i, crontab
22Regex avancéeslookahead, sed, awk
DevOps et Sécurité
23Gitbranches, dépôts distants, rebasage, stash, bisect
24Outils réseautshark, curl, jq, tunnels SSH, openssl, SMB
25Scan réseaunmap, détection de services, scripts
26WiFi et RFaircrack-ng, netcat, tcpdump, reconnaissance sans fil
27Craquage de hashshashcat, john, hydra, encodage
28Forensiquestrings, readelf, binwalk, volatility, exiftool
29Élévation de privilègesSUID, GTFOBins, énumération
30ROOTrécupération d'urgence, chroot, survie hors ligne

Scénarios

Défis sandbox en plusieurs étapes — l'état persiste entre les étapes. Disponibles depuis le menu Scénarios une fois le boss de déblocage vaincu.

#NomDébloqué auÉtapes
1Verrouillage des permissionsL13 boss6
2Archivage et extractionL13 boss6
3Trouver l'aiguilleL16 boss7
4CSV désordonnéL18 boss4
5L'incidentL18 boss5
6Le déploiement casséL21 boss7
7Urgence de logsL21 boss5
8Chirurgie de configL21 boss5
9Sauvetage GitL23 boss6
10Refactorisation par lotsL21 boss6
11Balayage forensiqueL22 boss6

Test de placement

Après le tutoriel de première exécution, on vous demande si vous souhaitez passer le test de placement pour avancer plus vite. Acceptez et il pose 2 questions par niveau, 30 s chacune, sans pages de man. Une seule erreur et c'est votre niveau de départ.

Œufs de Pâques

8 succès cachés. L'écran des statistiques indique combien vous en avez trouvés.

Raccourcis clavier

ToucheAction
EntréeSoumettre la réponse
TabAfficher/masquer la page de man
Ctrl+dQuitter (résumé de session)
ÉchapMode normal Vi
?Tous les raccourcis clavier (mode normal)

Données

La progression est sauvegardée dans ${XDG_DATA_HOME:-~/.local/share}/cmdchamp/.

Licence

MIT

Catégories