The shell is the command interpretor in an operating system such as Unix or GNU/Linux, it is a program that executes other programs. It provides a computer user an interface to the Unix/GNU Linux system so that the user can run different commands or utilities/tools with some input data.
When the shell has finished executing a program, it sends an output to the user on the screen, which is the standard output device. For this reason, it is referred to as the “command interpretor”.
The shell is much more than just a command interpretor, it is also a programming language of its own with complete programming language constructs such as conditional execution, loops, variables, functions and many more.
That is why the Unix/GNU Linux shell is more powerful compared to the Windows shell.
In this article, we shall take a look at some of the top most used open source shells on Unix/GNU Linux.
1. Bash Shell
Bash stands for Bourne Again Shell and it is the default shell on many Linux distributions today. It is also a sh-compatible shell and offers practical improvements over sh for programming and interactive use which includes:
- Command line editing
- Job Control
- Unlimited size command history
- Shell Functions and Aliases
- Unlimited size Indexed arrays
- Integer arithmetic in any base from two to sixty-four
2. Tcsh/Csh Shell
Tcsh is enhanced C shell, it can be used as a interactive login shell and shell script command processor.
Tcsh has the following features:
- C like syntax
- Command-line editor
- Programmable word and filename completion
- Spelling correction
- Job control
3. Ksh Shell
Ksh stands for Korn shell and was designed and developed by David G. Korn. It is a complete, powerful, high-level programming language and also an interactive command language just like many other Unix/GNU Linux shells.
4. Zsh Shell
Zsh is designed to be interactive and it incorporates many features of other Unix/GNU Linux shells such as bash, tcsh and ksh.
It is also a powerful scripting language just like the other shells available. Though it has some unique features that include:
- Filename generation
- Startup files
- Login/Logout watching
- Closing comments
- Concept index
- Variable index
- Functions index
- Key index and many more that you can find out in man pages
Fish in full stands for “friendly interactive shell” and was authored in 2005. It was intended to be fully interactive and user friendly, just like the other shells, it has some pretty good features that include:
- Man page completions
- Web based configuration
- Fully scriptable with clean scripts
- Support for term256 terminal technology
You can read more about fish shell at Fish – A Smart Interactive Shell for Linux
These are not all the shells available in Unix/GNU Linux but they are the top most used apart from those that are already installed on different Linux distributions. Hope you find this article useful and more any additional information, do not hesitate to post a comment.
6 thoughts on “5 Most Frequently Used Open Source Shells for Linux”
Two shells everyone will sooner or later come across and are therefore worth knowing about are dash and busybox.
dash is what many Linux distros use as their default /bin/sh-shell, because it is very small and so executes small and simple shell scripts quickly. Being able to write dash-conform shell scripts means these will work for many distributions and even most UNIX-derivatives and this can be considered a core skill for everyone who works with Linux and UNIX systems.
busybox is less of a shell, but an entire collection of commands included in a shell-like environment. It is found on many embedded systems as a replacement for a full shell and other executables because it packs many of these into a single executable to save space. Although it makes for a very sparse shell environment does know busybox mean one can find their way quickly and easily around on even the smallest of computer systems and it is worth knowing about.
Linux is the most powerful operating system written in C language by Linus Torvalds. The architecture of Linux consists of several layers such as Hardware in the core then kernel, shell, and the outermost layer is user application that is the operating system.
@Dell printer Support Number
Many thanks for sharing this useful information.
you missed ssh jail shell
Thanks for your feedback, I will find out more about it and add it to the list above.
Thanks, maybe I try somone, although you could describe a little bardziejz some examples.