Linux has tools to execute user commands which are called Shells. The name “shells” is used because they hide the details on the underlying operating system under the shell's surface.

Commands are input in a text terminal, either a window in a graphical environment or a text-only console. Results of Commands which are executed are also displayed on the terminal. No graphics are needed at all.

Shells can be scripted: provide all the resources to write complex programs (variable, conditionals, iterations...)


Most famous and popular shells

  • sh: The Bourne shell (obsolete) Traditional, basic shell found on Unix systems, by Steve Bourne.
  • csh: The C shell (obsolete) Once popular shell with a C-like syntax
  • tcsh: The TC shell (still very popular). A C shell compatible implementation with evolved features (command completion, history editing and more...)
  • bash: The Bourne Again shell (most popular). An improved implementation of sh with lots of added features too.