Shell是系统 的用户界面 ,提供了用户与内核 进行交互操作的一种接口 。它接收用户输入的命令并把它送入内核去执行。
实际上Shell是一个命令解释器 , 它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。 Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序 具有同样的效果。
Linux提供了像Microsoft Windows 那样的可视的命令输入界面--X Window 的图形用户界面 (GUI )。它提供了很多桌面环境 系统,其操作就象Windows一样,有窗口、图标和菜单,所有的管理都是通过鼠标控制。现在比较流行的桌面环境系统是KDE 和GNOME 。 每个Linux 系统的用户可以拥有他自己的用户界面或Shell,用以满足他们自己专门的Shell需要。
同Linux本身一样,Shell也有多种不同的版本。目前主要有下列版本的Shell: Bourne Shell:是贝尔实验室 开发的。
BASH:是GNU 的Bourne Again Shell,是GNU操作系统 上默认的shell。
Korn Shell:是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。
C Shell:是SUN公司Shell的BSD版本。