Linux Shell Scripting Tutorial (LSST) v1.05r3
Chapter 1: Introduction : Linux Shell basics

What is the Linux Shell?

Computers understand the language of zeros and ones known as binary language. In the early days of computing, instructions were provided using binary language, which is difficult for all of us humans to read and write. Therefore, in an operating system there is a special program called the shell. The shell accepts human readable commands and translates them into something the kernel can read and process.

The shell is a user program or it is an environment provided for user interaction. It is a command language interpreter that executes commands read from the standard input device (keyboard) or from a file.

Shell is not part of system kernel, but uses the system kernel to execute programs, create files etc.

Several shells are available for Linux including:

Shell Name
Developed by
BASH ( Bourne-Again SHell )Brian Fox and Chet Ramey
Free Software Foundation
Most common shell in Linux. It's Freeware shell.
CSH (C SHell)Bill JoyUniversity of California (For BSD)The C shell's syntax and usage are very similar to
the C programming language.
KSH (Korn SHell) David Korn AT & T Bell Labs
TCSHSee the man page.
Type $ man tcsh
TCSH is an enhanced but completely compatible version of the Berkeley UNIX C shell (CSH).

To find all of the available shells in your system, type the following command:

$ cat /etc/shells

Note that each shell does the same job, but each understands different command syntax and provides different built-in functions.

Under MS-DOS, the shell name is COMMAND.COM which is also used for the same purpose, but it is not as powerful as our Linux Shells are!

Command line interface (CLI)

The shell provides an interface to Linux where you can type or enter commands using the keyboard. It is known as the command line interface (CLI).

To find out your current shell type following command:
$ echo $SHELL
$ ps $$

What Kernel Is?
How to use Shell