Different Shells in Linux

SHELL is a program which provides the interface between the user and an operating system. When the user logs in OS starts a shell for user. Kernel controls all essential computer operations, and provides the restriction to hardware access, coordinates all executing utilities, and manages Resources between process. Using kernel only user can access utilities provided by operating system.

Types of Shell:

  • The C Shell –
    Denoted as csh 

    Bill Joy created it at the University of California at Berkeley. It incorporated features such as aliases and command history. It includes helpful programming features like built-in arithmetic and C-like expression syntax.

    In C shell:

    Command full-path name is /bin/csh,
    Non-root user default prompt is hostname %,
    Root user default prompt is hostname #. 
  • The Bourne Shell –
    Denoted as sh 

    It was written by Steve Bourne at AT&T Bell Labs. It is the original UNIX shell. It is faster and more preferred. It lacks features for interactive use like the ability to recall previous commands. It also lacks built-in arithmetic and logical expression handling. It is default shell for Solaris OS.



    For the Bourne shell the:

    Command full-path name is /bin/sh and /sbin/sh,
    Non-root user default prompt is $,
    Root user default prompt is #. 
  • The Korn Shell
    It is denoted as ksh 

    It Was written by David Korn at AT&T Bell LabsIt is a superset of the Bourne shell.So it supports everything in the Bourne shell.It has interactive features. It includes features like built-in arithmetic and C-like arrays, functions, and string-manipulation facilities.It is faster than C shell. It is compatible with script written for C shell.

    For the Korn shell the:

    Command full-path name is /bin/ksh,
    Non-root user default prompt is $,
    Root user default prompt is #. 
  • GNU Bourne-Again Shell –
    Denoted as bash 

    It is compatible to the Bourne shell. It includes features from Korn and Bourbe shell.

    For the GNU Bourne-Again shell the:

    Command full-path name is /bin/bash,
    Default prompt for a non-root user is bash-g.gg$ 
    (g.ggindicates the shell version number like bash-3.50$),
    Root user default prompt is bash-g.gg#. 


My Personal Notes arrow_drop_up


If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.