shell到底是什么?

转载 2015年11月18日 14:19:13

说到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是什么?

任何发明都具有供用户使用的界面。UNIX供用户使用的界面就是Shell(DOS的command熟悉吧,但UNIX的要强大的多)。 Shell为用户提供了输入命令和参数并可得到命令执行结果的环境。   ...

什么是Shell

 Shell是一种具备特殊功能的程序, 它是介于使用者和 UNIX/linux 操作系统之核心程序(kernel)间的一个接口。为什么我们说 shell 是一种介于系统核心程序与使用者间的中介者呢?读...
  • eako
  • eako
  • 2006年11月29日 17:46
  • 795

shell脚本的一些基本操作

shell简介 shell脚本不过是一些文件,我们将一系列需要执行的命令写入其中,然后通过shell来执行这些命令。 shell脚本的执行方式 1. sh script.sh # 脚本在当前目录...

LINUX-SHELL之数字运算

在Bash shell环境中,可以利用let,(())和[]执行基本的算数操作。而在进行高级操作时,expr和bc这两个工具也会非常有用。数字的加减我们在shell中普通的变量赋值的时候会被存储为字符...

交互设计师到底是什么

  • 2012年09月19日 16:33
  • 651KB
  • 下载

程序示例说明Java泛型到底是什么

Java泛型到底什么,在看《数据结构与算法分析》一书时我不禁问自己。其书中介绍甚为抽象,本人就想试着用程序实验一下java泛型。参考了小顾问@cnblogs的关于java泛型的博文。本人的理解Java...

小米路由器:路由器的外皮下到底是什么?

最近微信微博上流传着这么一个段子:“雷军想要占领客厅,却忽略了他的大部分粉丝根本就没有厅”,并且很快就在互联网思维的作用下快速迭代出另外一个分支:“也许他们就住在厅里”。 小米的目标客户群中到底有多...

java虚拟机到底是什么

转自:http://blog.csdn.net/zhangjg_blog/article/details/20380971 虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现...

java中的file.encoding属性到底是什么?

java中的file.encoding属性和sun.jnu.encoding属性到底是什么?从哪里来?干什么用?让我们一步步走向真相。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:shell到底是什么?
举报原因:
原因补充:

(最多只允许输入30个字)