- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
什么是shell
第7章 什么是Shell
6.1 内核(kernel)与Shell
我们经常听到操作系统内核这个词,那么什么是操作系统的内核呢?
内核这个词起源于UNIX,在UNIX的设计中首先使用了层次结构的设计,这种结构将操作系统的组成程序按照他们对于系统的重要性和对于具体设备的依赖性划分为几个层次,其中作为系统最为核心,独立于具体硬件设备和软件资源的部分就称之为内核。这是操作系统中最稳定,也是最基本的部分。内核有责任解释基本指令并将其送到处理器负责运行和调度进程以及执行所有的输入输出。内核UNIX系统的心脏,内核有且只有一个。Linux操作系统?, 也都使用了这种先进的设计。
在了解了内核的概念之后,我们就可以更清楚地理解Shell的作用了。坚果的壳保护其内部的核,同样一个Linux Shell提供一个外设的保护层。为了对用户屏蔽内核的复杂性,也为了保护内核以免用户误操作造成损害,在内核的周围建了一个外壳Shell。-1描述了用户、Shell、内核与硬件设备之间的层次关系。在整个系统中,“硬件”是实体工作者;控制硬件进行工作的是“核心”;而用户正是利用“Shell”与内核进行沟通,来操控硬件进行正确的工作。
图6-1 用户、Shell、内核及硬件的层次关系
6.2 什么是Shell
Shell就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给系统。它为用户提供了一个向Linux发送请求以便运行程序的接口系统级程序,是用户使用Linux的桥梁用户可以用Shell来启动、挂起、停止甚至是编写一些程序。Shell本身是一个用C语言编写的程序它既是一种命令语言,又是一种程序设计语言。作为命令语言,它互动式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高阶语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统内核的一部分,但它调用了系统内核的大部分功能来执行程序、创建文档并以并行的方式协调各个程序的运行。因此,对于用户来说,Shell是最重要的实用程序,深入了解和熟练掌握Shell的特性其使用方法,是用好Linux系统的关键。Shell是何时启动,又如何进行工作的呢?在系统启动的时候,程序会被加载内存,负责管理系统的工作,直到系统关闭为止。它建立并控制着处理程序,管理内存、系统、通讯等等。而其它的程序,包括 Shell 程序,都存放在磁盘中。程序将它们加载内存,执行它们,并且在它们止后清理系统。Shell 是一个公用程序,它在启动并提示输入命令。当用户使用Linux时是通过命令来完成所需工作的。一个Linux命令ls、cd等,就是用户和Shell之间对话的一个基本单位在键入一个命令后,接着就是 Shell 的工作了,它会进行:1. 语法分析命令列?2. 处理万用字符(wildcards)、转向(redirection)、管(pipes)与工作控制(job control)3. 搜寻并执行命令??
每个Linux系统Shell, 每个用户可以拥有他自己的用户接口或Shell,用以满足他们自己专门的Shell需要。Linux还提供了像Microsoft Windows那样的可视的命令输入接口--X Window的图形用户接口(GUI)。它提供了很多窗口管理器,其操作就象Windows一样,有窗口、图标和菜单,所有的管理都是通过鼠标控制。现在比较流行的窗口管理器是KDE和GNOME。Linux的过程中,如果经常输入一组相同形式的命令,想要自动执行那些。,可以将命令放入一个称为命令(script)?,又叫做脚本。在以后的章节中,我们会陆续介绍一些脚本编写的例子。
6.3 Shell变量
为使Shell编程更有效,系统提供了一些Shell变量。Shell变量可以保存诸如路径名、文件名或者数字等变量名,还可以定制用户本身的工作环境。使用变量可以保存有用信息,使系统获知用户相关设置;变量还可用于保存暂时信息。
Shell可以定义两种变量:本地变量和环境变量。除此之外,还有两种特殊变量,它们是只读的,用于向Shell脚本传递参数,我们分别称之为位置变量参数和特定变量参数。
6.3.1 本地变量
本地变量是只能在用户的当前Shell中使用的变量,是Shell私有的。它们在当前Shell的进程内部创建,但不会传递给由该Shell创建的任何子进程。在任何时候,file-name取值为test .txt,这个值只在用户当前Shell生命期有意义。如果在Shell中启动另一个进程或退出,此值将无效。这种变量的优点就是用户不能对其他的Shell或进程设置此变量有效。
6.3.1.1 变量的设置
我们在表6-1中列出了变量设
您可能关注的文档
最近下载
- 三年级上册数学应用题专项训练.pdf VIP
- 现代幼儿教师实用英语口语 (10)字母教学.pptx VIP
- 1.2.3多细胞生物教学设计 (表格式)苏教版生物七年级上册.docx VIP
- 《生物化学》考研查锡良版2025年配套名校考研真题库.pdf VIP
- 110KV升压站工程施工组织设计.pdf VIP
- 高职院校产教融合、校企合作项目质量评价体系构建的探索.docx VIP
- 2025年山东省公安机关公务员录用考试模拟试卷.docx VIP
- 2025北京师范大学校医院事业编医生岗招聘2人笔试模拟试题及答案解析.docx VIP
- 2025ADA血糖管理指南解读.pptx VIP
- 音乐鉴赏:音乐基础知识PPT教学课件.pptx VIP
原创力文档


文档评论(0)