Chinaunix首页 | 论坛 | 博客
  • 博客访问: 21457
  • 博文数量: 6
  • 博客积分: 126
  • 博客等级: 入伍新兵
  • 技术积分: 70
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-09 00:09
文章分类

全部博文(6)

文章存档

2013年(2)

2012年(4)

我的朋友

分类: LINUX

2012-11-14 12:37:36

初学LINUX,以免忘记,特此记录:

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

    从技术角度来说,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)

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

上一篇:没有了

下一篇:eclipse配置tomcat插件

给主人留下些什么吧!~~