Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
A shell is software that provides an interface for an operating system's users to provide access to the kernel's services.
On Unix-based or Linux-based operating systems, a shell can be invoked through the shell command in the command line interface (CLI), allowing users to direct operations through computer commands, text or script.
Shells also exist for programming languages, providing them with autonomy from the operating system and allowing cross-platform compatibility.
Most of the shells created for other operating systems offer equivalents to Unix shell functionality. On Microsoft Windows systems, some users may never use the shell directly, as services are handled automatically. In Unix, shells are created through the implementation of system startup scripts. This happens in Windows too, but shell scripts are usually preconfigured and run automatically as required by the system.
Unix shells are divided into four categories:
On some systems, the shell is just an environment where applications can run in protected memory space so that resources can be shared among multiple active shells, with the kernel managing the resource requests for input/output, CPU stack execution or memory access. Other systems run everything inside a single shell.