linux的常用shell有哪三种

发布时间 - 2022-05-09 00:00:00    点击率:
三种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  # c语言  # bash  # 接口  # public  # history  # unix  # 是一个  # 三种  # 贝尔  # 都是  # 内建  # 默认值  # 柏克莱  # 万用  # 编程语言  # 的是 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: JavaScript中的标签模板是什么_它如何扩展字符串功能  如何用PHP工具快速搭建高效网站?  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  Angular 表单中正确绑定输入值以确保提交与验证正常工作  Laravel Session怎么存储_Laravel Session驱动配置详解  Laravel如何自定义错误页面(404, 500)?(代码示例)  如何快速搭建FTP站点实现文件共享?  如何在万网利用已有域名快速建站?  如何快速辨别茅台真假?关键步骤解析  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  如何选择可靠的免备案建站服务器?  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  Laravel集合Collection怎么用_Laravel集合常用函数详解  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  Android滚轮选择时间控件使用详解  如何彻底删除建站之星生成的Banner?  如何用好域名打造高点击率的自主建站?  如何基于云服务器快速搭建个人网站?  Laravel如何实现用户密码重置功能?(完整流程代码)  如何在IIS管理器中快速创建并配置网站?  如何制作一个表白网站视频,关于勇敢表白的小标题?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  香港网站服务器数量如何影响SEO优化效果?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  如何在云主机快速搭建网站站点?  如何快速搭建安全的FTP站点?  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  制作旅游网站html,怎样注册旅游网站?  如何安全更换建站之星模板并保留数据?  Laravel如何使用Collections进行数据处理?(实用方法示例)  Linux后台任务运行方法_nohup与&使用技巧【技巧】  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  七夕网站制作视频,七夕大促活动怎么报名?  如何快速生成可下载的建站源码工具?  JavaScript实现Fly Bird小游戏  js实现点击每个li节点,都弹出其文本值及修改  深圳网站制作的公司有哪些,dido官方网站?  使用spring连接及操作mongodb3.0实例  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性