Unix Shell - यह एक Command Line Interpreter है | 

                  - यह user  को Command Line Interface (CLI) प्रदान करता है | जिसकी सहायता से उपयोगकर्ता commands insert कर सकता है | 

                     शैल यूजर द्वारा दिए गए कमांड को इन्टरप्रेट कर सम्पादित करने के लिए कर्नेल (kernel) को भेजता है | कर्नेल उस कमांड को सम्पादित करने के लिए हार्डवेयर को निर्देशित करता है |  

                 - यह एक command language और script language दोनों है |

                 - यूजर टर्मिनल प्रोग्राम (terminal program) द्वारा shell साथ interact करता है | और इस प्रकार वह UNIX system के साथ interact  करता है |  


Script - Shell commands को एक साथ जोड़कर हम small program लिख सकते है जिसे Shell Script कहा जाता है | 


सभी Unix shells द्वारा filename wildcardingpipinghere documentscommand substitutionvariables and  control structures (condition-testing and iteration) का support प्रदान किया जाता है | 


Shell एक प्रकार का प्रोग्राम है जिसमें user  commands type कर सकता है | यह command shell द्वारा kernel को भेजा जाता है | 


UNIX like operating systems में कई प्रकार के shell program उपलब्ध है, User की आवश्यकता अनुसार इसे change किया जा सकता है | प्रत्येक user की profile /etc/passwd file में store रहती है | 


Different Types of Shell
Shell Command  Shell Full name About
sh Thompson Shell First Shell
Developed by Ken Thompson at Bell Labs
It was available with UNIX 1 to UNIX 6 during 1971 to 1975. Control Structures if and goto.  /bin/sh
sh Bourne Shell Developed by Stephen Bourne at Bell Labs. Distributed with UNIX 7 in 1979. here documents, command substitution, generic variables, control structures, reversed keyword to mark end of block. 
Path - /bin/sh  
bash Bourne Again Shell Written as part of GNU project. This is default interactive shell on most of the Linux distribution and macOS system.
/bin/bash
ash Almquist Shell BSD licensed replacement of Bourne Shell
/bin/ash
dash Debian Almquist Shell modern replacement for ash in Debian and Ubuntu
ksh Korn Shell Written by David Korn and based on Bourne Shell at Bell Labs.  /bin/ksh
pdksh Public Domain Korn Shell
zsh Z Shell modern shell, backward compatible with bash shell, default shell in macOS since 10.15 Catalina
csh C Shell modeled on C Programming, developed by Bill Joy as graduate student at University of California at Berkeley.  
Distributed with BSD unix.  /bin/csh
tcsh TC shell /bin/tcsh



Terminal Emulator - यह एक प्रोग्राम है जो जिसकी सहायता से यूजर शैल को text based command जारी करता है | 

उदहारण  - GNOME Terminal (GNOME) , xterm (X Window System) , Konsole, Guake, Terminator, Tilda, PuTTY (SSH and Telnet), ROXTerm, Eterm, rxvt (extended virtual terminal), 

Image of a terminal emulator program



~/.bashrc - shell script which is run whenever a shell / terminal is started. It is located in the user's home directory. It initializes interactive shell session.

GNU - GNU's Not Unix, It is an operating system. It is pronounced as g'noo.  

BSD - Berkeley Software Distribution, an Operating System, developed at University of California, Berkeley.


GNOME - free and open-source desktop environment for UNIX like operating systems. Current version is GNOME 3. Website : https://www.gnome.org/gnome-3/

KDE - International Free Software Community, develops free software.  K(ool) Desktop Environment