CLI Campus
BROWSER-LOCAL CLI WORKBENCH · 27 COURSES / 369 MISSIONS

Learn command-line tools.
In your browser.

No setup, no login. Practice Linux, Git, Docker, Kubernetes, and SQL in a virtual environment inside your browser, and check the results with commands such as ls, cat, and git status, as you would at work.

The interface is available in English. Mission instructions are currently in Japanese.

27CLI & Infra Courses
369Hands-on Missions
0sSetup Time
LIVE PREVIEW — Mission 01: Copy while preserving original
STEP 1 · TERMINAL/home/learner/workshop
$ls
drafts/   release/
$
TO DO1/2 Passed
  • drafts/story.txtPreserved ✓

    Original file remains untouched.

  • release/story.txtWaiting…

    Run the copy command to check this off.

STEP 01 · GOAL

1. Read the mission

Each mission starts with the situation and what to do. The current step stays on the line under the prompt, and ^G opens the full to-do list. Stuck? /hint gives hints one step at a time.

STEP 02 · TERMINAL

2. Type commands

Tab completion and ↑↓ history work as in a terminal, and / lists the workbench commands. Everything runs in a virtual environment, so mistakes never touch your computer, and /reset starts the mission over.

STEP 03 · CHECK

3. Check the result yourself

As at work, you confirm the result with commands: cat, ls, git status, docker ps, kubectl get. /diff lists what changed since the mission started.

EXPLORE COURSES

Choose from 27 Practical Courses

Click a course to open its first mission in the workbench.

Linux20 missions

Linux / Shell Basics

Practice file navigation, safe copying, and symlinks with live filesystem state.

Start in Workbench →
Bash8 missions

Bash / Conditions & Env

Master exit codes, conditional chaining, and environment variable scopes.

Start in Workbench →
Pipe10 missions

Pipes & Streams

Inspect stdout/stderr redirection, multi-stage pipelines, and pipefail.

Start in Workbench →
Text8 missions

find / rg / sed / awk

Search, filter, and transform logs and config files safely.

Start in Workbench →
Archive13 missions

tar / gzip / ZIP / SHA256

Create and extract archives and verify integrity with SHA256 digests.

Start in Workbench →
Git44 missions

Git / History & Branches

Visualize working tree, index, branches, stash, reset, and rebase.

Start in Workbench →
GitHub7 missions

GitHub CLI / PRs & CI

Inspect pull requests, review statuses, and failed CI runs with gh.

Start in Workbench →
Docker59 missions

Docker & Compose

Experiment with image builds, container layers, volumes, networks, and Compose.

Start in Workbench →
K8s31 missions

Kubernetes / kubectl

Diagnose and reconcile Pods, Deployments, Services, and Jobs with kubectl.

Start in Workbench →
vi7 missions

vi Editor Basics

Learn modal editing, line operations, and saving files in vi.

Start in Workbench →
Vim5 missions

Vim / Visual & History

Practice Visual selection ranges, search, and undo history in Vim.

Start in Workbench →
nano8 missions

GNU nano Editor

Edit files, search text, and handle write/exit prompts in nano.

Start in Workbench →
tmux8 missions

tmux / Multiplexer

Manage sessions, windows, panes, and detached background jobs.

Start in Workbench →
Node12 missions

Node.js / npm

Manage package.json manifests, lockfiles, and npm scripts.

Start in Workbench →
pnpm11 missions

pnpm / Workspaces

Explore content-addressable store, frozen lockfiles, and workspaces.

Start in Workbench →
Python8 missions

Python / venv & pytest

Isolate virtual environments, install packages, and run pytest suites.

Start in Workbench →
uv18 missions

uv / Python Packaging

Synchronize pyproject.toml, uv.lock, and .venv environments.

Start in Workbench →
Make9 missions

Make & C Build

Understand compile vs. link stages and mtime-driven incremental builds.

Start in Workbench →
CMake8 missions

CMake / Ninja / CTest

Configure out-of-source build trees, Ninja targets, and CTest runs.

Start in Workbench →
GDB12 missions

GDB / Debugging

Inspect breakpoints, backtraces, stack frames, and local variables.

Start in Workbench →
System12 missions

System / Perms & Processes

Inspect file permissions, PATH lookup, process signals, and disk usage.

Start in Workbench →
systemd7 missions

systemctl / journalctl

Diagnose service units, daemon-reload, enable vs. start, and journals.

Start in Workbench →
Remote14 missions

SSH / rsync / SFTP

Practice remote diagnostics, rsync transfers, and interactive SFTP.

Start in Workbench →
HTTP4 missions

HTTP / curl Requests

Inspect HTTP status codes, headers, and API payloads with curl.

Start in Workbench →
JSON1 missions

JSON / jq Filtering

Query and reshape nested JSON data structures with jq.

Start in Workbench →
SQLite8 missions

SQLite / SQL & CSV

Run SQL queries, transactions, and CSV imports/exports in sqlite3.

Start in Workbench →
Postgres17 missions

PostgreSQL / psql

Handle psql connections, failed transactions, rollbacks, and savepoints.

Start in Workbench →