Difference Between Bash, Shell & Terminal
People often incorrectly use the terms bash, shell and terminal interchangeably. Whether you are a Linux pro or noob, maybe you’ve done it too. Here’s what you should know when you use these terms the next time.
Shell
A shell is a program that takes command from the keyboard and gives them to the operating system to execute.
In short a shell interacts with the OS for you.
So how do you interact with the shell? Through a terminal.
Terminal
Terminal is a graphical window that lets you interact with a shell.
There can be many implementations of a terminal. The default terminal in Ubuntu is the gnome-terminal. Other terminals you can checkout are:
- Tilda
- Guake
- Terminology
Bash
Bash is an implementation of a shell program
Just like a terminal can have different implementations, so can shells. Different implementations of shells are found and Bash is just one of the most popular of them.
Linux started out with the sh shell. Later it was improved and renamed as Bourne again shell (i.e Bash). Some other shells you can try out are:
- Zsh
- tsh
- fish shell
Sharing is caring!