Phase 0: Command Line & OS Literacy · ~30 minutes · Terminal · bash/zsh
Navigating Without a Mouse
cd reports/ and cd /reports/ can land you in two completely different places, with no error either way. The shell trusts you know which one you meant.
Hiring signal: Never gets silently lost in a filesystem — reasons about relative vs. absolute paths deliberately, not by trial and error
What you will learn
- Explain the shell as a program that reads commands and runs other programs, not a UI layer
- Explain the filesystem as a tree, and navigate it with pwd/ls/cd
- Distinguish absolute paths from relative paths and predict where a cd command lands
- Recognize the silent-wrong-location trap of an unintended relative vs. absolute path
Introduction
Type: Learn Languages: Bash / Zsh Prerequisites: Programming & CS Foundations (or equivalent) Time: ~30 minutes
Objective
Learning objectives
- Explain the shell as a program that reads commands and runs other programs, not a UI layer
- Explain the filesystem as a tree, and navigate it with
pwd/ls/cd - Distinguish absolute paths from relative paths and predict where a
cd command lands - Recognize the silent-wrong-location trap of an unintended relative vs. absolute path
What you're building
Using a real directory tree with at least 3 levels of nesting and at least 5 files spread across different branches (create one with mkdir -p and touch, or use one provided in the lab):
- Locate 3 specific named files using only relative paths from a fixed starting directory, recording the exact
cd sequence used for each - Return to the starting directory (
cd back, or use the fact that cd - returns to your previous directory) and locate the same 3 files again using only absolute paths - A short written note (
navigation_notes.txt) stating, for one of the three files, what would have happened if you'd typed the relative-path version while actually standing somewhere else in the tree
Starting directory: /home/ada/projects. Command: cd website/../api. What is the resulting working directory?
Read it left to right, one step at a time, exactly as the lesson's predict block demonstrated: starting at /home/ada/projects, website moves into /home/ada/projects/website, then .. moves back up one level to /home/ada/projects, then api moves into /home/ada/projects/api. Combining real names and .. in the same path is completely valid — the shell just processes each component in order, and a .. simply undoes the most recent step rather than being some special restricted syntax.
Unlock the full lesson
You've read the first 2 sections. The rest of this lesson covers The Problem, Check Yourself, Key Terms & Next — plus a hands-on lab, quiz, and project artifact.
Create a free account to unlock Phase 0 and Phase 1 of every course — no credit card.
Browse all courses · View pricing · DeVenture Academy