Skip to main content

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:

  1. Create a practice tree with nested directories
  2. Move into the deepest directory with a relative path
  3. Return to the previous directory with cd -
  4. Create three files using one command pattern
  5. Copy one file, rename another, and move a third
  6. Verify the result with find or ls -R

Phase 2: Streams and Redirection

Complete each task and write down what happened to stdout and stderr:

  1. Save normal command output to a file
  2. Append additional output to the same file
  3. Redirect an error message into its own file
  4. Use tee to display and save a stream at the same time
  5. Build one three-stage pipeline over a set of text files

Phase 3: Process Control

Practice each control flow deliberately:

  1. Launch a long-running command
  2. Interrupt it with Ctrl+C
  3. Relaunch it, suspend it with Ctrl+Z, then resume with bg
  4. List jobs with jobs
  5. Find the process with ps
  6. Terminate it gracefully with kill -15

Phase 4: Applied Scenario

Simulate a small engineering task:

  1. Create a new project folder
  2. Add src, tests, and docs
  3. Create placeholder files
  4. Save the full tree listing to structure.txt
  5. Search for one string across the project
  6. 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, or kill correctly at least once
  • You repeated any failed task until it felt routine