Shell. I’m really starting to like the sound of that word. It conjures up images of peaceful beaches, lazy snails,
reams and reams of email … a growing and knowledge-hungry community.

The reference to shell in Penguin Shell is a coy tip of the hat to the element of the Linux OS that interprets and
executes all your commands. Linux has a legacy of shells almost as rich as Maui or Bora Bora. While the shells found
on the beaches of either locale can only evoke memories years down the road, the shells in Linux can help make your
computer time more productive and useful.

As Linux has evolved, several shells have grown with it. Some have sprung up and faded, others remain. The most
common shell in most current Linux distributions is bash, or the Bourne Again Shell. It’s a direct descendant
of the very first shell for Linux, the Bourne shell. Most of the command line tools we’ll cover in the Penguin Shell
are intended for bash.

Aside from bash, you may also operate in the csh (C Shell), tcsh (Enhanced C Shell), ksh (Korn Shell) or zsh (Z
Shell) shells. These shells vary from bash in their programming constructs, as well as their ability to edit the
command line – a common gauge of the power of the shell. For all these derivatives, it’s widely accepted that the
bash shell is the single most powerful.

How can you tell which shell your distribution utilizes? A simple command will tell:

     echo $SHELL

This command simply instructs the shell to print to the screen (echo) the $SHELL variable.

You can also switch shells on the fly. Just enter the name of the shell you’d like to test. For many
distributions, the tcsh and bash shells are available as part of the stock install.

You choose – objects that sound like the ocean roaring in your ear, or a fundamental piece of code that executes
your every command. Yep. That’s what I thought. Geeks, indeed.