Shell (computing)
From Wikipedia, the free encyclopedia
In computing, a shell is a piece of software that provides an interface for users. 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 and graphical. Command line shells provide a command line interface (CLI) to the operating system, while graphical shells provide a graphical user interface (GUI).
The relative merits of CLI- and GUI-based shells are often debated. CLI proponents claim that certain operations can be performed much faster under CLI shells than under GUI shells (such as moving files, for example). However, GUI proponents advocate the comparative usability and simplicity of GUI shells. The best choice is often determined by the way in which a computer will be used. On a server mainly used for data transfers and processing with expert administration, a CLI is likely to be the best choice. On the other hand, a GUI would be more appropriate for a computer to be used for image or video editing and the development of the above data.
Modern versions of the Microsoft Windows operating system use Windows Explorer as their shell. Explorer provides the familiar desktop environment, Start menu, and task bar, as well as the file management functions of the operating system. Older versions also include Program Manager which was the Shell for the 3.x series of Microsoft Windows.
Many individuals and developers dissatisfied with the interface of Windows Explorer have developed software that either alters the functioning and appearance of the shell or replaces it entirely. WindowBlinds by StarDock is a good example of the former sort of application. LiteStep, GeoShell and BB4Win are good examples of the latter.
Contents |
[edit] List of shells
[edit] Graphical (GUI) shells
Graphical (GUI) shells typically build on top of a windowing system. In case of the X Window System, there are both independent X window managers, and complete desktop environments which depend on a window manager.
- AmigaOS environments:
- Workbench (GUI-Shell capabilities added since AmigaOS 2.0)
- Ambient (for MorphOS)
- Directory Opus
- ScalOS
- Wanderer (for AROS.)
- Microsoft Windows environments:
- X Window System environments (primarily for Unix-like operating systems):
- independent X window managers, such as Blackbox and Fluxbox
- full desktop environments, such as:
[edit] Text (CLI) shells
Non-Unix shells:
- AmigaOS - Amiga CLI/Amiga Shell which functioned as alternative to the Amiga GUI called Workbench
- Basic-Plus - RSTS/E
- CCP - console command processor of CP/M
- COMMAND.COM - shell for DOS
- cmd.exe - shell for OS/2 in text mode and for Windows NT and later Windows operating systems
- Commodore DOS Wedge - an extension to the Commodore 64's BASIC 2.0 that included shorthand for common disk operations
- DCL - the standard shell for OpenVMS, deriving from versions created for earlier DEC operating systems
- DDT - PDP-10 debugger from DEC used as a command shell for the MIT Incompatible Timesharing System
- DROS - J2ME Platform based DOS like shell for smart phones.
- iSeries QSHELL - 'UNIX style shell' on the IBM OS/400
- Macintosh Programmer's Workshop - old command line environment used for software development on the classic Mac OS
- Microsoft BASIC - the primary operating environment for a number of older 8-bit computer systems
- Windows PowerShell - an object-oriented replacement for cmd.exe (formerly known as Monad or the Microsoft Shell (MSH))
- Windows Recovery Console - feature of the Windows 2000, Windows XP and Windows 2003 operating systems
- 4DOS, 4OS2, 4NT - shells for DOS, OS/2, and Windows NT written and sold by JP Software. The Take Command programs were compatible shells requiring and enjoying a GUI.
Shells for programming languages:
- JavaScript shell [1]
- JavaScript shell bookmarklet for IE [2]
- Python's standard interpreter can be invoked in a shell mode
- Interactive Ruby Shell interactive version of ruby
- GMLCMD - GML Shell
- BeanShell - Shell for Java
- Bourne shell (sh)
- Almquist shell (ash)
- Bourne-Again shell (bash)
- Korn shell (ksh)
- Friendly interactive shell (fish)
- C shell (csh)
- TENEX C shell (tcsh)
- Es shell (es)
- rc shell (rc) - shell for Plan 9 and Unix
- scsh (Scheme Shell)
- Z shell (zsh)