Command-Line Proficiency Workshop
Purpose: Build shell fluency through predicted, observed and explained practical tasks
Time Required: 90-120 minutes
Output: One completed shell drill log with correction notes
Workshop Overview
This workshop converts Cluster 1 concepts into muscle memory. The goal is not theoretical understanding alone. The goal is to make inspection, navigation, redirection, and process control feel ordinary.
Pre-Workshop Requirements
- Completed Cluster 1 concept pages
- Passed the Cluster 1 integration checks
- Have access to a practice directory where you can create and remove files safely
Phase 1: Navigation and Files
Use a new disposable folder and inspect pwd first. Timing is for planning, not passing. Complete each task using shell commands or an accessible equivalent that preserves the same operations:
- Create a practice tree with nested directories
- Move into the deepest directory with a relative path
- Return to the previous directory with
cd - - Create three files using one command pattern
- Copy one file, rename another, and move a third
- Verify the result with
findorls -R
Phase 2: Streams and Redirection
Complete each task and write down what happened to stdout and stderr:
- Save normal command output to a file
- Append additional output to the same file
- Redirect an error message into its own file
- Use
teeto display and save a stream at the same time - Build one three-stage pipeline over a set of text files
Phase 3: Process Control
Practice each control flow deliberately:
- Launch
sleep 120in an interactive shell; it needs no server, account or Python - Interrupt it with
Ctrl+C - Relaunch it, suspend it with
Ctrl+Z, then resume withbg - List jobs with
jobs - Find the process with
ps - Read its PID from
jobs -l, inspect only that PID withps -p PID(replacePIDwith the observed number), and request termination withkill -15 PID. Never select an unrelated process
Phase 4: Applied Scenario
Simulate a small engineering task:
- Create a new project folder
- Add
src,tests, anddocs - Create placeholder files
- Save the full tree listing to
structure.txt - Search for one string across the project
- Start
sleep 120and manage that practice job correctly; a local server is optional
Error Review
After each section, write:
- what you got wrong
- what command or concept caused the error
- what faster or safer version you would use next time
Completion Standard
- You finished all four phases and can explain the commands; accessibility tools are permitted
- You can explain where stdout and stderr went in your redirection exercises
- You demonstrated interrupt, suspend, resume and termination of your own job; job control requires a supported interactive shell
- You repeated any failed task until it felt routine