Lably
Skip to content

Shell (computing)

Direct interface to an operating system

  • 9 min read
  • 6 chapters

Related on Lably

Through Operating system, Computer program and Graphical user interface

Most shells are command-line interface (CLI) programs. Some graphical user interfaces (GUI) also include shells.

Overview

Operating systems provide various services to their users, including file management, process management (running and terminating applications), batch processing, and operating system monitoring and configuration.

Most operating system shells are not direct interfaces to the underlying kernel, even if a shell communicates with the user via peripheral devices attached to the computer directly. Shells are actually special applications that use the kernel API in just the same way as it is used by other application programs. A shell manages the user–system interaction by prompting users for input, interpreting their input, and then handling output from the underlying operating system (much like a read–eval–print loop, REPL). Since the operating system shell is actually an application, it may easily be replaced with another similar application for most operating systems.

In addition to shells running on local systems, there are different ways to make remote systems available to local users; such approaches are usually referred to as remote access or remote administration. Initially available on multi-user mainframes, which provided text-based UIs for each active user simultaneously by means of a text terminal connected to the mainframe via serial line or modem, remote access has extended to Unix-like systems and Microsoft Windows. On Unix-like systems, Secure Shell protocol (SSH) is usually used for text-based shells, while SSH tunneling can be used for X Window System–based graphical user interfaces (GUIs). On Microsoft Windows, text-based remote access is available via both PowerShell Remote and SSH, with the latter supported since Windows 10. Remote Desktop Protocol (RDP) is a proprietary protocol created by Microsoft that enables graphical remote access.

Most operating system shells 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). Other possibilities, although not so common, include a voice user interface and various implementations of a text-based user interface (TUI) that are not CLI, such as text-based menu systems. The relative merits of CLI- and GUI-based shells are often debated. Many computer users use both depending on the task to be performed.

Sign in to keep reading

5 more chapters are free with a Lably account.

More in Computing and communication