刚刚接触Linux的时候可能会混淆一个概念:shell与bash,这两者之间的关系也都是模模糊糊的,使用Windows系统的人可能对shell没啥感觉,因为只需要点点鼠标,计算机就能安装我们的需求进行相关的操作,那么为什么计算机就能设别我们的操作呢,人机有别,人的语言,机器怎么会懂呢,这时就需要一个翻译,将语言动作翻译给机器 ,shell就是充当人与计算机之间的翻译官。
在linux中图形界面不是很强,大部分都是通过命令进行系统控制,所以shell就是显得特别重要,来看看官方的定义
Unix shell:一种壳层与命令行界面,是Unix操作系统下传统的用户和计算机的交互界面。 普通意义上的shell就是可以接受用户输入命令的程序。它之所以被称作shell是因为它隐藏 了操作系统低层的细节。Unix操作系统下的shell既是用户交互的界面,也是控制系统的脚本语言。
bash是shell的一种,大多数Linux系统默认使用的shell,bash shell是Bourne shell 的一个免费版本,它是最早的Unix shell,bash还有一个特点,可以通过help命令来查看帮助。包含的功能几乎可以涵盖shell所具有的功能,所以一般的shell脚本都会指定它为执行路径。
csh是shell的另一种,C shell 使用的是“类C”语法,csh是具有C语言风格的一种shell,其内部命令有52个,较为庞大。目前使用的并不多,已经被/bin/tcsh所取代。