Skip to main content

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:

  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 sleep 120 in an interactive shell; it needs no server, account or Python
  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. Read its PID from jobs -l, inspect only that PID with ps -p PID (replace PID with the observed number), and request termination with kill -15 PID. Never select an unrelated process

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 sleep 120 and 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