> ## Content Index
> Fetch the complete content index at: https://snubmonkey.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# What is "the Unix Shell"- Bash, Fish, Ksh, Tcsh, Zsh.
- URL: https://snubmonkey.com/what-is-the-shell-2/
- Published: 2020-11-26T21:02:00.000Z
- Updated: 2025-04-16T23:27:20.000Z
- Description: Simply put, the shell is a program that takes commands from the keyboard and gives them to the operating system to perform.
- Author: Aleksandra Sloan
- Tags: shell 🛠️, linux 🐧, terminal

In the old days, it was the only user interface available on a Unix-like system such as Linux. Nowadays, we have graphical user interfaces (GUIs) in addition to command-line interfaces (CLIs) such as the shell.   
  
A **Shell** provides you with an interface to the Unix system. It gathers input from you and executes programs based on that input. When a program finishes executing, it displays that program's output. The shell is an environment in which we can run our commands, programs, and shell scripts.   
  
There are different flavors of a shell, just as there are different flavors of operating systems. Each flavor of the shell has its own set of recognized commands and functions.

## Types of Shells

  
In Unix, there are two major types of shells −

- **Bourne shell** − If you are using a Bourne-type shell, the **$** character is the default prompt.
- **C shell** − If you are using a C-type shell, the **%** character is the default prompt.

**The Bourne Shell has the following subcategories −**

- Bourne shell (**sh**)
- Korn shell (**ksh**)
- Bourne Again shell (**bash**)
- Z shell (**zsh**)

**The different C-type shells follow −**

- C shell (**csh**)
- TENEX/TOPS C shell (**tcsh**)

There are different flavors of a shell, just as there are different flavors of operating systems. Each flavor of the shell has its own set of recognized commands and functions and users typically interact with a Unix shell using a terminal emulator.  

![](https://snubmonkey.com/content/images/2022/04/shell-1-1.png)

##   
Terminal Emulator

  
Terminals, also known as command lines or consoles, allow us to accomplish and automate tasks on a computer without the use of a graphical user interface. It is a program that executes other programs. It provides a computer' user an interface to the Unix/GNU Linux system. The shell is much more than just a command interpreter, it is also a programming language of its own with complete programming language constructs such as conditional execution, loops, variables, functions, and many more.  
  
These might include gnome-terminal, konsole, xterm, iTerm, terminator, and termite.