zoukankan      html  css  js  c++  java
  • 转载:什么是SHELL

    出处:http://blog.csdn.net/wenpingblog/archive/2009/12/18/5032829.aspx

    什么是SHELL呢?下面是我平日资料累计中的一点内容,肯定来源于网上(无从考证了),共享于大家(感谢此文原作者的共享),正文开始如下:

    ====================================================

    在介绍 shell 是甚幺东西之前,不妨让我们重新检视使用者与计算机系统的关系。

    我们知道计算机的运作不能离开硬件,但使用者却无法直接对硬件作驱动,
    硬件的驱动只能透过一个称为"操作系统(Operating System)"的软件来控管,
    事实上,我们每天所谈的 linux ,严格来说只是一个操作系统,我们称之为"核心(kernel)"。
    然而,从使用者的角度来说,使用者也没办法直接操作 kernel ,
    而是透过 kernel 的"外壳"程序,也就是所谓的 shell ,来与 kernel 沟通。
    这也正是 kernel 跟 shell 的形像命名关系。如图:
    图(FIXME)

    从技术角度来说,shell 是一个使用者与系统的互动界面(interface),
    主要是让使用者透过命令行(command line)来使用系统以完成工作。
    因此,shell 的最简单的定义就是---命令解译器(Command Interpreter):
    * 将使用者的命令翻译给核心处理,
    * 同时,将核心处理结果翻译给使用者。

    每次当我们完成系统登入(log in),我们就取得一个互动模式的 shell ,也称为 login shell 或 primary shell。
    若从行程(process)角度来说,我们在 shell 所下达的命令,均是 shell 所产生的子行程。这现像,我们暂可称之为 fork 。
    如果是执行脚本(shell script)的话,脚本中的命令则是由另外一个非互动模式的子 shell (sub shell)来执行的。
    也就是 primary shell 产生 sub shell 的行程,sub shell 再产生 script 中所有命令的行程。
    (关于行程,我们日后有机会再补充。)

    这里,我们必须知道:kernel 与 shell 是不同的两套软件,而且都是可以被替换的:
    * 不同的操作系统使用不同的 kernel ,
    * 而在同一个 kernel 之上,也可使用不同的 shell 。
    在 linux 的预设系统中,通常都可以找到好几种不同的 shell ,且通常会被列于如下档案里:
    /etc/shells
    不同的 shell 有着不同的功能,且也彼此各异、或说"大同小异"。
    常见的 shell 主要分为两大主流:
    sh:
    burne shell (sh)
    burne again shell (bash)
    csh:
    c shell (csh)
    tc shell (tcsh)
    korn shell (ksh)
    (FIXME)

    大部份的 Linux 系统的预设 shell 都是 bash ,其原因大致如下两点:
    * 自由软件
    * 功能强大
    bash 是 gnu project 最成功的产品之一,自推出以来深受广大 Unix 用户喜爱,
    且也逐渐成为不少组织的系统标准。

    ===================================================================

    上文讲述了什么是SHELL,SHELL是什么。那么Oracle运行在那一个层面呢?也是SHELL之上。Oracle并未直接访问UNIX Kernel,而是通过SHELL来支撑其运行环境。

    没SHELL行吗?

    皓首穷经,十年磨一剑
  • 相关阅读:
    php分页类 (来源网络)
    symfony2 symofny3中得到get post session cookies的方法
    symfony route参数
    Symfony2同步数据库的数据表
    mysql中SQL执行过程详解与用于预处理语句的SQL语法
    使用MySQL命令行新建用户并授予权限的方法
    抽象类和接口的区别
    Yaf 使用遇到的坑
    Mysql 常用引擎的特点及选择使用策略
    定时任务 Crontab命令 详解
  • 原文地址:https://www.cnblogs.com/liunatural/p/1628853.html
Copyright © 2011-2022 走看看