Command-Line Proficiency Workshop
Purpose: Build shell fluency through repeated, timed, 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
Complete each task using only shell commands:
- 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 a long-running command
- Interrupt it with
Ctrl+C - Relaunch it, suspend it with
Ctrl+Z, then resume withbg - List jobs with
jobs - Find the process with
ps - Terminate it gracefully with
kill -15
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 a local server or long-running command and manage it correctly
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 without opening a GUI file manager
- You can explain where stdout and stderr went in your redirection exercises
- You used
bg,fg, orkillcorrectly at least once - You repeated any failed task until it felt routine