Назад к обновлениям
New releaseJul 30, 2026

cmdchamp v1.2.15

тренажёр bash CLI — 30 уровней от ls до повышения привилегий

Поделиться

cmdchamp

Bash CLI-тренажёр — 30 уровней от ls до повышения привилегий.

demo

Каждый вопрос требует ввести реальную команду — мгновенная обратная связь, двигаемся дальше. Многие выполняются на реальных файлах в песочнице, и все принимают несколько допустимых вариантов синтаксиса (sort -u или sort | uniq). Tab переключает man-страницу, когда нужна подсказка, а порядок вопросов рандомизируется при каждом запуске, так что заучить его не получится. Система освоения отслеживает ваши знания: ответьте на вопрос правильно дважды, чтобы освоить его; ошибётесь — и он понижается, поэтому возвращается раньше. Серия из 5 правильных ответов запускает fire-режим — баннер, который действует, пока вы не ошибётесь.

Каждый уровень завершается босс-раундом — без man-страниц, таймер 30 секунд, для прохождения нужно 4/5. При провале можно сразу повторить босса или вернуться к практике. Пройдите все 30 — и откроется режим испытания: каждый уровень, таймер 20 секунд, без man-страниц, одна ошибка — и вы выбываете. Первый запуск включает короткое обучение и тест на определение уровня, который позволяет пропускать уже знакомые уровни.

Благодаря bubblewrap команды выполняются в настоящей изолированной файловой системе. Без него ответы сравниваются по тексту. Уровни поиска (16-17) принимают как синтаксис rg/fd, так и grep/find. Встроено редактирование строки в стиле Vi.

Установка

Arch (AUR):

paru -S cmdchamp   # or: yay -S cmdchamp

Где угодно (один файл):

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

Добавьте ~/.local/bin в PATH, если нужно: echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc

Или склонируйте:

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

Требуется: bash 4.4+, coreutils, awk

macOS: Поставляется с bash 3.2 — сначала установите bash 4.4+: brew install bash

Необязательно: bubblewrap (bwrap) для режима песочницы (только Linux) — в большинстве дистрибутивов для десктопа он уже есть. Без него ответы только сравниваются по тексту.

Доступность: Учитывает NO_COLOR и TERM=dumb. Раскладка адаптируется под COLUMNS / tput cols. Полосы освоения имеют и цвет, и символ / ~ / x — читается без цвета.

Терминалы: Работает на настоящих последовательных терминалах, а не только в эмуляторах. cmdchamp проверяет, что терминал реально умеет отображать, и выбирает один из трёх уровней отрисовки — unicode, DEC ACS псевдографика или чистый ASCII, — поэтому рамки сохраняются на VT100/VT220/VT320/VT420 или Wyse. На монохромном экране цветовые различия перекодируются в жирный/инверсный. Можно принудительно задать уровень с помощью CMDCHAMP_ASCII=1 или CMDCHAMP_UNICODE=1. ./test_terminals.sh проверяет это.

Использование

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

В меню есть продолжение, новая игра, сценарии, режим испытания, статистика и настройки. Горячие клавиши 1–7 сразу переходят к пункту; j/k или стрелки перемещают; Enter выбирает.

Уровни

#НазваниеФокус
Основы
1Первые шагиpwd, ls, echo, cd, mkdir
2Основы работы с файламиcp, mv
3Сохраняйте свою работу>, >>, tee
4Чтение файловcat, head, tail, less
5Основы конвейеровконвейеры, grep, wc, sort, uniq
6Ввод и here-строки<, <<<, tr, cut, rev, bc
7Обработка ошибок2>, 2>&1, &>, /dev/null
8Логические операторы&&, ||
9Переменные$VAR, присваивание, подстановка
10Специальные переменные$$, $?, $!, $#, $@, $0
11Управление заданиямиbg, fg, jobs, &, Ctrl+Z
12Условия проверки-f, -d, -z, -n, -eq, -lt
13Основные файловые инструментыcp, mv, ln, chmod, du, tar, diff
14Системное администрированиеping, df, free, ss, systemctl, ip
15Мультиплексорыtmux: сессии, окна, панели
16Поиск текстаgrep, ripgrep, regex
17Поиск файловfind, fd, по имени/размеру/времени/типу
18Обработка данныхsort, uniq, cut, awk, tr, comm
19Строки и массивыподстановка параметров, массивы
20Управляющие конструкцииif/else, циклы, case, функции
21Пакетные операцииfind -exec, xargs, sed -i, crontab
22Продвинутые регулярные выраженияопережающая проверка, sed, awk
DevOps и безопасность
23Gitветки, удалённые репозитории, перебазирование, stash, bisect
24Сетевые инструментыtshark, curl, jq, ssh-туннели, openssl, SMB
25Сканирование сетиnmap, определение сервисов, скрипты
26WiFi и RFaircrack-ng, netcat, tcpdump, разведка беспроводных сетей
27Взлом хэшейhashcat, john, hydra, кодирование
28Форензикаstrings, readelf, binwalk, volatility, exiftool
29Повышение привилегийSUID, GTFOBins, перечисление
30ROOTаварийное восстановление, chroot, выживание в офлайне

Сценарии

Многошаговые задания в песочнице — состояние сохраняется между шагами. Доступны из меню Сценарии после прохождения босса, открывающего их.

#НазваниеОткрывается послеШаги
1Блокировка доступабосса 13 уровня6
2Архивация и извлечениебосса 13 уровня6
3Найти иголкубосса 16 уровня7
4Грязный CSVбосса 18 уровня4
5Инцидентбосса 18 уровня5
6Сломанный деплойбосса 21 уровня7
7Аварийные логибосса 21 уровня5
8Правка конфиговбосса 21 уровня5
9Спасение Gitбосса 23 уровня6
10Пакетный рефакторингбосса 21 уровня6
11Форензик-обследованиебосса 22 уровня6

Тест на определение уровня

После обучения при первом запуске вас спрашивают, хотите ли вы пройти тест на определение уровня, чтобы перепрыгнуть вперёд. Если согласиться, будет 2 вопроса на уровень, по 30 секунд на каждый, без man-страниц. Одна ошибка — и это ваш стартовый уровень.

Пасхальные яйца

8 скрытых достижений. Экран статистики показывает, сколько вы нашли.

Управление

КлавишаДействие
EnterОтправить ответ
TabПереключить man-страницу
Ctrl+dВыйти (сводка сессии)
EscОбычный режим Vi
?Все сочетания клавиш (обычный режим)

Данные

Прогресс сохраняется в ${XDG_DATA_HOME:-~/.local/share}/cmdchamp/.

Лицензия

MIT

Категории