What the terminal and shell actually are
When you use a normal app, you click buttons and the app translates your clicks into instructions for the computer. The command line skips the buttons. You type an instruction, press Enter, and the computer does it.
Two words you'll hear a lot:
- — the window you type into. It's just a text box with a history. (On Mac it's "Terminal" or "iTerm"; on Windows it's "PowerShell" or "Windows Terminal"; on Linux it's usually just "Terminal".)
- — the program inside that window that reads what you type and runs it. The most common one is called bash; Macs use one called zsh. They behave almost identically for everything in this book.
Here's the loop, every time you press Enter: the shell reads what you typed, finds and runs the matching program, and prints whatever that program produced back into the window.
you type ┌─────────┐ finds + runs ┌──────────┐ prints
a command ──▶│ SHELL │ ──────────────▶ │ PROGRAM │ ──────────▶ output
+ Enter │ (reads) │ │ (does it)│ in window
└─────────┘ └──────────┘
▲ │
└──────── ready for next command ◀─────┘
Why do AI coding tools live here? Because the command line is the universal control panel for development. Installing tools, starting your app, running tests, deploying to the internet — all of it happens through typed commands. An AI works by typing the same commands you would, just faster and without typos. When you watch it work, you're watching it use the exact same door you'll use.