Shells
As we said before, logging in to the system puts you into a shell (or a graphical interface if your system is configured to use a display manager). So does opening an xterm window in X. The shell interprets and executes all your commands. Let’s look a bit at different shells before we keep going, because they’re going to affect some of the material coming up.
If it seems confusing that Unix offers many different shells, just accept it as an effect of evolution. Believe us, you wouldn’t want to be stuck using the very first shell developed for Unix, the Bourne shell. While it was a very powerful user interface for its day (the mid-1970s), it lacked a lot of useful features for interactive use—including the ones shown in this section. So other shells have been developed over time, and you can now choose the one that best suits your way of working.
Some of the shells available on Linux are:
- bash
Bourne Again shell. The most commonly used (and most powerful) shell on Linux. POSIX-compliant, compatible with Bourne shell, created and distributed by the GNU project (Free Software Foundation). Offers command-line editing, history substitution, and Bourne Shell compatibility.
- csh
C shell. Developed at Berkeley. Mostly compatible with the Bourne shell for interactive use, but has a very different interface for programming. Does not offer command-line editing, although it does have a sophisticated alternative called history substitution.
- ksh
Korn shell. Perhaps the most popular on ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access