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编程。
关于详细介绍,请参考: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编程。
相关文章推荐
- Linux socket 初步
- android wifi 无线调试
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- 动态清空 nohup 输出文件
- install scrapy with pip and easy_install
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户