Shell的分类

22 篇文章 1 订阅
13 篇文章 1 订阅

简介

在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(command interpreter,命令解析器)。它类似于DOS下的COMMAND.COM和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。

Shell的分类

基本上shell分两大类:

一、图形界面shell

(Graphical User Interface shell 即 GUI shell)

例如:应用最为广泛的Windows Explorer(微软的Windows系列操作系统),还有也包括广为人知的Linux shell,其中Linux shell包括X Window Manager(BlackBox和FluxBox),以及功能更强大的CDE、GNOME、KDE、 Xfce。

二、命令行式shell

(Command Line Interface shell ,即CLI shell)

例如:

sh(Bourne Shell)/csh/tcsh/bash/ksh/zsh/fish等(Unix及类unix)
COMMAND.COM(CP/M系统;MS-DOS、PC-DOS、DR-DOS、FreeDOS等DOS;Windows 9x)

cmd.exe/命令提示符(OS/2、Windows NT、React OS)

Windows PowerShell(支持.NET Framework技术的Windows NT)

GCOS Command Language (GCL)(Honeywell GCOS)

MULTICS Command Language(MULTICS)

DIGITAL Command Language(DCL)(OpenVMS)

RDOS/DOS Command Line Interpreter

传统意义上的shell指的是命令行式的shell,以后如果不特别注明,shell是指命令行式的shell。

文字操作系统与外部最主要的接口就叫做shell。shell是操作系统最外面的一层。shell管理与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。

shell提供了你与操作系统之间通讯的方式。这种通讯可以以交互方式(从键盘输入,并且可以立即得到响应),或者以shell script(非交互)方式执行。shell script是放在文件中的一串shell和操作系统命令,它们可以被重复使用。本质上,shell script是命令行命令简单的组合到一个文件里面。

Shell基本上是一个命令解释器,类似于DOS下的COMMAND.COM。它接收用户输入的命令(如ls等),然后调用相应的应用程序。较为通用的shell有标准的Bourne shell和C Shell。

交互式shell和非交互式shell

交互式模式就是shell等待用户的输入,并且执行用户提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当用户签退后,shell也终止了。
shell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与用户进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。

Unix shell的类型

在UNIX中主要有:

  • Bourne shell(sh)
  • Korn shell(ksh)
  • Bourne Again shell(bash)
  • POSIX shell(sh)
  • C shell(csh)
  • TENEX/TOPS C shell(tcsh)

Bourne Shell(sh)

首个重要的标准Unix Shell是1979年底在V7 Unix(AT&T第7版)中引入的,并且以它的创始科技部基础条件平台“国家气象网络计算应用节点建设”(2004DKA50730)资助者Stephen Bourne的名字命名。Bourne shell 是一个交换式的命令解释器和命令编程语言。Bourne shell可以运行为login shell或者login shell的子shell(subshell)。只有login命令可以调用Bourne shell作为一个login shell。此时,shell先读取/etc/profile文件和$HOME/.profile文件。

/etc/profile文件为所有的用户定制环境,$HOME/.profile文件为本用户定制环境。最后,shell会等待读取你的输入。

C shell(csh)

Bill Joy于20世纪80年代早期,在加利福尼亚大学伯克利分校开发了csh。它主要是为了让用户更容易地使用交互式功能,并把ALGOL风格的语法结构变成了C语言风格。它新增了命令历史、别名、文件名替换、作业控制等功能。

Korn Shell(ksh)

有很长一段时间,只有两类shell供人们选择——Bourne shell用来编程,csh用来交互。为了改变这种状况,AT&T贝尔实验室的David Korn开发了ksh。ksh结合了所有的C shell的交互式特性,并融入了Bourne shell的语法。因此,ksh广受用户的欢迎。它还新增了数学计算,进程协作(coprocess)、行内编辑(inline editing)等功能。ksh是一个交互式的命令解释器和命令编程语言。它符合POSIX——一个操作系统的国际标准。POSIX不是一个操作系统,而是一个目标在于应用程序的移植性的标准——在源程序一级跨越多种平台。

Bourne Again Shell(bash)

bash是GNU计划的一部分,用来替代Bourne shell。它用于基于GNU的系统如Linux。大多数的Linux(Red Hat、Slackware、Caldera)都以bash作为缺省的shell,并且运行sh时,其实调用的是bash。

POSIX Shell(sh)

POSIX shell是Korn shell的一个变种. 当前提供POSIX shell的最大卖主是Hewlett-Packard。在HP-UX 11.0,POSIX shell 就是/bin/sh,而bsh是/usr/old/bin/sh。

各主要操作系统下缺省的shell

AIX下是Korn Shell。

Solaris缺省的是Bourne shell。

FreeBSD缺省的是C shell。

HP-UX缺省的是POSIX shell。

Linux是Bourne Again shell。

Windows Powershell

Windows PowerShell是一种新的交互式的命令行和基于任务脚本编写技术,它使信息技术(IT)管理员能够全面地自动操作和控制系统管理任务,从而提高了管理员的生产力。Windows PowerShell包括多个系统管理实用工具、一致的语法和命名惯例、及对普通管理数据更好地导航,如登记、证书存储或Windows Management Instrumentation(WMI)。Windows PowerShell还专门针对IT管理,提供直观的脚本编写语言。
Shell也是一个VB函数,它的作用是运行程序,语法是Shell(命令字符串[,窗口类型])

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YoungGeeker

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值