Learn

What is a terminal

Terminal

Terminal, shell, console: untangle the vocabulary and open your first terminal.

A terminal is a window in which you type commands with your keyboard instead of clicking buttons. Behind that window, a program called a shell reads what you type, executes it, and returns the result. Everything you can do with a mouse (create a folder, move a file, launch an app) you can do here with the keyboard. And many things you cannot do with a mouse.

Three words, three roles

  • Terminal: the window that opens. On macOS it is Terminal.app or iTerm2. On Windows it is PowerShell, Git Bash, or Windows Terminal. On Linux it is GNOME Terminal, Konsole, etc.
  • Shell: the program running inside that window that interprets your commands. The most common shell today is called bash (Linux, Git Bash on Windows) or zsh (macOS default since 2019). PowerShell on Windows is also a shell, with its own syntax.
  • Console: a loose synonym for "terminal", often used to refer to the window as a whole.

In practice, you do not need to distinguish between terminal and shell every day. But when you see "open a bash shell" or "in your terminal", you now know that it means the same thing: typing commands in a window.

Opening a terminal

  • macOS: Cmd+Space, type "Terminal", Enter.
  • Windows: install Git for Windows from git-scm.com, then search for "Git Bash" in the Start menu.
  • Linux: Ctrl+Alt+T on most distributions.

Once open, you see a blinking cursor after a line like vicente@macbook ~ % or bloki@DESKTOP MINGW64 ~. That line is called the prompt: it is the invitation that says "go ahead, type a command".

Your first command

Type this and press Enter:

shell
echo "salut"

You should see salut appear on the next line, then the prompt return, ready for the next command.

echo is a command that prints whatever you give it. All commands follow this pattern: a name, followed by arguments, then Enter.

Why you will need it

The terminal is not an old relic reserved for purists. It is the preferred interface for:

  • Installing and running dev tools: Node.js, Python, Git, Docker, Claude Code, etc.
  • Automating repetitive tasks: a five-line script replaces ten minutes of clicking.
  • Working remotely: the vast majority of servers have no graphical interface.
  • Communicating precisely: "run git status" is shorter and less ambiguous than a screenshot.

The following lessons walk you through the commands you will use every day.

Check off steps to unlock what comes next

Back to course