It is a program that takes keyboard inputs and passes it to the operating system for processing.This program works in close interaction with the operating system (kernal, to be specific) and it is this functionality that brought this tiny program to the limelight.
Almost all Linux distributions supply a shell program from the GNU Project called bash. The name “bash” is an acronym for “Bourne Again SHell”, a reference to the fact that bash is an enhanced replacement for sh, the original Unix shell program written by Steve Bourne.
Types of Shells
Shell Types | Description |
---|---|
sh (Bourne) | The original shell from early versions of UNIX |
csh, tcsh zsh | The C shell originally created by Bill Joy, and its derivatives – Tenex C shell and Z shell. |
ksh, pdksh | The Korn shell and its public domain cousin. Written by David Korn, this is the default shell on many commercial UNIX versions. |
bash | The Linux shell from the GNU project. bash or Bourne Again SHell, has the advantage that the source code is freely available. bash has many similarities to the Korn shell. |
Terminal
To interact with shell we need a terminal emulator when using GUI desktops like KDE or GNOME.
For KDE we have konsole. For GNOME we have gnome-terminal.
Commands we use inside a terminal could be any of these:
- An executable program. I.e, files in /usr/bin. These files are compiled binaries of programs written in C, C++, or any other language.
- A command built into the shell itself. bash supports a number of commands internally called shell builtins. Eg: cd
- A shell function. These are shell scripts incorporated into the environment.
- An user created command also called as alias. These are commands defined by the user but actually built from other commands.
Difference between a terminal, shell, tty and a console?
Actually there is already a very good explanation posted in one of my favorite sites. Unix.StackExchage
No comments:
Post a Comment