linux 中 shell 简介

来源:互联网 发布:软件构架实践 3 pdf 编辑:程序博客网 时间:2024/05/16 02:04

    shell 是用户和 Linux 操作系统之间的接口,Linux 中有多种 shell, 其中缺省使用的是 bash。

    Linux 系统的 shell 作为操作系统的外壳,为用户提供使用操作系统的接口。它是一个命令语言解释器,拥有自己内建的 shell 命令集,shell 也能被系统中其他应用程序所调用。用户在提示符下输入的命令都由 shell 先解释然后传给 Linux 核心。

    Linux 中的 shell 有多种类型,其中最常用的几种是 Bourne shell (sh) C shell (csh) 和Korn shell (ksh) 三种shell 各有优缺。


    Bourne shell 是UNIX 最初使用的 shell, 并且在每种UNIX 上都可以使用。Bourne shell 在shell 编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种shell 。Linux 操作系统缺省的shell 是Bourne Again shell, 它是Bourne shell 的扩展,简称bash, 与Bourne shell 完全向后兼容,并且在Bourne shell 的基础上增加增强了很多特性,它还包含了很多C shell 和Korn shell 中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。

    C shell 是一种比 Bourne shell 更适于编程的 shell, 它的语法与 C  语言很相似。Linux 为喜欢使用 C shell 的人提供了Tcsh Tcsh, 是 C shell 的一个扩展版本。Tcsh 包括命令行编辑,可编程单词补全,拼写校正,历史命令替换,作业控制和类似C语言的语法。它不仅和 Bash shell 是提示符兼容,而且还提供比Bash shell 更多的提示符参数。

    Korn shell 集合了 C shell 和 Bourne shell 的优点,并且和Bourne shell 完全兼容。Linux 系统提供了 pdksh ksh 的扩展,它支持任务控制,可以在命令行上挂起,后台执行唤醒或终止程序。


    Redhat Linux 系统默认的 shell 是 bash. 对普通用户用 $ 作提示符,对超级用户 root  用 # 作提示符。一旦出现了 shell 提示符就可以键入命令名称及命令所需要的参数。


    shell 是如何工作的?

用户在登录到 Linux 时由/etc/passwd 文件来决定要使用哪个shell 例如该文件中含有类似如下一行
myself:x:500:500:Linux User:/home/myself:/bin/bash
用户使用的 shell 被列每行的末尾
 /bin/bash。


Shell 控制台

    首先介绍一个名词: 控制台 (console), 它就是我们通常见到的使用字符操作界面的人机接口,例如 dos。 我们说控制台命令就是指通过字符界面输入的可以操作系统的命令,例如 dos 命令就是控制台命令。我们现在要了解的是基于 Linux 操作系统的基本控制台命令。
    Linux 是一个真正的多用户操作系统,这表示它可以同时接受多个用户登录。Linux 还允许一个用户进行多次登录,这是因为Linux和许多版本的UNIX 一样提供了虚拟控制台的访问方式,允许用户在同一时间从控制台(系统的控制台是与系统直接相连的监视器和键盘)进行多次登录。

    虚拟控制台的选择可以通过按下 Alt  键和一个功能键来实现,通常使用F1-F6。例如用户登录后按一下Alt-F2 键用户又可以看到 "login:" 提示符,说明用户看到了第二个虚拟控制台。然后只需按Alt-F1 键就可以回到第一个虚拟控制台。一个新安装的Linux 系统允许用户使用Alt-F1 到Alt-F6 键来访问前六个虚拟控制台。

0 0