1、Shell定义
俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它接收用户命令,然后调用相应的应用程序。同时它又是一种程序设计语言,交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
2、Shell分类
基本上可以分为图形界面shell(Graphical User Interface shell ,即 GUI shell)和命令行式shell(Command Line Interface shell ,即CLI shell),传统意义上的Shell是指命令行式的Shell。
目前,在主要的Linux和UNIX系统中,有3种最有名而且被广泛支持的Shell,分别是Bourne Shell(A&T Shell,又被简称为sh,Linux下有增强版的Bash)、C Shell(Berkeley Shell,Linux下有增强版的tcsh)和Korn Shell(Bourne Shell的超集)
Bourne Shell
C Shell
Korn Shell
有很长一段时间,只有两类shell供人们选择,Bourne shell用来编程,C shell用来交互。为了改变这种状况,AT&T的bell实验室David Korn开发了Korn shell。ksh结合了所有的C shell的交互式特性,并融入了Bourne shell的语法。因此,Korn shell广受用户的欢迎。它还新增了数学计算,进程协作(coprocess)、行内编辑(inline editing)等功能。Korn Shell 是一个交互式的命令解释器和命令编程语言
3、Bash Shell
Bash是Bourne Again Shell的缩写,他是由自由软件基金会的Brian Fox在1987年开发的,之后得到了Case Western Reserve大学的Chet Ramey的进一步发展。Bash包括了早期的Bourne Shell和Korn Shell的所有功能,并且加入了C Shell的某些功能。现在无论使用哪种OS,默认的Shell总是Bash,其中在Linux和UNIX中可以用echo $SHELL命令查看使用的是哪种Shell
4、使用其他Shell
查看其他Shell的两种方式
如果要想暂时使用其他的shell,可以直接输入其名字即可使用该Shell,如sh,bash,tcsh...
如果想永久的更改Shell,则可以使用chsh命令,如图: