linux操作系统的shell简介及其分类

linux操作系统的shell简介及其分类

ID:13585801

大小:21.71 KB

页数:4页

时间:2018-07-23

linux操作系统的shell简介及其分类_第1页
linux操作系统的shell简介及其分类_第2页
linux操作系统的shell简介及其分类_第3页
linux操作系统的shell简介及其分类_第4页
资源描述:

《linux操作系统的shell简介及其分类》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Linux操作系统的Shell简介及其分类(1)什么是Shell?Shell是一种具备特殊功能的程序,它是介于使用者和UNIX/Linux操作系统之核心程序(kernel)间的一个接口。为什么我们说shell是一种介于系统核心程序与使用者间的中介者呢?读过操作系统概论的读者们都知道操作系统是一个系统资源的管理者与分配者,当您有需求时,您得向系统提出;从操作系统的角度来看,它也必须防止使用者因为错误的操作而造成系统的伤害?众所周知,对计算机下命令得透过命令(command)或是程序(program);程序有编译器(compiler)将程序转为二进制代码,可是命令呢?其

2、实shell也是一支程序,它由输入设备读取命令,再将其转为计算机可以了解的机械码,然后执行它。各种操作系统都有它自己的shell,以DOS为例,它的shell就是command.com檔。如同DOS下有NDOS,4DOS,DRDOS等不同的命令解译程序可以取代标准的command.com,UNIX下除了Bourneshell(/bin/sh)外还有Cshell(/bin/csh)、Kornshell(/bin/ksh)、Bourneagainshell(/bin/bash)、TenexCshell(tcsh)…等其它的shell。UNIX/Linux将shell独立

3、于核心程序之外,使得它就如同一般的应用程序,可以在不影响操作系统本身的情况下进行修改、更新版本或是添加新的功能。Shell的激活在系统起动的时候,核心程序会被加载内存,负责管理系统的工作,直到系统关闭为止。它建立并控制着处理程序,管理内存、档案系统、通讯等等。而其它的程序,包括shell程序,都存放在磁盘中。核心程序将它们加载内存,执行它们,并且在它们中止后清理系统。Shell是一个公用程序,它在您签入时起动。藉由解译使用者输入的命令(由命令列或命令档),Shell提供使用者和核心程序产生交谈的功能。当您签入(login)时,一个交谈式的shell会跟着起动,并提示

4、您输入命令。在您键入一个命令后,接着就是shell的工作了,它会进行:1.语法分析命令列。2.处理万用字符(wildcards)、转向(redirection)、管线(pipes)与工作控制(jobcontrol)。3.搜寻并执行命令。当您刚开始学UNIX/Linux系统时,您大部份的时间会花在于提示符号(prompt)下执行命令。如果您经常会输入一组相同形式的命令,您可能会想要自动执行那些工作。如此,您可以将一些命令放入一个档案(称为命令档,script),然后执行该档。一个shell命令档很像是DOS下的批次檔(如Autoexec.bat):它把一连串的UNIX

5、命令存入一个档案,然后执行该档。较成熟的命令档还支持若干现代程序语言的控制结构,譬如说能做条件判断、循环、档案测试、传送参数等。要写着写命令档,不仅要学习程序设计的结构和技巧,而且对UNIX/Linux公用程序及如何运作需有深入的了解。有些公用程序的功能非常强大(例如grep、sed和awk),它们常被用于命令档来操控命令输出和档案。在您对那些工具和程序设计结构变得熟悉之后,您就可以开始写命令档。当由命令档执行命令时,此刻,您就已经把shell当做程序语言使用了。细说Shell的生平第一个有重要意义的,标准的UNIXshell是V7(AT&T的第七版)UNIX,在1

6、979年底被提出,且以它的创造者StephenBourne来命名。Bourneshell是以Algol这种语言为基础来设计,主要被用来做自动化系统管理工作。虽然Bourneshell以简单和速度而受欢迎,但它缺少许多交谈性使用的特色,例如历程、别名和工作控制。Linux操作系统的Shell简介及其分类(2)Cshell是在加州大学柏克来分校于70年代末期发展而成,而以2BSDUNIX的部分发行。这个shell主要是由BillJoy写成,提供了一些在标准Bourneshell所看不到的额外特色。Cshell是以C程序语言作为基础,且它被用来当程序语言时,能共享类似的语

7、法。它也提供在交谈式运用上的改进,例如命令列历程、别名和工作控制。因为Cshell是在大型机器上设计出来,且增加了一些额外功能,所以Cshell有在小型机器上跑得较慢,即使在大型机器上跟Bourneshell比起来也显得缓慢。有了Bourneshell和Cshell之后,UNIX使用者就有了选择,且争论那一个shell较好。AT&T的DavidKorn在80年代中期发明了Kornshell,在1986年发行且在1988年成为正式的部分SVR4UNIX。Kornshell实际上是Bourneshell的超集,且不只可在UNIX系统上执行,同时也可在OS/2、VMS

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。