Working with Terminal/Shell
 
Introduction to Linux shell
 
Nowadays, as soon as you get Linux installed, you get a nice graphical interface and rarely if ever need to make use of the so-called terminal mode (aka shell prompt). However, in Linux the simple, modest terminal is not merely an afterthought, but an extremely powerful tool.
 
While it may be true that you don't need to use it, it's not that difficult to learn, and very useful to know. Fortunately for yourself, with Linux's users and security, you can create a new user for playing around, then you can experiment to your heart's content without breaking anything.
 
The most generic sense of the term shell means any program that users use to type commands. Since in the Unix operating system users can select which shell they want to use (which program should execute when they login), many shells have been developed.
 
It is called a "shell" because it hides the details of the underlying operating system behind the shell's interface. (In contrast with the "kernel", which refers to the lowest-level, or 'inner-most' component of an operating system). Similarly, graphical user interfaces for Unix, such as GNOME and KDE, are occasionally called visual shells or graphical shells.
 
By itself, the term shell is usually associated with the command line. In Unix, any program can be the user's shell. Users who want to use a different syntax for typing commands can specify a different program as their shell.
 
What is Terminal/Shell?
 
In early days of computing, instruction are provided using binary language, which is difficult for all of us, to read and write. So in Os there is special program called Shell. Shell accepts your instruction or commands in English (mostly) and if its a valid command, it is pass to kernel.
 
Shell is a user program or it's environment provided for user interaction. Shell is an 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.
 
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

Where

Remark

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 Joy

University 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

--

TCSH

See the man page.
Type $ man tcsh

--

TCSH is an enhanced but completely compatible version of the Berkeley UNIX C shell (CSH).

 
$ cat /etc/shells
 
Note that each shell does the same job, but each understands different command syntax and provides different built-in functions.
 
A "shell" is a program which interprets commands, either typed in directly by the user, or contained in a file called a "shell script", which is a simple interpreted program. The equivalents in WindowsTM would be "command processor" for shell, "COMMAND.COM" or "CMD.EXE" instead of bash, and ".BAT files" instead of shell scripts.
 
Linux has a variety of different shells, but certainly the most popular is "bash", so it is this one which will be described here (even though many of these instructions apply to all shells). Some of the others are retained simply because there are lots of people who got used to them and don't wish to change, or because they are aimed at a specialised set of users.