The Shell Interface for Linux
For those users who are not using the X Window System, the Shell is a very important part of Linux OS. The Shell provides the interface between the users and kernel of Linux OS so that users can run their programs. The Shell is a command-line interpreter. It may be used to start, stop, suspend or even write programs. There are many types of Shells, some of which we are going to discuss here:
1. Bourne shell /bin/sh
The Bourne shell is the default UNIX shell, which was written by S. R. Bourne at A.T. Bell labs in 1977. This shell was written to use as a scripting tool rather than an interactive shell with features that include input and output redirection, condition testing, shell scripting, looping etc.
Shell prompt: $
Executable file: /bin/sh
2. Default Linux shell: bash shell
It is the default Red Hat Linux shell developed by Brian Fox and Chet Ramey. It is called Bash or Bourne Again shell. This shell consists of 48 built-in commands and many command-line options. Bash shell has one very amazing feature, which is the automatic completion of command or file name. This feature is activated using [tab].
Shell prompt – $
Executable file – /bin/bash
3. Csh and tcsh shell
The ‘csh’ or ‘c’ shell was developed by Bill Joy (along with others) at the Berkeley University in 1978, using C syntax as a model. ‘tcsh’ stands for the Turbo-C shell. This shell overcome problems with csh and is being used in current Linux-based systems. This shell consists of 53 built-in commands and 18 command-line options.
For C shell:
Shell prompt – %
Executable file – /bin/csh
Shell prompt – &
Executable file – /bin/tcsh
4. Korn shell (ksh): the public domain shell
This shell was developed by David Korn and has 42 built-in commands and 20 command-line options. This shell exists under the /bin directory, but a symbolic link is also found under the /usr/bin directory.
Shell prompt – $
Executable file – /bin/ksh