
cmdchamp v1.2.15
bash CLI 트레이너 — ls부터 권한 상승까지 30단계
cmdchamp
Bash CLI 트레이너 — ls부터 권한 상승까지 30개 레벨.

모든 문제는 실제 명령어를 입력하도록 요구합니다 — 즉각적인 피드백을 받고 계속 진행하세요. 많은 문제가 샌드박스의 실제 파일을 대상으로 실행되며, 모든 문제는 여러 유효한 구문을 허용합니다 (sort -u 또는 sort | uniq). 참고가 필요할 때 Tab을 누르면 매뉴얼 페이지가 토글되고, 매 실행마다 순서가 무작위화되어 암기할 수 없습니다. 마스터리 시스템은 사용자가 아는 것을 추적합니다: 문제를 두 번 맞히면 마스터하고, 틀리면 강등되어 더 빨리 다시 나타납니다. 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는 터미널이 실제로 표시할 수 있는 것을 감지하고 세 가지 렌더링 계층 중 하나를 선택합니다 — 유니코드, 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, 정규식 |
| 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초, 매뉴얼 페이지 없이 진행됩니다. 하나라도 틀리면 그 레벨이 시작 레벨이 됩니다.
이스터 에그
숨겨진 업적 8개. 통계 화면에서 찾은 개수를 확인할 수 있습니다.
조작
| 키 | 동작 |
|---|---|
| Enter | 답변 제출 |
| Tab | 매뉴얼 페이지 토글 |
| Ctrl+d | 종료 (세션 요약) |
| Esc | Vi 일반 모드 |
| ? | 모든 키 바인딩 (일반 모드) |
데이터
진행 상황은 ${XDG_DATA_HOME:-~/.local/share}/cmdchamp/에 저장됩니다.
라이선스
MIT