Shell In Depth
2 min read
What is a Shell?
A shell provides an interface to the Linux system. It gathers input from the user and executes a program based on the user input.
When a program finishes executing it displays that program's output.
Shell is an environment in which we can run our commands, programs, and shell scripts.
Categories of Shell
- Command-Line Shells: These shells are the only command line ie server editions for example ubuntu-server
- Graphical Shells: These shells are the Graphical User Interface and Command Line Interface ie desktop editions for example ubuntu-desktop
Types of Shell
- Bourne Shell
- C Shell
- Korn Shell
- BASH Shell
- Zsh Shell (Zsh)
1. Bourne Shell(sh):
Developed by Steve Bourne at AT&T Bell Labs
2. C Shell (csh):
Developed by Bill Joy at the University of California at Berkeley.
Features included aliases, command history, and arithmetic expression syntax. This arithmetic expression syntax is similar to C, So the name of this shell is C Shell.
3. Korn Shell(ksh):
Developed by David Korn at AT&T Bell Labs
Features included built-in arithmetic and C-like arrays, functions, string-manipulation facilities, and all the features of the Bourne shell.
This shell is faster than C Shell
4. BASH Shell (bash):
BASH Stands for Bourne Again Shell. Developed by Brian Fox in 1989.
This shell is the most widely used shell till now. It supports BASH Scripting and features like searching files, debugging, piping, autocompletion, and many more features.
Features included all from Bourne shell and Korn Shell.
5. Zsh Shell (zsh):
This Zsh Shell is used in mac.
Features include improved customization, generating filenames based on given conditions, themes, plugins, etc.,
Did you find this article valuable?
Support Prahlad Inala by becoming a sponsor. Any amount is appreciated!