一个Unix(或类Unix例如Linux)shell,也称为“命令行”,为Unix操作系统和类Unix系统提供了传统的用户界面。用户直接通过键入命令指导计算机的操作,输入作为一个文本让shell来执行。
术语shell的通常意义是用户使用来键入命令的任何程序。因为Unix操作系统用户能够选择他们想使用哪个shell(当他们登录时哪个程序应该执行),很多shells 已经被开发出来。它被称作“shell”因为它在这个shell的界面后隐藏了潜在的操作系统(相比“kernel”,它指最低级别,或“最隐秘的”的操作系统部件)。类似地,Unix的图形用户界面,例如GNOME, KDE和 Xfce能够被叫做visual shells或graphical shells.
本身,术语shell通常与命令行联系在一起。在 Unix中,任何程序都能够是这个用户的shell。用户希望使用不同语法来键入命令能够指定另外一个程序作为他们的shell。
术语shell也指一个特定的程序,例如Bourne shell,sh.这个Bourne shell是使用在Unix早期版本的shell而且已经变成一个de facto标准;每个类Unix系统至少有一个shell与Bourne shell相兼容。Bourne shell程序位于Unix文件树下。在一些系统中,例如BSD,/bin/sh是一个Bourne shell或相当的shell,但是在其它系统中例如Linux中,/bin/sh可能是相容的一个链接,或是特征丰富的shell。POSIX指定它的标准shell是Korn shell的严格子集。
常见的Unix shells列出如下:
|
Bourne shell 兼容的 |
C shell 兼容的 |
其它 shells |
|||||||||
|
Bourne shell |
Korn Shell |
Bourne-Again shell |
Z Shell |
C Shell |
TENEX C shell |
fish |
rc |
easy shell |
pash |
Zoidberg |
Scheme Shell |


