Computer
understands the language of 0's and 1's called binary language. Every operating
system kernel has inbuilt routine which communicate
with system hardware in binary language.At
the heart of UNIX based system is a kernel
whose routines aren't easy to understand and use.
The
‘shell’ is the interface between the user and the system.it
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 such as keyboard or from a file.
The shell isn't only a command line interpreter that understands wildcards;
it’s also a language with variables, arrays, functions and control structures.
Command lines can be put into a file and executed. the
shell is not part of system kernel, but uses the system kernel to execute
programs, create files etc.
Several shells are available for Linux based
system including:
• BASH (
Bourne-Again SHell ) - Most common shell in Linux. It's Open Source.
• CSH (C SHell) -
The C shell's syntax and usage are very similar to the C programming language.
• KSH (Korn SHell)
- Created by David Korn at AT & T Bell Labs. The Korn Shell also was the
base for the POSIX Shell standard specifications.
• TCSH - It is an
enhanced but completely compatible version of the Berkeley UNIX C shell (CSH).
Please 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 by far not as
powerful as our Linux Shells are!
Note: To
find all available shells in your system type following command:
$ cat /etc/shells
Any
of the above shell reads command from user (via Keyboard or Mouse) and tells
Linux Os what users want. If we are giving commands from keyboard it is called
command line interface ( Usually in-front of $ prompt, This prompt is depend
upon your shell and Environment that you set or by your System Administrator,
therefore you may get different prompt ).
Note: To
find your current shell type following command
$ echo $SHELL
Note: Linux/Unix is a Case Sensitive, you have to write command in proper case.