Linux ShellShell provides the interface between user and Linux. It takes input from the user and delivers it to an operating system, thus allows a user to interact with the Kernel and execute commands.

Advantages of Using Linux Shell Over Graphical User Interface

  • Pattern Matching using wildcard substitution in file names, instead of using the actual file name.
  • Background processing: Run the long tasks in the background and freeing the terminal for concurrent interactive processing.
  • Command aliasing: To give an alias name to a command or phrase, which get substituted by text which it refers to on command line or in shell script.
  • Command history: Records the commands entered in a history file to easily access, modify, and reissue listed command.
  • Filename substitution: Automatically produces a list of file names on a command line using pattern-matching characters.
  • Input and output redirection: Redirects input away from the keyboard and redirect output to a file or device other than the terminal.
  • Piping: Links any number of commands together to form a complex program. The standard output of one program becomes the standard input of the next.
  • Shell variable substitution: Stores data in user-defined variables and predefined shell variables.

Linux Shell

  • sh – Bourne shell: The Bourne shell does not support job control command history.
  • csh – CShell
  • tsch – Tab C-shell
  • ksh – Korn shell
  • fish: It is user-friendly and comes with predictive typing, syntax highlighting, searchable command history, and auto-suggestions.

Shell Sign

  • # for root, admin, administrator, supervisor or superuser having unrestricted access to every area of the system and its configuration
  • $ regular user

To view default shell, execute the command

echo $SHELL

/bin/bash

The shell allows a user to create simple batch scripts or Power shell scripts to automate certain processes.

According to MacNN the latest developer release of Apple Mac OS X “Panther” has changed its default shell from tcsh to bash.