博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Shell 基础篇---什么是 Shell

Posted on 2008-08-01 09:42  徐正柱-  阅读(232)  评论(0编辑  收藏  举报
 

什么是 Shell

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

   各种操作系统都有它自己的 shell,以 DOS 为例,它的 shell 就是 command.com 檔。如同 DOS 下有 NDOS4DOSDRDOS 等不同的命令解译程序可以取代标准的 command.com UNIX 下除了 Bourne shell/bin/sh 外还有 C shell/bin/csh)、Korn shell/bin/ksh)、Bourne again shell/bin/bash)、Tenex C shelltcsh等其它的 shellUNIX/Linux shell 独立于核心程序之外,使得它就如同一般的应用程序,可以在不影响操作系统本身的情况下进行修改、更新版本或是添加新的功能。