01. Shells bash, csh, tcsh, zsh

The shell is the program that acts as a user interface to send commands to the kernel. The kernel then interprets the command and tells the CPU and other computer hardware how to carry out the particular task.

shell interface to kernal

Every time a user logs in, a shell is started. The type of shell is up to the user, but most often the default is set to bash.


The Bourne Again Shell shell includes the basic features common to all unix shells, including pipelining, here documents, command substitution, variables, control structures and wildcards. It is the most common default shell for user accounts.


The C Shell was created by Bill Joy at the University of California, Berkeley. His main intent was to create a shell with C language-like syntax. Thus, it included things like control structures and expression grammar.

Other features included history and editing mechanisms, aliases, directory stacks, tilde notation, cdpath, job control and path hashing.


The tcsh was developed to be compatible with the C shell. The t in tcsh comes from TENEX, which was an operating system.

tcsh is very close to csh with extensions like command-line completion, command-line editing and other features. Mac OS X's used to come with tcsh as default, but switched to bash in Version 10.3.


The Z shell was designed for interactive use.

Some of the features of z shell include spell check, editing of multi-line commands in a single buffer, improved variable and array handling, customization, programmable command-line completion and themeable prompts.

And many, many more!

As you can see, there are plenty of shells to choose from! As you get to know more about the terminal and shell, you may want to upgrade to another shell. For now, however, bash will suit our needs just fine.

Take your Linux skills to the next level!

Linux for Beginners

Take your Linux skills to the next level! Try Linux & UNIX

Linux for Beginners doesn't make any assumptions about your background or knowledge of Linux. You need no prior knowledge to benefit from this book. You will be guided step by step using a logical and systematic approach. As new concepts, commands, or jargon are encountered they are explained in plain language, making it easy for anyone to understand.

$ Check price
24.9924.99Amazon 4.5 logo(101+ reviews)

More Linux & UNIX resources

Aching back from coding all day?

Inversion Therapy Table

Aching back from coding all day? Try Back Problems

Stretch out your back and relieve your back muscles with inversion therapy. This device counteracts the forces of gravity on the body by decompressing and elongating the spine. By using this product just ten minutes a day, you can be well on your way to improved circulation and posture while relieving muscle aches, back pain and stress.

$$ Check price
119.98119.98Amazon 4.5 logo(1,700+ reviews)

More Back Problems resources