Skip to main content

Terminal

Why does the terminal exist?

When you use a computer normally, you click things. Open a file. Drag it to a folder. Right-click and rename it. That works fine for everyday tasks.

But clicking has limits. You can only do what someone built a button for. And some tasks — like "rename 400 files using this pattern" or "search for a word inside every file in this folder" — would take hours by clicking, but take one line in the terminal.

The terminal lets you skip the buttons and talk directly to your computer.

Instead of clicking File > New Folder, you type mkdir projects. Instead of opening every CSV to find the one that mentions a customer, you type grep "CustomerName" *.csv and get results across every file instantly.

For data work specifically, this matters a lot. Every serious tool you will use — dbt, Python, Git — runs from the terminal. You cannot get far without it.

What You'll Learn

  • Navigating the filesystem (pwd, ls, cd)
  • Creating, copying, moving, and deleting files
  • Reading file contents without opening a text editor

How This Works

Each lesson explains a command or concept, then drops you into an interactive terminal playground at the bottom of the page. The playground runs a real shell (in your browser — no server required) against a pre-built filesystem.

Your goal for each lesson appears in the left panel. When the sandbox detects that you have completed it, the lesson is marked done and the next one unlocks.

Lessons

Orientation

LessonCommandGoal
Getting a TerminalInstall a terminal on macOS or Windows
Introduction to TerminalWhat the terminal is and how the playground works
pwdpwdSee where you are
lslsList directory contents
ls -l and -als -l, ls -aFlags and hidden files
cdcdNavigate into a directory
cd .., ~, -cd .., cd ~, cd -Navigate back up the tree
Putting it togetherCombinedFind a deeply nested file

Files & Directories

LessonCommandGoal
touchtouchCreate a file
mkdirmkdirCreate a directory
mkdir -pmkdir -pCreate a deep path in one step
cpcpDuplicate a file
mvmvMove or rename
rmrmRemove a file
rm -rrm -rRecursive deletion

Reading Files

LessonCommandGoal
catcatPrint a file
headheadFirst N lines
tailtailLast N lines
wcwcCount lines, words, chars
Prerequisites

No prior terminal experience required. If you are on Windows, install Git Bash to follow along on your own machine. On macOS and Linux, open your terminal app and you are ready.

Donate to this project