linux shell有哪些类型

linux中,shell是指一个面向用户的命令接口,表现形式就是一个可以由用户录入的界面,这个界面也可以反馈运行信息。Shell是Linux操作系统中的一个解释器程序,它负责接收用户输入的命令并将其传递给内核进行执行。Bourne Again shell(bash)是Linux系统的默认shell。

linux shell介绍

Linux中的shell,是指一个面向用户的命令接口,表现形式就是一个可以由用户录入的界面,这个界面也可以反馈运行信息;

Shell是一种接口,它连接了用户和内核,使用户能够与系统进行交互操作。它接收用户输入的命令并把它送入内核去执行。是在Linux内核与用户之间的解释器程序,现在Linux通常指/bin/bash解释器来负责向内核翻译以及传达用户/程序指令,shell相当于操作系统的“外壳”

Linux系统提供多种不同的Shell以供选择。在Linux系统中,默认的Shell是Bourne Again Shell(bash)。

shell在Linux中的存在形式:

由于Linux不同于Windows,Linux是内核与界面分离的,它可以脱离图形界面而单独运行,同样也可以在内核的基础上运行图形化的桌面。

这样,在Linux系统中,就出现了两种shell表现形式,一种是在无图形界面下的终端运行环境下的shell,另一种是桌面上运行的类似Windows 的MS-DOS运行窗口,前者我们一般习惯性地简称为终端,后者一般直接称为shell

linux shell有哪些类型

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 。在20世纪80年代早期,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 is the shell initially used in Unix and can be used on every Unix variant.。尽管sh在shell编程方面表现优异,但在处理与用户的交互方面,其表现还不如csh和ksh。

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

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

shell如何执行用户的指令

shell有两种执行指令的方式,第一种方法是用户事先编写一个sh脚本文件,内含shell脚本,而后使用shell程序执行该脚本,这种方式,我们习惯称为shell编程。

第二种形式,则是用户直接在shell界面上执行shell命令,由于shell界面的关系,大家都习惯一行行的书写,很少写出成套的程序来一起执行,所以也称命令行。

总结:shell可以说只是为用户与机器之间搭建成的一个桥梁,让我们能够通过shell来对计算机进行操作和交互,从而达到让计算机为我们服务的目的。

以上就是linux shell有哪些类型的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/123064.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
如何解决Composer在M1/M2芯片的Mac上遇到的平台兼容性问题?
上一篇 2025年11月26日 17:24:47
基于Rust的Zed编辑器已开源,内置对OpenAI和GitHub Copilot的支持
下一篇 2025年11月26日 17:26:18

相关推荐

  • 怎么在Linux系统中以单容器安装Nginx+ASP.NET Core

    怎么在Linux系统中以单容器安装Nginx+ASP.NET Core怎么在Linux系统中以单容器安装Nginx+ASP.NET Core怎么在Linux系统中以单容器安装Nginx+ASP.NET Core怎么在Linux系统中以单容器安装Nginx+ASP.NET Core

    推荐在生产环境中使用反向代理服务器转发请求到kestrel http服务器,本文将会实践将nginx —>asp.net core 部署架构容器化的过程。 Nginx->ASP.NET Coe部署架构容器化   在Docker中部署Nginx—>ASP.NE…

    2026年8月30日 用户投稿
    000
  • 微信小程序离线表单提交:如何实现离线填写表单并在网络恢复后自动提交?

    微信小程序离线表单提交:确保数据安全可靠 本文介绍一种微信小程序离线表单提交方案,解决网络不稳定情况下用户填写表单的需求。即使在离线或网络差的情况下,用户也能填写表单,并在网络恢复后自动提交数据。 该方案的核心在于利用小程序的本地存储和网络状态监听功能。以下步骤将详细解释如何实现: 第一步:配置网络…

    2026年8月30日
    000
  • 在哪里可以下载aiapp

    在数字化浪潮迅猛推进的今天,人工智能已悄然渗透到各行各业,成为推动变革的关键力量。而 aiapp 下载,则为我开启了一段通往智能未来的奇妙旅程。 初次接触 aiapp,我就被它琳琅满目的功能深深吸引。它仿佛是一个蕴藏无限可能的智慧宝盒,每一项应用都闪烁着科技的光芒,等待我去一一解锁。 智能写作助手是…

    2026年8月30日
    200
  • Sublime连接Docker MySQL容器数据库_支持容器化开发环境统一配置

    Sublime连接Docker MySQL容器数据库_支持容器化开发环境统一配置Sublime连接Docker MySQL容器数据库_支持容器化开发环境统一配置Sublime连接Docker MySQL容器数据库_支持容器化开发环境统一配置Sublime连接Docker MySQL容器数据库_支持容器化开发环境统一配置

    要使用 sublime 连接运行在 docker 容器中的 mysql 数据库,首先要确保容器配置正确并开放远程访问权限。具体步骤包括:1. 启动容器时添加 -p 3306:3306 参数实现端口映射;2. 创建允许从外部连接的 mysql 用户,如 ‘root’@&#821…

    2026年8月30日 用户投稿
    000
  • 为什么说禁用Windows的快速启动功能可能有助于解决某些休眠问题?

    禁用快速启动可解决休眠问题,因其采用混合关机机制,将内核会话保存至硬盘以加快启动,但与传统休眠冲突,易导致唤醒失败、黑屏或设备异常;尤其在双系统或驱动不兼容时更明显。关闭后系统执行完整关机,避免状态残留,提升电源管理稳定性。 禁用Windows的快速启动功能可能有助于解决某些休眠问题,是因为快速启动…

    2026年8月30日
    000
  • 几乎所有厂商都放弃了24G+1T版本 红魔姜超:成本太贵 产能很少

    10月25日,红魔游戏手机产品总经理姜超透露,当前整个行业正面临存储价格大幅上涨的局面,交付与成本压力显著增加。 他指出,今年几乎没有任何厂商推出24GB+1TB的配置版本,主要原因在于其高昂的成本以及高规格24GB(10700Mbps)内存产能极为有限,目前供应商尚未实现大规模量产。对于有1TB存…

    2026年8月30日
    000
  • async/await 和 .then 中如何确保所有异步操作完成后再执行后续步骤?

    巧妙运用异步操作:确保所有异步任务完成后再执行后续步骤 在使用 async/await 和 .then 处理异步操作时,如何确保所有异步任务完成后再执行后续步骤是一个常见挑战。本文将通过一个实际案例,详细讲解如何解决这个问题。 问题描述: 父组件循环调用子组件的 initfilepath 方法,该方…

    2026年8月30日
    400
  • win11怎么创建系统还原点_win11系统备份与还原点创建教程

    创建系统还原点可有效保护系统稳定性。在Windows 11中,可通过“创建还原点”选项手动建立还原点;需先启用系统保护并配置磁盘空间;也可使用Win+R输入systempropertiesprotection.exe快速访问设置。 如果您在进行系统更改、安装新软件或更新驱动程序之前希望保留一个可恢复…

    2026年8月30日
    000
  • 服务器用什么linux?

    linux服务器就是采用linux系统的网络服务器,那么可以用什么linux来当服务器?下面推荐6款好用的linux 服务器发行版,希望对你们有所帮助。 1、Ubuntu Ubuntu 是由 Canonical 公司开发的基于 Debian 的开源 Linux 操作系统。毫无疑问,它是当下最流行的 …

    2026年8月30日
    000
  • Vue 3如何构建复杂的审批表单?

    在Vue 3中构建复杂的审批流程表单 许多Vue 3开发者都面临构建复杂审批表单的挑战,例如图中所示的多步骤、多状态、多审批人表单。这类表单需要处理复杂的业务逻辑,包括状态转换、数据验证、权限控制等。那么,Vue 3生态系统中是否有现成的组件能够直接满足这种需求呢? 答案是否定的。虽然Element…

    2026年8月30日
    700
  • 成者精灵SA3高拍仪:全能的数字化管理专家

    成者精灵SA3高拍仪:全能的数字化管理专家成者精灵SA3高拍仪:全能的数字化管理专家成者精灵SA3高拍仪:全能的数字化管理专家成者精灵SA3高拍仪:全能的数字化管理专家

    现如今,高拍仪已成为企业用户办公中必不可少的重要设备之一。 尤其对于窗口岗位的工作人员来说,日常工作中需要将大量证件或纸质文件转换为电子版。传统扫描仪依靠光电传感器逐行扫描文档,耗时较长,而高拍仪则通过摄像头垂直拍摄文档或物体,利用图像传感器捕捉画面,效率显著提升,因此成为新一代办公设备升级的热门选…

    2026年8月30日 用户投稿
    100
  • win10电脑无法识别RAID阵列_win10磁盘阵列驱动问题

    win10电脑无法识别RAID阵列_win10磁盘阵列驱动问题win10电脑无法识别RAID阵列_win10磁盘阵列驱动问题win10电脑无法识别RAID阵列_win10磁盘阵列驱动问题win10电脑无法识别RAID阵列_win10磁盘阵列驱动问题

    win10电脑无法识别raid阵列的核心原因是缺少对应驱动程序,解决方法如下:1. 确定主板或raid卡型号;2. 访问官网下载适配win10的驱动;3. 解压驱动至u盘;4. 进入bios开启raid模式;5. 安装系统时加载驱动;6. 选择驱动文件夹完成安装;7. 检查是否成功识别磁盘。若仍无法…

    2026年8月30日 用户投稿
    200
  • 如何用JavaScript高效筛选和合并对话数据,以找到特定问题对应的助理回复?

    JavaScript高效筛选与合并对话数据:精准匹配问题与助理回复 处理海量对话数据时,常常需要根据特定条件高效筛选和合并数据,以提取关键信息。本文将介绍如何利用JavaScript实现基于特定条件的对话数据筛选和合并,解决数据处理难题。 假设我们有一个包含对话信息的数组chatHistory,结构…

    2026年8月30日
    100
  • 如何解决PrestaShop中物流数据统计问题?使用statscarrier模块可以!

    可以通过一下地址学习composer:学习地址 在使用prestashop管理我的电商平台时,我遇到了一个棘手的问题:如何有效地统计和展示不同物流公司的使用情况。最初,我尝试通过手动处理数据来解决这个问题,但这不仅耗时,而且容易出错。幸运的是,我发现了prestashop的statscarrier模…

    用户投稿 2026年8月30日
    000
  • Win7安全模式下如何重装系统?Win7安全模式下重装系统教程

    大家好,今天我来给大家带来一篇关于在Win7安全模式下如何重装系统的教程。相信很多朋友都遇到过系统崩溃或者中病毒的情况,这时候最直接有效的解决办法就是重装系统。而在安全模式下操作,可以更好地保障你的文件安全,让电脑恢复到最佳状态。话不多说,我们直接进入正题。 第一步:准备工具 在开始之前,我们需要做…

    2026年8月30日
    400
  • win8自带的metro应用怎么卸载_win8彻底卸载Metro应用指南

    可通过PowerShell卸载Win8 Metro应用:1.以管理员身份运行PowerShell;2.用Get-AppxPackage查看包名;3.执行Remove-AppxPackage卸载指定应用;4.使用Get-AppxPackage -AllUsers | Remove-AppxPackag…

    2026年8月30日
    200
  • 戴尔主机系统蓝屏代码0x0000003B的排查及数据恢复方法

    戴尔主机系统蓝屏代码0x0000003B的排查及数据恢复方法戴尔主机系统蓝屏代码0x0000003B的排查及数据恢复方法戴尔主机系统蓝屏代码0x0000003B的排查及数据恢复方法戴尔主机系统蓝屏代码0x0000003B的排查及数据恢复方法

    蓝屏代码0x0000003b通常由硬件驱动、系统文件损坏或外设冲突引起,排查步骤如下:1. 断开所有非必要外设并重启,若正常则逐一测试找出问题设备;2. 进入安全模式卸载或回滚最近安装的驱动,尤其是第三方驱动,也可使用系统还原点恢复系统;3. 运行windows内存诊断工具检测内存问题,若有错误需更…

    2026年8月30日 用户投稿
    600
  • 极简全闪数据中心“再进化”,华为赋予“闪存普惠”深层意义

    极简全闪数据中心“再进化”,华为赋予“闪存普惠”深层意义极简全闪数据中心“再进化”,华为赋予“闪存普惠”深层意义极简全闪数据中心“再进化”,华为赋予“闪存普惠”深层意义极简全闪数据中心“再进化”,华为赋予“闪存普惠”深层意义

    存储技术的演进史是一部不断追求速度与效率的史诗,从打孔卡片到磁带,从机械硬盘到固态存储,每一次技术跃迁都带来了生产力的巨大解放。 但奇怪的是,以卓越的I/O性能、低延迟和高能效比著称的闪存,虽早已被公认是数据存储的未来,却在“闪存普惠”这条路上,走得步履维艰。 这不禁让人思考,在技术优势如此明显的背…

    2026年8月30日 用户投稿
    100
  • 字节跳动重组AI部门,挖角谷歌Fellow吴永辉负责基础研究

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 字节跳动正在调整其人工智能(AI)部门架构,此举紧随其从谷歌挖角一位资深专家领导基础研究之后。 字节跳动于2023年初成立的Seed部门,已聘请拥有17年谷歌工作经验的“Google Fello…

    2026年8月30日
    100
  • win10声音突然没了怎么办_win10声音突然没了修复方法

    1、检查并设置正确的默认播放设备,确保扬声器或耳机已启用并设为默认;2、运行Windows音频疑难解答自动检测修复问题;3、重启Windows Audio及Windows Audio Endpoint Builder服务;4、更新或重新安装音频驱动程序;5、关闭音频增强功能避免冲突;6、检查音量混合…

    2026年8月30日
    100

发表回复

登录后才能评论
关注微信