Author: Brett Johansen
The command line is a powerful way to interact with a Linux computer. Instead of using the mouse, you just type commands into the shell. (The shell is a blank window where you type in your commands.) So for example, instead of clicking on your file browser, you simply type ls [enter] to display the contents of your working directory.
There are several different shells. The original shell is sh, or the Bourne Shell. It was developed by Stephen Bourne at Bell Laboratories. It’s still in use today. Check for it in your /bin directory.
The C Shell, or csh, created at the University of California, Berkeley, has a different command language than sh. A lot of csh commands won’t work in an sh shell and vice versa. And for some time, the only shell options were sh and csh.
The csh shell was created for Linux/Unix nerds who coded in the C programming language and wanted a shell that used a similar language. So csh was born. And so these two shells created a bit of a rift in Linux land. Sort of like the Ford/Chevy debate. Linux users love to argue about which tool is better.
Well, there are always options with Linux. So it wasn’t long before other shells came about.
The tcsh shell is csh compatible, but has a bunch more nerdy features like auto-spelling correction, scheduling the time when you want to execute a command, and command line editing. This all sounds great, but for some reason, tcsh didn’t catch on.
The korn shell, created by David Korn is sh compatible, but had a bunch of C shell features. The korn shell is sort of the best of sh and tcsh in one package. It is the default shell on some distros.
The bash shell (Bourne again shell) was created by the FSF (Free Software Foundation and the GNU Project). Bash is fully sh compatible and has many csh features as well. Bash comes default on many distros as well.
The Z shell, or zsh, developed by Paul Falstad has become quite popular, especially among Linux users. It is similar to ksh and sh both in syntax and function, and it is partially compatible with csh.
So there it is, the shell roundup. Currently, Ubuntu has bash as its default. The main thing is to test them out and see which one you like, or is most compatible with your needs.
Article Source: http://www.articlesbase.com/operating-systems-articles/the-linux-command-line-shell-roundup-2713280.html
About the Author
Brett writes about computers, old school safety razor shaving and blue nitrile gloves! Check out his site all about blue nitrile gloves, a great barrier against infection. Black Nitrile Gloves are also available and used often by mechanics and tattoo artists.
Nice article on the Command Line shell.
Another excellent article on the topic is Neal Stephenson’s
_In the Beginning was the Command Line_
Nice little shell differences but it is worth noting some points of interest.
1. C Shell is not only not used anymore, it is advised by many to run from it!
See: http://www.grymoire.com/Unix/CshTop10.txt
2. Bash Shell is more than just on a few distributions, it is default on most and on many BSD/Unix flavors as well.
3. Ubuntu *DOES NOT* use bash as the default, it uses it’s own shell Dash and /bin/h is a symlink to Dash. This behavior can be changed of course but do not expect your command prompt to behave exactly the same as many other distros and shell scripts that require bash. Things like substring parameter expansions (${VAR:0:3}) may require bash and that will not work in dash.
See: https://wiki.ubuntu.com/DashAsBinSh
http://en.wikipedia.org/wiki/Comparison_of_command_shells
tcsh rocks! love it! as a ‘c’ programmer its perfect for writing small shell scripts without having to go into great lengths to accomplish what i want. too bad it’s not taught at the colleges.
One thing you may want to do is bench mark the shells. For many things it doesn’t matter, but if you write a script that either does a lot of work or is called often it can make a big difference. That is one of the reasons I prefer ksh, it is significantly faster and more efficient compared to sh and bash (and probably others, but haven’t tested them).