A shell is a software program that provides an interface between the user and the operating system. Users issue commands through the shell, which interprets the commands and passes them onto the operating system to execute. While the word "shell" is most often associated with a text-based command line interface, it may also refer to an operating system's graphical user interface.

A command line shell is a text-based interface where you can type commands to perform functions such as running programs, opening and navigating directories, and viewing currently-running processes. However, to execute a command, you must know its proper syntax — both the command's name and how to correctly use arguments to modify it to do what you want. Once you know how to enter commands, you can even write shell scripts to automate actions.

Shells are most commonly associated with Unix, as many Unix users like to interact with the operating system using the text-based interface. Different Unix and Linux distributions include several possible shells, like the original Bourne (sh) and C (csh) shells, Bash (bash), and Z shell (zsh). Windows includes two command line shells: a basic command prompt called cmd.exe, and an advanced shell and scripting language called PowerShell.

A shell may also provide a graphical user interface (GUI). These interfaces make it easier to perform basic commands by including navigable menus and clickable buttons but are often unable to include every command possible in a command line shell. Explorer is Windows' GUI shell, the macOS shell is called Finder, and Unix-like operating systems support several possible GUIs like GNOME Shell and KDE Plasma.

Updated March 8, 2023 by Brian P.

quizTest Your Knowledge

What was the final version of Apple's "OS X" operating system?

Correct! Incorrect!     View the OS X definition.
More Quizzes →

The Tech Terms Computer Dictionary

The definition of Shell on this page is an original definition written by the team. If you would like to reference this page or cite this definition, please use the green citation links above.

The goal of is to explain computer terminology in a way that is easy to understand. We strive for simplicity and accuracy with every definition we publish. If you have feedback about this definition or would like to suggest a new technical term, please contact us.

Sign up for the free TechTerms Newsletter

How often would you like to receive an email?

You can unsubscribe or change your frequency setting at any time using the links available in each email.

Questions? Please contact us.