2.1 Shell命令基础

2.1.1 Shell简介

Shell是Linux系统的外壳,为用户提供使用操作系统的接口,是命令语言、命令解释程序及程序设计语言的统称。

Shell是命令解释器,它解释用户输入的命令并把它们送到内核去执行。Shell允许用户对命令进行编辑,允许用户编写由Shell命令组成的程序,也允许用户使用条件语句、循环语句等流程控制语句,如同高级编程语言一样。

Shell有多种类型,最常用的有Bourne Shell(sh)、C Shell(csh)和Korn Shell(ksh)三种,它们各有优缺点。Bourne Shell在Shell编程方面相当优秀,但在处理与用户的交互方面不如另外两种Shell。Linux操作系统默认的Shell是Bourne Again Shell,它是Bourne Shell的扩展,简称Bash,完全向后兼容Bourne Shell,并且在Bourne Shell的基础上增加、增强了很多特性。C Shell是一种比Bourne Shell更适于编程的Shell,其语法与C语言很相似。Korn Shell集合了C Shell和Bourne Shell的优点并且完全兼容Bourne Shell。

Shell最主要的功能是解释用户在命令提示符后输入的指令,并把它们分解成以Tab键、空格符和换行符等区分开的符号,寻找命令并执行。

Shell提供个性化的用户环境,可以设定终端机键盘、定义窗口的特征、设定变量、定义搜寻路径、定义权限、定义提示符号、定义终端机类型、设定特殊应用程序所需要的变量等。

Linux提供图形用户界面X Window,就像Windows一样,也有窗口、图标和菜单,可以通过鼠标进行所有的管理操作。

当用户成功登录后,系统将执行Shell程序,提供命令提示符,对普通用户,用“$”作提示符,对超级用户,用“#”作提示符。

一旦出现命令提示符,用户就可以输入命令名称及命令所需的参数,系统将执行这些命令。若要中止命令的执行,可以在键盘上按组合键Ctrl+C。若用户结束登录,可以输入logout、exit或按文件结束符(Ctrl+D)。