• 技术文章 >运维 >linux运维

    linux的常用shell有哪三种

    青灯夜游青灯夜游2022-05-09 15:52:27原创292

    三种shell:1、bourne shel,简称sh,是一个交换式的命令解释器和命令编程语言;2、c shell,简称csh,使用“类C”语法,是具有C风格的一种shell;3、korn shell,向上兼容sh,并包含csh的很多特性。

    本教程操作环境:linux5.9.8系统、Dell G3电脑。

    shell是什么?

    Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言。

    shell是用户和Linux内核之间的接口程序,如果把Linux内核想象成一个球体的中心,shell就是围绕内核的外层。当从shell或其他程序向Linux传递命令时,内核会做出相应的反应。

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

    linux常用的三种shell

    Linux中的shell有多种类型,其中最常用的三种是bourne shell(sh)、c shell(csh)、korn shell(ksh)。

    1、Bourne shell

    Bourne shell 是一个交换式的命令解释器和命令编程语言。

    Bourne shell 是标准的 UNIX shell,以前常被用来做为管理系统之用。大部份的系统管理命令文件,例如 rc start、stop 与shutdown 都是Bourne shell 的命令档,且在单一使用者模式(single user mode)下以 root 签入时它常被系统管理者使用。Bourne shell 是由 AT&T 发展的,以简洁、快速著名。 Bourne shell 提示符号的默认值是 $。

    2、c shell

    c shell是一种比 Bourne Shell更适合的变种 Shell,使用的是“类C”语法,csh是具有C语言风格的一种shell,其内部命令有52个,较为庞大。

    C shell 是柏克莱大学(Berkeley)所开发的,且加入了一些新特性,如命令列历程(history)、别名(alias)、内建算术、档名完成(filename completion)、和工作控制(job control)。对于常在交谈模式下执行 shell 的使用者而言,他们较喜爱使用 C shell;但对于系统管理者而言,则较偏好以 Bourne shell 来做命令档,因为 Bourne shell 命令档比 C shell 命令档来的简单及快速。C shell 提示符号的默认值是 %。

    3、korn shell

    korn shell是一个 Unix shell 。它由贝尔实验室的David Korn在二十世纪八十年代早期编写。它完全向上兼容 Bourne shell 并包含了 C shell 的很多特性,例如贝尔实验室用户需要的命令编辑。

    Korn shell 是Bourne shell 的超集(superset),由 AT&T 的 David Korn 所开发。它增加了一些特色,比 C shell 更为先进。Korn shell 的特色包括了可编辑的历程、别名、函式、正规表达式万用字符(regular expression wildcard)、内建算术、工作控制(job control)、共作处理(coprocessing)、和特殊的除错功能。Bourne shell 几乎和 Korn shell 完全向上兼容(upward compatible),所以在 Bourne shell 下开发的程序仍能在 Korn shell 上执行。Korn shell 提示符号的默认值也是 $。在 Linux 系统使用的 Korn shell 叫做 pdksh,它是指 Public Domain Korn Shell。

    三种shell各有优劣:

    sh是Unix最初使用的shell,并且在每种Unix上都可以使用。sh在shell编程方面相当优秀,但在处理与用户的交互方面做得不如csh和ksh。

    Linux默认的shell是bourne again shell(bash),它与sh完全向后兼容。bash放在bin/bash中,它有许多特色,可以提供如命令补全、命令编辑和命令历史表等功能它还包含了很多csh和ksh中的优点,有灵活和强大的编程接口,同时又有友好的用户界面。

    因此,我们至少得知道sh和bash都是Linux上的默认shell,而bash是sh的升级版。

    相关推荐:《Linux视频教程

    以上就是linux的常用shell有哪三种的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:linux
    上一篇:linux中la是什么文件 下一篇:linux中无法使用ftp命令怎么办
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• linux默认编码是什么格式• linux中dev目录是什么• linux中的rhce是什么• linux devel是什么意思• linux df是什么缩写• linux中boot是什么分区
    1/1

    PHP中文网