SHELL :->
“Shell” is the term used for any program which runs others. It wraps around another program .As the name suggest “Shell” the outer covering .for example in windows(OS) windows explorer is shell.In unix circles, shell has specialized to mean a command-line shell, centered around entering the name of the application one wants to start, followed by the names of files or other objects that the application should act on, and pressing the Enter key. launching programs in the background and managing them is mostly performed by the shell.
TERMINAL :- )
The word terminal can also have a more traditional meaning of a device through which one interacts with a computer, typically with a keyboard and display. In General ,we can say that end point communication with the usera special-purpose computer whose only purpose is to drive a keyboard, display, mouse and occasionally other human interaction peripherals, with the actual applications running on another, more powerful computer.
CONSOLE : – )
The console is a special sort of terminal. Historically, the console was a single keyboard and monitor plugged into a dedicated serial console port on a computer used for direct communication at a low level with the operating system. Modern linux systems provide virtual consoles. These are accessed through key combinations (e.g. Alt+F1 or Ctrl+Alt+F1; the function keys numbers different consoles) which are handled at low levels of the linux operating system — this means that there is no special service which needs to be installed and configured to run. Interacting with the console is also done using a shell program.
note:
1)Input:the terminal converts keys into control sequences (e.g. Left ? \e[D
). The shell converts control sequences into commands (e.g. \e[D
? backward-char
).
2)Line edition, input history and completion are provided by the shell. The terminal may provide its own line edition, history and completion instead, and only send a line to the shell when it’s ready to be executed.
3Output: the shell emits instructions such as “display foo
”, “switch the foreground color to green”, “move the cursor to the next line”, etc. The terminal acts on these instructions.