Difference Between Bash, Shell & Terminal

Jun 30, 2020 · 1 min read
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!