文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>为什么叫shell

为什么叫shell

时间:2007-09-19  来源:月中井

我们知道电脑的运行不能离开硬件,但是使用者却无法直接对硬件进行操作,对硬件的操作只能通过一个称为“操作系统(Operating System)”的软件来控制。事实上,我们每天所讨论的linux,严格意义上来说只是一个操作系统,我们称之为“核心(kernel)”。然而,从使用者的角度来说,使用者也没办法直接操作kernel,而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel进行沟通。这也是kernel与shell的形象命名关系。   从技术的角度来说,shell是一个使用者与系统的互动界面(interface),主要是让使用者透过命令行(command line)来使用系统以完成工作。因此,shell的最简单定义就是--命令解释器(Command Interpreter):      * 将使用者的命令翻译给核心处理;      * 同时,将核心处理结果翻译给使用者。   每次当我们完成系统登录(log in),我们就取得一个互动模式的shell,也称为login shell(login shell在操作系统的/etc/passwd文件中的最后一列定义),或者primary shell。   若从进行(process)角度来说,我们在shell所下达的命令,均是shell所产生的子进程。这种现象我们称之为fork。如果是执行脚本(shell script)的话,脚本中的命令则是由另外一个非互动模式的子shell(sub shell)来执行的。也就是primary shell产生sub shell的进程,sub shell再产生script中所有命令的进程。   这里,我们必须知道:kernel与shell是不同的两套软件,而且都是可以被替换的:     *不同的操作系统使用不同的kernel;     *而在同一个kernel之上,也可使用不同的shell。   在linux的预设系统中,通常都可以找到好几种不同的shell,且通常会被列入如下文件里:
    /etc/shells
  不同的shell有着不同的功能,不过彼此之间“大同小异”。   常见的shell主要分为两大主流:     sh:             burne shell (sh)             burne again shell (bash)     csh:             c shell (csh)             tc shell (tcsh)             korn shell (ksh)

大部分的linux系统预设的shell都是bash,其原因大致如下两点:
    *自由软件     *功能强大   bash是gnu project最成功的产品之一,自推出以来深受广大Unix以及Linux用户喜爱,逐渐成为不少组织的系统标准。   (以上原文请参考本站的shell版之shell十三问)
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载