New to Linux and confused about the terminology surrounding the terminal, shells, bash, and the command line? This article explains what they are.
The terms terminal, shell, command line, and Bash are thrown around a lot when discussing using Linux – sometimes interchangeably. They can all refer to the same thing, but they do have slightly different meanings.
GUI vs Terminal – What are They?
When we’re referring to the terminal we’re referring to the text interface used to control a computer by typing in text commands. A GUI is a different paradigm – a Graphical User Interface that displays on-screen elements like icons, windows, and cursors to control what the computer does.
Terminology/Meaning – Terminal
Historically, a terminal was the screen and keyboard used to control a computer. It didn’t actually do any computing itself – it only displayed information and allowed for the input of information. These terminals might have been placed next to the computer, or have been located in a different room, building, or country, and been connected via phone line to the computer.
Nowadays, terminals are implemented in software – typically a black screen or black window on your computer which accepts text commands and displays text data in response. Software terminals might be issuing commands to the computer they are running on, or they might be connected to a remote computer.
Software terminals are often called terminal emulators.
Terminals are the interface for issuing commands to the computer and viewing the resulting output.
Terminology/Meaning – Command Line / Command Prompt
A command line is a piece of software that accepts commands as text entered by the user. Shells are command-line applications, outlined below.
Terminology/Meaning – Shell
A Shell is a program that interprets your commands and issues instructions to your computer’s operating system. Different shells have different syntax and built-in tools and run on specific operating systems.
Bash and Zsh are shells for the Linux operating system which allow you to type commands to control a computer. Windows has Powershell, its own native shell (which now runs on Linux, funnily enough).
GUIs are technically shells too but infrequently referred to as such.
Bash – it’s a Command-Line Shell Which is Accessed Through a Terminal
Bash is the default shell for many Linux operating systems. It’s a command-line interface that runs in a terminal emulator, usually a terminal app being run from your Linux desktop.
The default shell will also be displayed on the monitor connected to a Linux machine that does not have a GUI configured.
There Are Other Linux Shells
Bash isn’t the only shell available on Linux – others are developed, and most Linux nerds will be passionate about which they think is best.
Other Linux Shells: