您的位置:首页 > 运维架构 > Shell

shell到底是什么?

2015-11-18 14:19 309 查看
说到Linux,不得不提shell,大家都知道“shell是命令解析器“,单凭这一句话,我们其实很难知道shell到底是什么,下面我们就从四个方面对shell做一个更加透明的介绍。

关于详细介绍,请参考:http://baike.baidu.com/subview/849/15831672.htm

【一】shell的含义:

首先shell的英文含义是“壳”;它是相对于内核来说的,因为它是建议在核的基础上,面向于用户的一种表现形式,比如我们看到一个球,见到的是它的壳,而非核。

Linux中的shell,是指一个面向用户的命令接口,表现形式就是一个可以由用户录入的界面,这个界面也可以反馈运行信息。

【二】shell在Linux中的存在形式:

由于Linux不同于Windows,Linux是内核与界面分离的,它可以脱离图形界面而单独运行,同样也可以在内核的基础上运行图形化的桌面。

这样,在Linux系统中,就出现了两种shell表现形式,一种是在无图形界面下的终端运行环境下的shell,另一种是桌面上运行的类似Windows 的MS-DOS运行窗口,前者我们一般习惯性地简称为终端,后者一般直接称为shell。

【三】shell如何执行用户的指令

shell有两种执行指令的方式:

一种方法是用户事先编写一个sh脚本文件,内含shell脚本,而后使用shell程序执行该脚本,这种方式,我们习惯称为shell编程。

第二种形式,则是用户直接在shell界面上执行shell命令,由于shell界面的关系,大家都习惯一行行的书写,很少写出成套的程序来一起执行,所以也称命令行。

【四】shell的类型

Unix中shell主要有以下几种类型:

Bourne shell (包括 sh,ksh,and bash)

Bourne shell (sh)

Korn shell (ksh)

Bourne Again shell (bash)

POSIX shell (sh)

C shell (包括 csh and tcsh)

C shell (csh)

TENEX/TOPS C shell (tcsh)

其中,bash是linux中默认的shell。

注:因为shell的类型有很多,所以在进行shell编程时,首先需要知道是哪种类型的shell。例如:会bash编程的人不一定会csh编程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell linux shell编程 bash