What comes to your mind when you hear about Linux? A hacker wearing a black hoodie and a Guy Fawkes mask, typing gibberish in the terminal on one screen, while the other screen flickers with code no one understands. What if we told you that you could do that too and “try” to look cool with your friends?
All of that is done in a Shell program pre-installed in all Linux distributions. In this article, let’s look at what a Linux Shell is and its use in Linux.
Linux Shell: What Is It?
A Shell in Linux is a program that takes a user’s commands, figures out what you want in return, passes the job to the kernel, gets the job done, and displays the output to you. It acts like your personal assistant that knows where your whereabouts are kept (your files, folders, system information, and essential system data) and gets stuff done for you.
For Windows users, it’s similar to Windows Powershell. Both of them manage files and programs in their respective operating systems. Both Bash and Powershell are available on Windows and Linux.
If you’re confused between Bash and Shell, they are one entity, i.e., Bash is a shell program. Think of it as an improved shell that allows you to communicate with the Linux kernel (Give commands and receive output). However, it is not the only Shell program you can use on Linux. The Z Shell, Fish Shell, and Korn Shell are some of the alternatives to Bash.
Bash is the most popular Shell on Linux. Most of the Linux distributions ship with the same. However, unlike Windows, Linux allows you to switch to other shells and doesn’t restrict you from using other shells.
The History Of Bash
The first Shell was made for Unix in Bell Laboratories by Ken Thompson. He also created the B language, which led to creating the C programming language. The first Unix shell was called Sh. The same was used in Unix for a long time until Bourne Shell replaced it in 1979. Stephen Bourne created Bourne Shell, was an excellent replacement for Thompson Shell and was backwards compatible with the same.
However, since Unix was closed-source, Linus Torvalds created a Unix clone and named it Linux, which led to the GNU project creating a Bourne Shell clone called Bash, and the rest is history. Bash was created by Brian Fox.
If you’ve used Linux before or are daily driving Linux, do let us know which Shell you go daily and why in the comments section below.
If you like this simple explainer, check out our Short Bytes section. We take complex tech topics and break them into short, easy-to-understand articles.