There are many different shells available for Linux/Unix, including those that come pre-installed with various distributions, as well as those that can be installed separately. Here is a list of some of the most common shells, along with their paths and types, sorted alphabetically by name:
The most common shell is the bash shell. We like to use zsh for our workspaces. Its more fancy then bash and many plugins and themes are available. Its also quite well known while working on a Mac too.
ash: The Almquist shell is a lightweight, POSIX-compliant shell used in embedded systems or environments with limited resources. It is similar to the Bourne shell (sh) and supports shell scripts.
bash: The Bourne-again shell is one of the most widely used shells in Linux and macOS. It is a powerful, feature-rich shell that supports command-line editing, programmable completion, and shell scripts. Bash is the default shell for most Linux distributions.
bigsh: This shell is not a standard shell and is not widely used. It is designed to be a small, fast shell that is easy to embed in other applications.
bsh: The Bourne shell is one of the earliest shells and is the predecessor to bash. It is a simple, text-based shell that provides a basic set of features for executing commands and shell scripts.
csh: The C shell is a popular shell in UNIX and UNIX-like operating systems. It has a syntax that is similar to the C programming language and provides advanced features such as job control and command-line editing.
dash: The Debian Almquist shell is a lightweight, POSIX-compliant shell that is designed to be fast and efficient. It is commonly used in embedded systems or environments with limited resources.
jsh: The Jornada shell is a shell designed specifically for the HP Jornada handheld computer. It is based on the Almquist shell and provides a basic set of features for executing commands and shell scripts.
ksh: The Korn shell is a powerful shell that is similar to the Bourne shell but provides many additional features, such as command-line editing, history, and advanced scripting capabilities.
ksh93: This is the latest version of the Korn shell and provides even more advanced features than its predecessor.
mksh: The MirBSD Korn shell is a lightweight, portable shell that is designed to be compatible with both the Korn shell and the POSIX shell.
osh: The Oil shell is a new shell that is designed to be a modern replacement for bash. It provides advanced features such as first-class functions, better error messages, and better syntax for shell scripts.
pdksh: The Public Domain Korn shell is a free, open-source implementation of the Korn shell. It provides many of the features of the Korn shell and is compatible with most Korn shell scripts.
pfbash: The pdksh-based FreeBsd shell is a shell derived from pdksh that is used in FreeBSD systems.
pfcsh: The pdksh-based FreeBsd C shell is a shell derived from pdksh that is used in FreeBSD systems.
pfksh: The pdksh-based FreeBsd Korn shell is a shell derived from pdksh that is used in FreeBSD systems.
pfksh93: The pdksh-based FreeBsd Korn shell version 93 is a shell derived from pdksh that is used in FreeBSD systems and is compatible with ksh93.
pfsh: The pdksh-based FreeBsd Bourne shell is a shell derived from pdksh that is used in FreeBSD systems.
pftcsh: The pdksh-based FreeBsd tcsh is a shell derived from pdksh that is used in FreeBSD systems.
pfzsh: The pdksh-based FreeBsd Z shell is a shell derived from pdksh and is designed to be compatible with the Z shell but provides additional features and improvements. It is commonly used in FreeBSD systems and provides advanced features such as command-line editing, history, and job control, as well as support for plugins and scripting. The pfzsh shell is a popular choice for advanced users who require a powerful and customizable shell for their FreeBSD system.
posh: The Policy-compliant Ordinary SHell is a minimalist shell designed to be POSIX-compliant and to provide a small set of basic features for executing commands and shell scripts. It is commonly used in embedded systems or environments with limited resources.
posix/sh: The POSIX shell is a standard shell that is designed to be POSIX-compliant and to provide a standard set of features that are common to most shells. It provides a basic set of features for executing commands and shell scripts.
rc: The Research shell is a shell that was developed at Bell Labs and is designed to be a small, fast shell that is easy to use. It provides a basic set of features for executing commands and shell scripts.
rksh: The Restricted Korn shell is a version of the Korn shell that is designed to be more secure by restricting the user’s access to certain commands and resources.
rsh: The Remote shell is a shell that is used to execute commands on remote systems. It provides a basic set of features for executing commands and shell scripts on remote systems.
rsh5: The Remote shell version 5 is an updated version of the Remote shell that provides additional features and security enhancements.
sh: The Bourne shell is one of the earliest shells and is the predecessor to bash. It is a simple, text-based shell that provides a basic set of features for executing commands and shell scripts.
sh5: The Bourne shell version 5 is an updated version of the Bourne shell that provides additional features and enhancements.
ssh: The Secure shell is a shell that is used to execute commands on remote systems securely. It provides encryption and authentication features to ensure the security of remote connections.
tcsh: The TENEX C shell is a popular shell that is based on the C shell and provides advanced features such as command-line editing, history, and job control.
wsh: The Windows shell is the default shell for the Microsoft Windows operating system. It provides a graphical user interface (GUI) for executing commands and running programs.
xwsh: The X Window System shell is a shell that is used in the X Window System, which provides a graphical user interface for UNIX and UNIX-like operating systems.
zsh: The Z shell is a powerful shell that is designed to be compatible with the Bourne shell and the Korn shell but provides many additional features, such as command-line editing, history, and advanced scripting capabilities. It is commonly used in macOS and Linux systems.