1.5 Shell 的使用
Shell是UNIX/Linux 系统的重要组成部分。在UNIX/Linux 下,Shell扮演了一个双重角色。虽然它表面上和Windows 的命令提示符相似,但是它却具备完成执行复杂程序的强大功能。用户不仅可以通过它执行命令、调用Linux 工具,还可以把Shell作为一种编程语音,编写自己的程序。本节向读者介绍Linux 下Shell的简单使用。
1.5.1 Shell 简介
用户登录Linux 系统时,可以进入基于XWindow的图形界面系统,如KDE 或GNOME。当然,很多工作可以在图形界面环境下完成,但是在服务器应用环境的很多情况下,需要远程连接到服务器进行管理配置,而使用命令行模式进行管理更加方便和简单,因此简单介绍Linux Shell的使用是本书必不可少的一部分,但本书毕竟并不是Shell的专业书籍,在此只能简单介绍Linux Shell的基础知识,关于更深入的学习,读者可以参考其他相关书籍。
如果系统设置为不自动启动图形接口,那么用户登录以后得到的就是一个等待输入命令的Shell 提示符,标识了可以开始发出命令;如果系统设置为自动启动图形系统,那么用户可以选择“开始”→“系统工具”→“终端”命令(不同的Linux 版本会稍有不同,本书是以Red Hat Linux 9.0进行讲解),运行终端仿真程序,便可以通过在命令提示符后面输入Linux命令及参数,进行相应的操作。Shell终端界面如图1.42 所示。
|
| 图1.42 Shell 终端 |
用户登录或运行终端类比程序时,实际就进入了Shell。那么,Shell 是什么呢?确切地说,Shell就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给操作系统内核,它为用户提供了一个向Linux 发送请求以便运行程序的接口,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
Shell 本身是一个用C 语言编写的程序,它是用户使用Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。作为命令语言,它互动式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高阶语言中才具有的控制结构,包括循环和分支。它虽然不是Linux 系统内核的一部分,但它调用了系统内核的大部分功能来执行程序、创建文档并以并行的方式协调各个程序的运行。因此,对于用户来说,Shell是最重要的实用程序,深入了解和熟练掌握Shell的特性及其使用方法,是用好Linux 系统的关键。可以说,Shell使用的熟练程度反映了用户对Linux 使用的熟练程度。
在 Shell 中,用户使用Linux 是通过命令来完成所需工作的。一个命令就是用户和Shell之间对话的一个基本单位,它是由多个字符组成并以换行结束的字串。Shell解释用户输入的命令,并翻译成操作系统内核可以执行的指令,系统根据这些指令执行相应的动作。