Terminal Terminology

So far, we've only ever referred to the any text-command-thing as a "command line interface" or CLI. However, there's a bit more nuance to the command line. Note that this section is optional, but will really aid your understanding of how everything is working under the hood.

Command line

A command line is any interface where a user types in commands as text, and hits "Enter" to execute that command. Simple as that!


A shell is a program which does the actual processing of the commands you give it (through a terminal). It is the interpreter which powers your command line. There are many different kinds of shells. Two of the most popular are Bash (on Mac/Linux) and Command Prompt (on Windows).


A terminal is a wrapper program which allows you to give commands to a shell. The word terminal used to actually refer to physical devices. Instead of having a "computer" as we know it today where you could choose to interact with a GUI, a terminal provided you with a command line and nothing more. Nowadays, the concept of a "terminal" has been abstracted into software, but the idea is functionally the same. It provides a way for you to give commands to a shell, and handles instructions given to it from the shell.

Two popular terminal programs are Terminal (on a Mac) and Windows Terminal (available in the Microsoft Store). Terminals, generally, support all kinds of shells. In Windows Terminal, for example, you can have Bash, CMD, PowerShell, Ubuntu, and more all in separate tabs.


The word console is now what we would call a "physical terminal," though it is effectively interchangeable with terminal.

Read more

What's the difference between a console, a terminal, and a shell? by Scott Hanselman

What is the exact difference between a 'terminal', a 'shell', a 'tty' and a 'console'? on the Unix Stack Exchange

What is the difference between Terminal, Console, Shell, and Command Line? on the Ubuntu Stack Exchange

results matching ""

    No results matching ""