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.
/home/learner/workshoplsdrafts/ release/
drafts/story.txtPreserved ✓Original file remains untouched.
release/story.txtWaiting…Run the copy command to check this off.
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.
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.
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.
Choose from 27 Practical Courses
Click a course to open its first mission in the workbench.
Linux / Shell Basics
Practice file navigation, safe copying, and symlinks with live filesystem state.
Start in Workbench →Bash / Conditions & Env
Master exit codes, conditional chaining, and environment variable scopes.
Start in Workbench →Pipes & Streams
Inspect stdout/stderr redirection, multi-stage pipelines, and pipefail.
Start in Workbench →find / rg / sed / awk
Search, filter, and transform logs and config files safely.
Start in Workbench →tar / gzip / ZIP / SHA256
Create and extract archives and verify integrity with SHA256 digests.
Start in Workbench →Git / History & Branches
Visualize working tree, index, branches, stash, reset, and rebase.
Start in Workbench →GitHub CLI / PRs & CI
Inspect pull requests, review statuses, and failed CI runs with gh.
Start in Workbench →Docker & Compose
Experiment with image builds, container layers, volumes, networks, and Compose.
Start in Workbench →Kubernetes / kubectl
Diagnose and reconcile Pods, Deployments, Services, and Jobs with kubectl.
Start in Workbench →vi Editor Basics
Learn modal editing, line operations, and saving files in vi.
Start in Workbench →Vim / Visual & History
Practice Visual selection ranges, search, and undo history in Vim.
Start in Workbench →GNU nano Editor
Edit files, search text, and handle write/exit prompts in nano.
Start in Workbench →tmux / Multiplexer
Manage sessions, windows, panes, and detached background jobs.
Start in Workbench →Node.js / npm
Manage package.json manifests, lockfiles, and npm scripts.
Start in Workbench →pnpm / Workspaces
Explore content-addressable store, frozen lockfiles, and workspaces.
Start in Workbench →Python / venv & pytest
Isolate virtual environments, install packages, and run pytest suites.
Start in Workbench →uv / Python Packaging
Synchronize pyproject.toml, uv.lock, and .venv environments.
Start in Workbench →Make & C Build
Understand compile vs. link stages and mtime-driven incremental builds.
Start in Workbench →CMake / Ninja / CTest
Configure out-of-source build trees, Ninja targets, and CTest runs.
Start in Workbench →GDB / Debugging
Inspect breakpoints, backtraces, stack frames, and local variables.
Start in Workbench →System / Perms & Processes
Inspect file permissions, PATH lookup, process signals, and disk usage.
Start in Workbench →systemctl / journalctl
Diagnose service units, daemon-reload, enable vs. start, and journals.
Start in Workbench →SSH / rsync / SFTP
Practice remote diagnostics, rsync transfers, and interactive SFTP.
Start in Workbench →HTTP / curl Requests
Inspect HTTP status codes, headers, and API payloads with curl.
Start in Workbench →JSON / jq Filtering
Query and reshape nested JSON data structures with jq.
Start in Workbench →SQLite / SQL & CSV
Run SQL queries, transactions, and CSV imports/exports in sqlite3.
Start in Workbench →PostgreSQL / psql
Handle psql connections, failed transactions, rollbacks, and savepoints.
Start in Workbench →