
cmdchamp v1.2.15
entrenador de CLI bash — 30 niveles desde ls hasta escalada de privilegios
cmdchamp
Entrenador CLI de Bash — 30 niveles desde ls hasta escalada de privilegios.

Cada pregunta te pide escribir un comando real: obtén retroalimentación inmediata y continúa. Muchos se ejecutan contra archivos reales en el sandbox, y todos aceptan múltiples sintaxis válidas (sort -u o sort | uniq). Tab alterna la página de manual cuando necesitas una referencia, y el orden se aleatoriza en cada ejecución para que no puedas memorizarlo. El dominio registra lo que sabes: acierta una pregunta dos veces para dominarla; falla y se degrada para que vuelva antes. Una racha de 5 aciertos activa el modo fuego: un banner que se mantiene hasta que fallas.
Cada nivel termina con una ronda final (boss): sin páginas de manual, temporizador de 30 s, 4/5 para aprobar. Si fallas, puedes reintentar al jefe inmediatamente o volver a practicar. Supera los 30 y se desbloquea el modo desafío: todos los niveles, temporizador de 20 s, sin páginas de manual, un fallo y terminaste. La primera ejecución incluye un breve tutorial y una prueba de nivel que te permite saltarte los niveles que ya conoces.
Con bubblewrap, los comandos se ejecutan en un sistema de archivos real en sandbox. Sin él, las respuestas se comparan por texto. Los niveles de búsqueda (16-17) aceptan tanto sintaxis rg/fd como grep/find. Incluye edición de línea estilo Vi.
Instalación
Arch (AUR):
paru -S cmdchamp # or: yay -S cmdchamp
En cualquier sitio (archivo único):
mkdir -p ~/.local/bin && curl -sL https://raw.githubusercontent.com/mellen9999/cmdchamp/main/cmdchamp -o ~/.local/bin/cmdchamp && chmod +x ~/.local/bin/cmdchamp
Añade ~/.local/bin al PATH si es necesario: echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
O clonar:
git clone https://github.com/mellen9999/cmdchamp.git
cd cmdchamp && make install
Requisitos: bash 4.4+, coreutils, awk
macOS: Incluye bash 3.2 — instala bash 4.4+ primero: brew install bash
Opcional: bubblewrap (bwrap) para el modo sandbox (solo Linux) — la mayoría de las distribuciones de escritorio lo incluyen. Sin él, las respuestas solo se comparan por texto.
Accesibilidad: Respeta NO_COLOR y TERM=dumb. El diseño se adapta a COLUMNS / tput cols. Las barras de dominio usan color y un símbolo ✓ / ~ / x — legibles sin color.
Terminales: Se ejecuta en terminales serie reales, no solo en emuladores. cmdchamp sondea lo que la terminal puede mostrar realmente y elige uno de tres niveles de renderizado: unicode, dibujo de líneas DEC ACS o ASCII puro, para que los marcos se mantengan intactos en una VT100/VT220/VT320/VT420 o Wyse. En pantalla monocromática, las distinciones de color se convierten en negrita/inverso. Fuerza un nivel con CMDCHAMP_ASCII=1 o CMDCHAMP_UNICODE=1. ./test_terminals.sh lo verifica.
Uso
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
El menú contiene continuar, nueva partida, escenarios, modo desafío, estadísticas y opciones. Las teclas rápidas 1–7 saltan directamente a un elemento; j/k o las flechas mueven; Enter selecciona.
Niveles
| # | Nombre | Enfoque |
|---|---|---|
| Fundamentos | ||
| 1 | Primeros pasos | pwd, ls, echo, cd, mkdir |
| 2 | Conceptos básicos de archivos | cp, mv |
| 3 | Guarda tu trabajo | >, >>, tee |
| 4 | Leer archivos | cat, head, tail, less |
| 5 | Tuberías básicas | pipes, grep, wc, sort, uniq |
| 6 | Entrada y here-strings | <, <<<, tr, cut, rev, bc |
| 7 | Manejo de errores | 2>, 2>&1, &>, /dev/null |
| 8 | Compuertas lógicas | &&, || |
| 9 | Variables | $VAR, asignación, expansión |
| 10 | Variables especiales | $$, $?, $!, $#, $@, $0 |
| 11 | Control de trabajos | bg, fg, jobs, &, Ctrl+Z |
| 12 | Condiciones de prueba | -f, -d, -z, -n, -eq, -lt |
| 13 | Herramientas básicas de archivos | cp, mv, ln, chmod, du, tar, diff |
| 14 | Administración del sistema | ping, df, free, ss, systemctl, ip |
| 15 | Multiplexores | tmux: sesiones, ventanas, paneles |
| 16 | Búsqueda de texto | grep, ripgrep, regex |
| 17 | Localización de archivos | find, fd, por nombre/tamaño/tiempo/tipo |
| 18 | Procesamiento de datos | sort, uniq, cut, awk, tr, comm |
| 19 | Cadenas y arrays | expansión de parámetros, arrays |
| 20 | Flujo de control | if/else, bucles, case, funciones |
| 21 | Operaciones por lotes | find -exec, xargs, sed -i, crontab |
| 22 | Expresiones regulares avanzadas | lookahead, sed, awk |
| DevOps y Seguridad | ||
| 23 | Git | ramas, remotos, rebase, stash, bisect |
| 24 | Herramientas de red | tshark, curl, jq, túneles ssh, openssl, SMB |
| 25 | Escaneo de red | nmap, detección de servicios, scripts |
| 26 | WiFi y RF | aircrack-ng, netcat, tcpdump, reconocimiento inalámbrico |
| 27 | Craqueo de hashes | hashcat, john, hydra, codificación |
| 28 | Forense | strings, readelf, binwalk, volatility, exiftool |
| 29 | Escalada de privilegios | SUID, GTFOBins, enumeración |
| 30 | ROOT | recuperación de emergencia, chroot, supervivencia sin conexión |
Escenarios
Desafíos de sandbox de varios pasos: el estado persiste entre pasos. Disponibles desde el menú Escenarios una vez superes el jefe de desbloqueo.
| # | Nombre | Se desbloquea en | Pasos |
|---|---|---|---|
| 1 | Bloqueo de permisos | Jefe L13 | 6 |
| 2 | Archivar y extraer | Jefe L13 | 6 |
| 3 | Encuentra la aguja | Jefe L16 | 7 |
| 4 | CSV desordenado | Jefe L18 | 4 |
| 5 | El incidente | Jefe L18 | 5 |
| 6 | El despliegue roto | Jefe L21 | 7 |
| 7 | Emergencia de registros | Jefe L21 | 5 |
| 8 | Cirugía de configuración | Jefe L21 | 5 |
| 9 | Rescate de Git | Jefe L23 | 6 |
| 10 | Refactorización por lotes | Jefe L21 | 6 |
| 11 | Barrido forense | Jefe L22 | 6 |
Prueba de nivel
Después del tutorial de la primera ejecución, se te pregunta si quieres hacer la prueba de nivel para saltar hacia adelante. Si aceptas, ejecuta 2 preguntas por nivel, 30 s cada una, sin páginas de manual. Si fallas una, ese es tu nivel de inicio.
Huevos de pascua
8 logros ocultos. La pantalla de estadísticas muestra cuántos has encontrado.
Controles
| Tecla | Acción |
|---|---|
| Enter | Enviar respuesta |
| Tab | Alternar página de manual |
| Ctrl+d | Salir (resumen de sesión) |
| Esc | Modo normal Vi |
| ? | Todos los atajos (modo normal) |
Datos
El progreso se guarda en ${XDG_DATA_HOME:-~/.local/share}/cmdchamp/.
Licencia
MIT