Shell

From DreamHost
Jump to: navigation, search

Overview

In computing, a shell is a command line interpreter which is a piece of software that provides a direct interface for end-users to their operating system. This interface allows users to enter text commands to be executed in a terminal rather than a Graphical User Interface (GUI) with buttons and windows to click on.

Typically, the term refers to an operating system shell which provides access to the services of a kernel. However, the term is also applied very loosely to applications and may include any software that is "built around" a particular component, such as web browsers and email clients that are shells for HTML rendering engines. The name 'shell' originates from shells being an outer layer of interface between the user and the innards of the operating system (the kernel).

Operating system shells generally fall into one of two categories:

  • Command line: Command line shells provide a command line interface (CLI) to the operating system where commands can be written and executed directly by a user.
  • Graphical: Graphical shells provide a graphical user interface (GUI) which consists of windows, buttons and menus that can be selected by a user.

Using the shell

To use the shell you need to activate a Shell User in your panel. View the Enabling Shell Access article for detailed instructions.

Windows PuTTY

Windows users can use a popular program named PuTTY to interact with their shell. View the PuTTY article for detailed instructions on how to download and configure PuTTY.

Terminal links for Windows, MAC and Linux

You must use some type of terminal to interact with the shell. View the following links for a quick overview of terminals used for Windows, MAC and Linux:

Available shells at DreamHost

Bash

Bash, also known as 'Bourne-again shell', is a command line Unix Shell released in 1989, and written for the GNU Project.

  • Bash is the default shell used in Linux and Mac OS X based systems.
  • A Unix shell is a command line interpreter that provides a user interface for the operating system.
  • As a command interpreter, shell allows GNU utilities to run.
  • The Bash programming language functionality allows GNU utilities to be combined and used with other files containing additional commands for extended capabilities.

The Bash command syntax is a superset of the Bourne shell command syntax. Bash has features that appear exclusively in Bash and also borrows concepts from other popular shells, such as:

  • Bourne shell (sh)

Bash is newer than many of the other shells and includes refinements and improvements. Because Bash combines elements from other shells, it is easier for beginners to learn and also provides advanced users powerful features and flexibility.

The name of the actual executable is bash at:

/bin/bash

You can change your shell in the panel at (Panel > 'Users' > 'Manage Users').

View the following links for further information.

Korn

Ksh, also known as Korn Shell, is an interactive command language for Unix as well as for other systems. The Korn Shell provides a powerful programming language for developing applications. Ksh aims to allow developers to write applications faster than in Bourne shell and C Shell with features that enhance productivity. Ksh incorporates features from both Bourne and C shell and also has some of its own exclusive features. Some of the many Ksh features are improved performance, arithmetic, arrays, as well as substring and pattern matching capabilities.

The name of the actual executable is ksh at:

/usr/bin/ksh

You can change your shell in the panel at (Panel > 'Users' > 'Manage Users').

View the following links for further information.

Tcsh

Tcsh is a command language interperter with interactive login shell and command processor functionality. Tcsh is an improved version of csh shell with new features and functionality. Some of the many features that Tsch includes are a spellchecker,command-line editor, programmable autocomplete, as well as an enhanced history feature. Users familiar with csh will find more customization and flexibility options available in Tcsh.

The name of the actual executable is tcsh at:

/usr/bin/tcsh

You can change your shell in the panel at (Panel > 'Users' > 'Manage Users').

View the following links for further information.

Zsh

Zsh is a shell designed primarily for interactive use and also has scripting language functionality. Zsh is a command interpreter similar to Korn shell (ksh.) The main features in Zsh are an improved command line editor, filename globbing, spelling correction, path expansion, and a number of other more advanced features.

The name of the actual executable is zsh at:

zsh at /usr/bin/zsh

You can change your shell in the panel at (Panel > 'Users' > 'Manage Users').

Fixing the backspace key

By default, your backspace key may not work properly in zsh.

To fix it, execute the following:

echo "bindkey '^?' backward-delete-char" >> ~/.zshrc
echo "bindkey '^[[3~' delete-char" >> ~/.zshrc

View the following links for further information.

See also