What is the terminal?

Free preview 2 min to read

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

  1. Speed: Typing mkdir my-project is faster than right-clicking, selecting 'New Folder', and typing the name.
  2. Automation: You can tell the terminal to "do this thing 100 times" with one line of code.
  3. Power: Many developer tools (like Rails) don't have buttons; they only exist in the terminal.
  4. 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
Lesson 1 of 7 · free

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.

Type to start searching...