返回更新列表
新发布Aug 13, 2026

cmdchamp v1.3.0

bash CLI 训练器 — 从 ls 到权限提升的 30 个级别

分享

cmdchamp

Bash CLI 训练器 — 从 ls 到权限提升共 30 个关卡。

演示

每道题都要求你输入一条真实命令——即刻获得反馈,然后继续。许多命令会在沙盒中针对真实文件运行,且所有题目都接受多种合法语法(sort -usort | uniq)。需要参考时,按 Tab 可切换手册页;每次运行的顺序都会随机打乱,让你无法死记硬背。掌握度会记录你的掌握情况:答对两次即为掌握;答错则会降级,从而更快再次出现。连续答对 5 题会触发连击模式——一个会一直显示到答错的横幅。

每个关卡最后都有 Boss 轮——没有手册页、30 秒倒计时、需答对 4/5 才能通过。失败后可以立即重试 Boss,或返回练习。通关全部 30 关后解锁挑战模式:每个关卡 20 秒倒计时、没有手册页、答错一次即结束。首次运行包含一个简短教程和一个定级测试,可让你跳过已经掌握的关卡。

使用 bubblewrap 后,命令将在真实的沙盒文件系统中运行。没有它时,答案仅通过文本匹配。搜索关卡(16-17)同时接受 rg/fdgrep/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

可选: 用于沙盒模式的 bubblewrapbwrap)(仅限 Linux)——大多数桌面发行版已包含。没有它时,答案将仅通过文本匹配。

无障碍: 支持 NO_COLORTERM=dumb。布局会适配 COLUMNS / tput cols。掌握进度条同时带有颜色和 / ~ / x 符号——在无颜色环境下也可读。

终端: 可在真实串行终端上运行,而不仅是模拟器。cmdchamp 会探测终端实际可显示的内容,并从三种渲染层次中选择一种——unicode、DEC ACS 线条绘制或纯 ASCII——因此在 VT100/VT220/VT320/VT420 或 Wyse 上也能保持画面完整。在单色屏幕上,颜色区分会被重新编码为粗体/反色。可使用 CMDCHAMP_ASCII=1CMDCHAMP_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 或方向键移动;回车选择。

关卡

#名称重点
基础
1第一步pwd, ls, echo, cd, mkdir
2文件基础cp, mv
3保存工作>, >>, tee
4读取文件cat, head, tail, less
5基础管道管道, grep, wc, sort, uniq
6输入与 Here-Strings<, <<<, 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分支, 远程, 变基, 暂存, 二分查找
24网络工具tshark, curl, jq, ssh 隧道, openssl, SMB
25网络扫描nmap, 服务检测, 脚本
26WiFi 与射频aircrack-ng, netcat, tcpdump, 无线侦察
27哈希破解hashcat, john, hydra, 编码
28取证strings, readelf, binwalk, volatility, exiftool
29权限提升SUID, GTFOBins, 枚举
30ROOT紧急恢复, chroot, 离线生存

场景

多步骤沙盒挑战——状态会在步骤之间保留。通关解锁 Boss 后,可从 场景 菜单进入。

#名称解锁条件步骤
1权限锁定L13 Boss6
2归档与解压L13 Boss6
3海底捞针L16 Boss7
4杂乱的 CSVL18 Boss4
5安全事件L18 Boss5
6故障部署L21 Boss7
7日志紧急事件L21 Boss5
8配置手术L21 Boss5
9Git 救援L23 Boss6
10批量重构L21 Boss6
11取证扫描L22 Boss6

定级测试

在首次运行的教程之后,系统会询问你是否要参加定级测试以跳到更靠后的关卡。接受后,它会每个关卡出 2 道题,每题 30 秒,没有手册页。答错一题,那就是你的起始关卡。

彩蛋

共有 8 个隐藏成就。统计界面会显示你发现了多少个。

操作

按键操作
Enter提交答案
Tab切换手册页
Ctrl+d退出(会话摘要)
EscVi 普通模式
?所有按键绑定(普通模式)

数据

进度保存到 ${XDG_DATA_HOME:-~/.local/share}/cmdchamp/

许可证

MIT

分类