在计算机科学中,Shell俗称壳(用来区别于核), 是指“提供使用者使用界面”的软件(命令解析器)。 它类似于DOS下的command.com。它接收用户命令,然后调用相应的应用程序。同时它又是一种程序设计语言。 作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高阶语言中才具有的控制结构,包括循环和分支。 在C++中,Shell是 希尔排序 的名称。
   基本上shell分两大类:
  一:图形界面shell(Graphical User Interface shell 即 GUI shell)
   例如:应用最为广泛的 Windows Explorer (微软的windows系列制作系统),还有也包括广为人知的 Linux shell,其中linux shell 包括 X windows manger (BlackBox和FluxBox),以及功能更强大的CDE、GNOME、KDE、 XFCE。
   二:命令行式shell(Command Line Interface shell ,即CLI shell)
  例如:
   bash / sh / ksh / csh(Unix/linux 系统) 
  COMMAND.COM(MS-DOS 系统) 
   cmd.exe  / 命令提示字符(Windows NT 系统) 
  Windows PowerShell(支援 .NET Framework 技术的 Windows NT 系统) 
  传 统意义上的shell指的是命令行式的shell,以后如果不特别注明,shell是指命令行式的shell。
   文字 操作系统 与外部最主要的接口就叫做shell。shell是操作系统最外面的一层。shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。 
   shell提供了你与操作系统之间通讯的方式。这种通讯可以以交互方式(从键盘输入,并且可以立即得到响应),或者以shell script(非交互)方式执行。shell script是放在文件中的一串shell和操作系统命令,它们可以被重复使用。本质上,shell script是命令行命令简单的组合到一个文件里面。 
  Shell基本上是一个命令解释器,类似于 DOS 下的command.com。它接收用户命令(如ls等),然后调用相应的应用程序。较为通用的shell有标准的Bourne shell (sh)和C shell (csh)。 
   交互式shell和非交互式shell 
  交互式模式就是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) 
  Bourne Shell 
  首个重要的标准Unix Shell是1970年底在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 
  Bill Joy于20世纪80年代早期,在Berkeley的加利福尼亚大学开发了C shell。它主要是为了让用户更容易的使用交互式功能,并把ALGOL风格的语法结构变成了C语言风格。它新增了命令历史、别名、文件名替换、作业控制等功能。 
  Korn Shell 
  有很长一段时间,只有两类shell供人们选择,Bourne shell用来编程,C shell用来交互。为了改变这种状况,AT&T的bell实验室David Korn开发了Korn shell。ksh结合了所有的C shell的交互式特性,并融入了Bourne shell的语法。因此,Korn shell广受用户的欢迎。它还新增了数学计算,进程协作(coprocess)、行内编辑(inline editing)等功能。Korn Shell 是一个交互式的命令解释器和命令编程语言.它符合POSIX——一个操作系统的国际标准.POSIX不是一个操作系统,而是一个目标在于应用程序的移植性的标准——在源程序一级跨越多种平台。 
  Bourne Again Shell (bash) 
   bash是GNU计划的一部分,用来替代Bourne shell。它用于基于GNU的系统如Linux.大多数的Linux(Red Hat, Slackware, Caldera)都以bash作为缺省的shell,并且运行sh时,其实调用的是bash。 
  POSIX Shell 
  POSIX shell 是Korn shell的一个变种. 当前提供POSIX shell的最大卖主是Hewlett-Packard。在HP-UX 11.0 , POSIX shell 就是/bin/sh,而bsh是/usr/old/bin/sh.

shell--指“提供使用者使用界面”的软件(命令解析器)相关推荐

  1. include详解 shell_socket实现基于tcp/ip的网络远程shell命令解析器(完善中...)

    //========================================================================== //模块名称: shell命令模块 //功能描 ...

  2. 图形化界面设计软件简要介绍

    图形化界面设计软件简要介绍 [摘要]:面向使用者的系统工程设计,其目的是要准确.快速地在设计者和使用者之间传递信息和实现功能,也是优化产品性能来适应大众的操作能力,减轻使用者的认知负担.成功的系统工程 ...

  3. MySQL数据库介绍、安装(服务端软件安装、客户端软件安装(图形化界面客户端和命令行客户端))

    1. MySQL数据库的介绍 MySQL是一个关系型数据库管理系统,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System, ...

  4. 盘点 市面上超火的7款界面设计软件

    本人是一名已从业三年的UI设计从业者,目前在杭州一家互联网信息公司任职设计人员,一直很想整理下自己用的一些设计软件,正好就目前项目遇到的一些问题和大家分享以下,主要说说有哪些好用的设计软件是可以试用的 ...

  5. Python GUI界面开发软件综述

    参考致谢: 28款Python GUI开发框架开源软件 https://www.cnblogs.com/muziyunxuan/archive/2017/12/26/8117875.html Py之G ...

  6. kubernetes:部署kubeapps应用,为Helm提供web UI界面管理

    kubernetes 部署kubeapps应用,为Helm提供web UI界面管理 部署kubeapps应用,为Helm提供web UI界面管理 [kubeadm@server2 ~]$ helm r ...

  7. 高灵敏度10感应通道触摸检测芯片/抗干扰10键触摸触控IC-VK3610IM,外接电容调节灵敏度,触摸区域积水可正常操作,提供串行界面SCK、SDA、INT 作为与MCU沟通方式

    型号:VK3610IM 品牌:永嘉微电/VINKA 封装:SOP16 年份:新年份 概述: VK3610IM SOP16提供10个触摸感应按键及两线式串行界面,并有中断输出INT脚与MCU联系,特性上 ...

  8. 提供天猫运营方面的自动化软件 、数据采集软件

    提供天猫运营方面的自动化软件 .数据采集软件 1 我提供什么? 2 有什么优点? 3 谁需要? 4 联系方式 1 我提供什么? 提供淘宝.天猫运营方面的自动化软件.工具使用编程语言开发. 可能你知道自 ...

  9. 为企业提供的移动信息化办公软件-easyconnect提供下载

    easyconnect电脑版是一款为企业提供的移动信息化办公软件,这款软件可以让公司经常出差的人员能在公司范围外使用公司的内网系统和相关应用.软件支持移动和pc平台,不管是在电脑上还是手机上使用都非常 ...

最新文章

  1. BZOJ 1121 science
  2. 【清华集训2017】榕树之心
  3. Form表单提交按钮图片IE6下背景透明(js提交)
  4. 51nod 1188 最大公约数之和 V2(欧拉函数)
  5. ipconfig默认网关为空_网络工程师之IPCONFIG命令详解
  6. BEST定理:有向图欧拉回路个数(bzoj 3659: Which Dreamed It)
  7. Android 网络权限配置
  8. 最好用的php编程软件_PHP语言开发软件哪个好
  9. ant nutch mysql_ant编译apache-nutch-2.2.1结合mysql实现爬虫的安装配置全过程
  10. 人工智能-马尔可夫模型
  11. vs code 关闭右下角弹窗方法
  12. 《演说之禅》读书笔记
  13. python十六进制去掉0x_如何将一个整数转换为十六进制而在Python中没有多余的'0x'前导和'L'尾随字符?...
  14. c 语言 登陆窗口界面,c/c++语言实现登陆界面
  15. 解决某些MySQL数据库的表没了,建数据库也建不了的情况
  16. 贝塞尔Bezier曲线的使用
  17. EXCEL 打印设置公共表头
  18. css3切角文本框_CSS3如何实现4个切角
  19. 交通路口信号灯c语言编程,PLC十字路口的交通灯控制编程实例
  20. Linux(U盘挂载,玩客云armbian详细挂载U盘扩容)

热门文章

  1. 深入LINQ | 动态构建LINQ表达式
  2. .NET WebSocket 核心原理初体验
  3. 在 .NET Core 5 中集成 Create React app
  4. NET问答:Select 和 SelectMany 的区别
  5. GitLab 服务器的迁移以及注意点
  6. 我的『MVP.Blazor』快速创建与部署
  7. 【最强VSCode】之管理MySql数据库
  8. StringBuilder内存碎片对性能的影响
  9. 被忽略的TraceId,可以用起来了
  10. Nginx 配置内网访问树莓派4 ASP.NET Core 3.0 网站