
cmdchamp v1.2.15
bash CLI トレーナー — lsから権限昇格までの30レベル
cmdchamp
Bash CLI トレーナー — ls から特権昇格までの 30 レベル。

すべての問題は実際のコマンドを入力することを要求します。即座にフィードバックが得られ、先に進めます。多くはサンドボックス内の実ファイルに対して実行され、すべての解答で複数の正しい構文(sort -u または sort | uniq)を受け付けます。Tabキーでマニュアルページを切り替えられ、実行ごとに順序がランダム化されるため暗記はできません。マスタリーはあなたが知っていることを追跡します: 同じ問題に2回正解するとマスター、外すと降格してすぐに再出題されます。5問連続正解でファイアモードが発動します — 外すまで表示されるバナーです。
各レベルはボスラウンドで締めくくられます — マニュアルページなし、30秒のタイマー、合格には4/5が必要。失敗した場合は、ボスをすぐに再挑戦するか、練習に戻ることができます。全30レベルをクリアするとチャレンジモードが解放されます: 全レベル、20秒のタイマー、マニュアルページなし、一度ミスしたら終了です。初回実行時には短いチュートリアルと、すでに知っているレベルをスキップできるプレイスメントテストが含まれます。
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 は端末が実際に表示できるものを調べ、3つのレンダリング層のいずれかを選択します — 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 | 基本パイプ | pipes, grep, wc, sort, uniq |
| 6 | 入力とヒア文字列 | <, <<<, 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, 正規表現 |
| 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 とセキュリティ | ||
| 23 | Git | ブランチ, リモート, リベース, スタッシュ, bisect |
| 24 | ネットワークツール | tshark, curl, jq, SSHトンネル, openssl, SMB |
| 25 | ネットワークスキャン | nmap, サービス検出, スクリプト |
| 26 | WiFi と RF | aircrack-ng, netcat, tcpdump, 無線偵察 |
| 27 | ハッシュクラッキング | hashcat, john, hydra, エンコーディング |
| 28 | フォレンジック | strings, readelf, binwalk, volatility, exiftool |
| 29 | 特権昇格 | SUID, GTFOBins, 列挙 |
| 30 | ROOT | 緊急リカバリ, chroot, オフラインサバイバル |
シナリオ
複数ステップのサンドボックスチャレンジ — ステップ間で状態が保持されます。アンロックボスをクリアすると、シナリオ メニューから利用できます。
| # | 名前 | 解放条件 | ステップ数 |
|---|---|---|---|
| 1 | 権限ロックアウト | L13 ボス | 6 |
| 2 | アーカイブと展開 | L13 ボス | 6 |
| 3 | 針を見つけろ | L16 ボス | 7 |
| 4 | 汚れたCSV | L18 ボス | 4 |
| 5 | インシデント | L18 ボス | 5 |
| 6 | 壊れたデプロイ | L21 ボス | 7 |
| 7 | ログ緊急事態 | L21 ボス | 5 |
| 8 | 設定手術 | L21 ボス | 5 |
| 9 | Gitレスキュー | L23 ボス | 6 |
| 10 | バッチリファクタリング | L21 ボス | 6 |
| 11 | フォレンジックスイープ | L22 ボス | 6 |
プレイスメントテスト
初回実行のチュートリアルの後、先にスキップするためにプレイスメントテストを受けるかどうか尋ねられます。受けると、各レベル2問、各30秒、マニュアルページなしで実行されます。1問外すと、そこが開始レベルになります。
イースターエッグ
隠し実績が8つあります。統計画面で、見つけた数を確認できます。
操作
| キー | 操作 |
|---|---|
| Enter | 回答を送信 |
| Tab | マニュアルページを切り替え |
| Ctrl+d | 終了(セッションの要約) |
| Esc | Viノーマルモード |
| ? | すべてのキーバインド(ノーマルモード) |
データ
進捗は ${XDG_DATA_HOME:-~/.local/share}/cmdchamp/ に保存されます。
ライセンス
MIT