1. 1、本文档共41页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
bash简介

bash简介 硬件、核心与Shell的关系 这应该是个蛮有趣的话题:“什么是Shell”?相信只要摸过计算机,对于操作系统(不论是Linux、Unix或者是Windows)有点概念的朋友们大多听过这个名词,因为只要有“操作系统”那么就离不开Shell这个东西。不过,在讨论Shell之前,我们先来了解一下计算机的运作状况吧!举个例子来说:当你要计算机传输出来“音乐”的时候,你的计算机需要什么东西呢? 1.硬件:当然就是需要你的硬件有“声卡芯片”这个配备,否则怎么会有声音; 2.核心管理:操作系统的核心可以支持这个芯片组,当然还需要提供芯片的驱动程序啰; 3.应用程序:需要使用者(就是你)输入发生声音的指令啰! 这就是基本的一个输出声音所需要的步骤!也就是说,你必须要“输入”一个指令之后,“硬件”才会透过你下达的指令来工作!那么硬件如何知道你下达的指令呢?那就是kernel(核心)的控制工作了!也就是说,我们必须要透过“Shell”将我们输入的指令与Kernel沟通,好让Kernel可以控制硬件来正确无误的工作!基本上,我们可以透过底下这张图来说明一下: 图1.1.1、硬件、核心与用户的相关性图示 我们在第零章内的操作系统小节曾经提到过,操作系统其实是一组软件,由于这组软件在控制整个硬件与管理系统的活动监测,如果这组软件能被用户随意的操作,若使用者应用不当,将会使得整个系统崩溃!因为操作系统管理的就是整个硬件功能嘛!所以当然不能够随便被一些没有管理能力的终端用户随意使用啰! 但是我们总是需要让用户操作系统的,所以就有了在操作系统上面发展的应用程序啦!用户可以透过应用程序来指挥核心,让核心达成我们所需要的硬件任务!如果考虑如第零章所提供的操作系统图标(图4.2.1),我们可以发现应用程序其实是在最外层,就如同鸡蛋的外壳一样,因此这个咚咚也就被称呼为壳程序(shell)啰! 其实壳程序的功能只是提供用户操作系统的一个接口,因此这个壳程序需要可以呼叫其他软件才好。我们在第五章到第十章提到过很多指令,包括man, chmod, chown, vi, fdisk, mkfs等等指令,这些指令都是独立的应用程序,但是我们可以透过壳程序(就是指令列模式)来操作这些应用程序,让这些应用过程调用核心来运作所需的工作哩!这样对于壳程序是否有了一定的概念了? 多种shell和默认shell 知道什么是Shell之后,那么我们来了解一下Linux使用的是哪一个shell呢?什么!哪一个?难道说shell不就是“一个shell吗?”哈哈!那可不!由于早年的Unix年代,发展者众,所以由于shell依据发展者的不同就有许多的版本,例如常听到的Bourne SHell(sh)、在Sun里头预设的C SHell、商业上常用的K SHell、还有TCSH等等,每一种Shell都各有其特点。至于Linux使用的这一种版本就称为“Bourne Again SHell(简称bash)”,这个Shell是Bourne Shell的增强版本,也是基准于GNU的架构下发展出来的呦! 在介绍shell的优点之前,先来说一说shell的简单历史吧(注2):第一个流行的shell是由Steven Bourne发展出来的,为了纪念他所以就称为Bourne shell,或直接简称为sh!而后来另一个广为流传的shell是由柏克莱大学的Bill Joy设计依附于BSD版的Unix系统中的shell,这个shell的语法有点类似C语言,所以才得名为C shell,简称为csh!由于在学术界Sun主机势力相当的庞大,而Sun主要是BSD的分支之一,所以C shell也是另一个很重要而且流传很广的shell之一。 那么目前我们的Linux(以CentOS 5.x为例)有多少我们可以使用的shells呢?你可以检查一下/etc/shells这个档案,至少就有底下这几个可以用的shells: /bin/sh(已经被/bin/bash所取代) /bin/bash(就是Linux预设的shell) /bin/ksh(Kornshell由ATT Bell lab.发展出来的,兼容于bash) /bin/tcsh(整合C Shell,提供更多的功能) /bin/csh(已经被/bin/tcsh所取代) /bin/zsh(基于ksh发展出来的,功能更强大的shell) 虽然各家shell的功能都差不多,但是在某些语法的下达方面则有所不同,因此建议你还是得要选择某一种shell来熟悉一下较佳。Linux预设就是使用bash,所以最初你只要学会bash就非常了不起了!^_^!另外,咦!为什么我们系统上合法的shell要写入/etc/shells这个档案啊?这是因为系统某些服务在运作过程中,会去检查使用者能够使

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档