The shell is a program that takes commands from the keyboard and gives them to the operating system to perform. This environment lets users run commands, programs, and shell scripts. The shell is both an interactive command language and a scripting language, and is used by the operating system to control the execution of the system using shell scripts.
The first Unix shell was the Thompson shell, sh, written by Ken Thompson at Bell Labs back in the early 1970s. Nowadays, on many Linux systems, bash (which stands for Bourne Again SHell) acts as the shell program. It was first released in 1989, and implements the POSIX standard plus many extensions.
But there are lots of other free and open source shells available for Linux. We spotlight our recommended free and open source shells.

Let’s explore the 20 shells in more detail. For each program we have compiled its own portal page, a full description with an in-depth analysis of its features, together with links to relevant resources.
| Shells | |
|---|---|
| zsh | Advanced and programmable command interpreter |
| Nushell | Adopts the Unix philosophy of shells where pipes connect command together |
| Xonsh | Python-powered, cross-platform shell language and command prompt |
| fish | Smart and user-friendly command line shell |
| bash | sh-compatible command language interpreter |
| Murex | Intuitive, typed and content aware shell |
| Elvsh | Expressive programming language and a versatile interactive shell |
| DASH | POSIX-compliant implementation of sh that aims to be as small as possible |
| Oils | Billed as an upgrade to bash. Written in Python. |
| tcsh | C shell with file name completion and command line editing |
| mksh | MirBSD Korn shell |
| ksh | Unix shell which was developed by David Korn at Bell Labs |
| dune | A shell by the beach |
| Rash | Language, library, and shell REPL for Racket. |
| ion | Modern system shell that features a simple, yet powerful, syntax |
| Yash | Yet another shell |
| oksh | Portable OpenBSD ks |
| es | Extensible shell with higher-order functio |
| cosh | Concatenative command-line she |
| arsh | Statically typed scripting language with shell-like features |
This article has been revamped in line with our recent announcement.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Know a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |


“Rating Chart” is missing.
Fixed, thanks.