What is the terminal?
The workshop vs. the showroom
Imagine you are building a house. Most people only see the Showroom: the finished rooms with beautiful furniture and paint. This is what we call the GUI (Graphical User Interface) like Finder on Mac or Windows Explorer.
But as a developer, you are the builder. You need to go into the Workshop. The Workshop might look messy with tools everywhere, but it's where you have direct access to the engine and the components. The Terminal (also called the CLI or Command Line Interface) is your digital workshop.
Why developers use the terminal
- Speed: Typing
mkdir my-projectis faster than right-clicking, selecting 'New Folder', and typing the name. - Automation: You can tell the terminal to "do this thing 100 times" with one line of code.
- Power: Many developer tools (like Rails) don't have buttons; they only exist in the terminal.
- Remote Access: You can control a server on the other side of the world through a terminal.
Meet the shell
If the Terminal is the window you look through, the Shell is the program listening to your commands. On macOS, the default shell is Zsh. On Linux, it's often Bash.
Think of the Shell as a translator: it takes your human commands and explains them to the computer's kernel (the brain).
+---------------------------------------+
| USER (You) |
| "Go to my-project folder" |
+------------------|--------------------+
v
+---------------------------------------+
| TERMINAL WINDOW |
| (iTerm2, Terminal, Warp) |
+------------------|--------------------+
v
+---------------------------------------+
| SHELL |
| (Zsh, Bash, Fish) |
+------------------|--------------------+
v
+---------------------------------------+
| OPERATING SYSTEM |
| (macOS, Linux, Windows) |
+---------------------------------------+
Summary
| Concept | Key Point |
|---|---|
| GUI | Graphical interface for normal users (Showroom) |
| CLI / Terminal | Text-based interface for developers (Workshop) |
| Shell | The program that interprets your commands (e.g., Zsh) |
| Zsh | The default shell for modern macOS users |
Keep going with lesson 2
The shell & command anatomy
Breaks a command into its command, options and arguments, and lists modern tools like eza, bat and rg.
A free account also gives you the quizzes, your progress and notes, and the discussion.