We find that there are different kinds of users when it comes to Linux, the ones who tread carefully preferring to stick to tried and tested software, the other kinds are the ones who dive into the deep end of cutting edge software; head first.  ​ksh, bash tcsh, fish and zsh are the five shells that we are going to be looking at today.  

The BASH Shell

The original UNIX command line interpreter was called Bourne shell. This was covered by the AT&T software license and at the onset of the GNU project it allowed people to start writing their own versions of the software that had the same functionality as Bourne shell, and this is what gave rise to bash released in 1989.BASH is the acronym for “Bourne-Again Shell“, and of the software that was created to work the same as Bourne shell, this one became the most popular, in most Linux Distros (variants) it has become the de facto Linux shell bundled within. It is a superb command line environment for GNU/Linux presently and if you have ever used the command line on most Linux distros then most likely you were using bash Linux shell. Alt+f2 key combination is a quick shortcut to access the command-line interface/interpreter. We can safely state in layman’s terms that Bash is an amalgamation of the many software that was created to work like Bourne shell these being ksh, tcsh/csh and zsh, Bash took most of the features from these applications that were different or non-existent on the original “sh” and integrated them into bash in one way or another. Most times bash is all you will need unless if you have some set of scripts or helper functions that you have written for a different shell then bash should suffice for all your needs.

The KSH Shell (Korn Shell)

David Korn at the Bell Labs created an alternative shell in the 1980s aptly named Korn shell but it’s referred to more by its command invocation “ksh” it started off as a proprietary software but later versions were released as open source under the Eclipse Public License. A number of users prefer ksh and feel that it is better in a number of ways with some of its advantages being listed as having a cleaner exit codes, from pipes, a superior loop syntax, easier repetition of commands and associative arrays methodology, capability of emulating most of the behaviors of emacs or vi (this feature is especially good to those who are partial to text editors) among others. It is quite similar to bash for basic input, but it is somewhat different for advanced scripting and requires some getting used to.

The ZSH Shell

Zsh originated in the early 1990s and has some similar features to bash and ksh some of these include but are not limited to spelling correction, themes, nameable directory shortcuts, command history sharing across multiple terminals and other small changes to the original Bourne Shell functionality. It can be distributed under the MIT-like license but some portions are under the GPL. For more details check the license distributed with the code and binaries.

The TCSH Shell

Spawning from csh which is the Berkeley Unix C shell, Tcsh is one of the granddaddies of shell with an impressive history that goes back to the earlier days of Unix and computing itself. It’s the strongest niche is its scripting language, which is akin to C programming syntax. It has a number of features that include adding arguments to aliases, default preferences setting eg auto-completion with history tab of the complete work that is set by defaults but customizable. It has a large following. It is released under the BSD license.

The Fish Shell

FISH Linux shell was written in 2005, and as such we expect numerous changes attuned to more recent requirements and as their website states “Finally, a command-line shell for the 90s”, we found fish to be quite user-friendly and a breath of fresh air. The support is quite good and the authors have quite a friendly introduction to the usage of the product on their website. It has some really neat features which include clean scripting, auto-suggestions, support for 256 color palette VGA, command completion based on the man pages on your machine which quite frankly is a very helpful feature and last but not least the awesome web-based configuration. This is my humble opinion is the best of all.

Conclusion

And that’s it. These are the five Linux shells that are popular and it’s cool to dive into it. The chances are that you’re most likely using Bash Linux shell but if you’re using any other then let us know in the comment section below. Thank you!