linux的常用shell有哪三种

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

linux的常用shell有哪三种

本教程操作环境: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

有道小P 有道小P

有道小P,新一代AI全科学习助手,在学习中遇到任何问题都可以问我。

有道小P 64 查看详情 有道小P

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有哪三种的详细内容,更多请关注创想鸟其它相关文章!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Composer如何实现零停机部署中的依赖安全更新
上一篇 2025年11月4日 08:21:12
VSCode如何管理音乐科技项目 VSCode算法作曲开发环境配置
下一篇 2025年11月4日 08:21:17

相关推荐

  • 装双系统后开机没有启动选项怎么办_EasyBCD修复引导菜单方法

    首先确认引导设置中仅显示一个系统,说明另一系统未被识别;使用EasyBCD添加新条目,选择对应系统类型并指定分区;随后通过“BCD部署”功能将引导记录安装到MBR;重启后应恢复启动菜单。注意区分UEFI与Legacy模式,EasyBCD适用于Legacy环境,双系统建议统一引导方式,操作前备份数据以…

    2026年9月10日
    100
  • Linux命令行中lsof命令的实用技巧

    lsof是Linux中用于列出打开文件的命令行工具,可定位端口占用进程(如lsof -i :8080)、查看指定用户或进程打开的文件、查找导致设备忙的元凶、监控网络连接状态,并支持按协议、目录、文件类型等条件筛选,广泛应用于资源排查与系统运维。 lsof(List Open Files)是Linux…

    2026年9月10日
    100
  • VSCode远程:WSL开发环境配置

    首先安装WSL并配置Linux发行版,如Ubuntu-22.04;接着安装VSCode及Remote-WSL扩展;然后通过命令面板启动“Remote-WSL: New Window”连接到WSL环境;最后在WSL中安装开发工具并配置项目路径,实现高效远程开发。 在Windows系统上使用VSCode…

    2026年9月10日
    000
  • Linux文件系统挂载U盘与移动硬盘方法

    首先通过dmesg、lsblk或fdisk识别设备,如/dev/sdb1;然后创建挂载点并使用mount命令挂载,NTFS或exFAT格式需指定文件系统类型;访问文件后,必须用umount卸载以确保数据安全。 Linux系统下使用U盘或移动硬盘非常方便,只要正确挂载即可访问。大多数现代发行版会在插入…

    2026年9月10日
    000
  • LINUX怎么安装和配置Redis_Linux Redis安装与配置方法

    首先通过APT或源码安装Redis,配置为守护进程并设置绑定IP与密码,最后验证服务状态是否正常运行。 如果您尝试在Linux系统上安装和配置Redis以用于缓存或数据存储,可能会遇到依赖缺失或服务无法启动的问题。以下是完成Redis安装与配置的具体步骤: 本文运行环境:Dell XPS 13,Ub…

    2026年9月10日
    100
  • 如何重置VSCode的所有设置?

    删除用户设置文件夹(如Windows的%APPDATA%Code),2. 清理扩展与缓存目录(如~/.vscode),3. 重启VSCode即可恢复初始状态,重新配置环境。 要重置 Visual Studio Code(VSCode)的所有设置,使其恢复到首次安装时的默认状态,可以按照以下步骤操作。…

    2026年9月10日
    000
  • Linux文件系统inotify-tools命令使用方法

    inotify-tools是Linux下基于inotify内核的文件系统事件监控工具,包含inotifywait和inotifywatch。inotifywait可实时监听文件或目录的访问、修改、创建、删除等事件,支持递归监听、自定义输出格式及时间戳显示,常用于日志监控、自动备份和热重载;通过-m持…

    2026年9月10日
    000
  • 如何在Linux上设置入侵检测_Linux入侵检测系统的部署方法

    首先安装AIDE工具并初始化数据库,随后配置监控策略、定期检查文件完整性,及时更新数据库以确保检测有效性。 在Linux系统中部署入侵检测系统(Intrusion Detection System, IDS)是提升服务器安全的重要手段。它能实时监控异常行为、文件篡改、未授权访问等潜在威胁。下面介绍如…

    2026年9月10日
    100
  • 如何在Linux中扩展分区容量?

    答案:Linux扩容需区分LVM与非LVM。先用df、lsblk、fdisk确认磁盘状态;非LVM分区需有未分配空间,用parted调整分区后,ext4用resize2fs、xfs用xfs_growfs扩展文件系统;LVM则通过vgdisplay检查空间,有空闲时用lvextend扩展逻辑卷并刷新文…

    2026年9月9日
    000
  • VSCode扩展:Python开发环境配置

    首先安装VSCode的Python、Pylance等扩展,然后配置Python解释器路径,启用Pylance语言服务器,设置Black格式化和isort导入排序,最后配置launch.json实现调试功能,完成专业级开发环境搭建。 Python 开发环境配置是使用 VSCode 高效编写 Pytho…

    2026年9月9日
    200
  • thinkphp验证码不显示或验证失败怎么处理

    验证码不显示或验证失败通常由GD库未启用、输出干扰、Session配置错误、大小写敏感、路径问题或版本差异导致。1. 检查php.ini中extension=gd是否开启并重启服务;2. 确保生成验证码前无空行、BOM头或echo输出,关闭display_errors;3. 确认session.sa…

    2026年9月9日
    100
  • VSCode调试配置:自定义启动参数

    通过修改 launch.json 文件中的 args 字段,可为 VSCode 调试程序传递自定义启动参数,支持 Node.js、Python、C# 等语言,并可结合 ${workspaceFolder} 和 ${env:NAME} 等变量实现灵活配置。 在使用 VSCode 进行开发时,经常需要为…

    2026年9月9日
    300
  • Java 应用调用 Linux 控制台程序并交互:实现与注意事项

    本教程详细阐述了如何通过 java 应用程序在 linux 环境中调用控制台程序,并向其传递输入(如特定字符“a”)。文章将介绍使用 `runtime.getruntime().exec()` 方法启动外部进程,并通过其输入/输出流实现双向通信。同时,将提供示例代码,并强调处理输入、模拟回车以及读取…

    2026年9月9日
    200
  • Linux命令行中who与w命令的使用方法

    who命令显示登录用户基本信息,如用户名、终端、登录时间和来源IP,常用选项包括-u、-r、am i和-H;w命令功能更全面,除用户信息外还展示系统负载、空闲时间及正在运行的命令,适合监控系统状态和用户活动,两者区别在于w提供更详细的实时系统与用户行为信息。 在Linux系统中,who和w是两个常用…

    2026年9月9日
    100
  • ubuntu 18及以上版本配置IP的方法,你get了吗

    本文将详细介绍 Ubuntu 18 及以上版本中配置 IP 的方法。由于 Ubuntu 16 及其之前版本的配置方法已经不再适用,如果你还不了解,那么本文将为你提供一个新的技能。 在 Ubuntu 18 及以上版本中,需要使用 netplan 工具来配置网络。 配置文件通常位于: /etc/netp…

    2026年9月9日
    200
  • Linux系统如何防止数据泄露_Linux防止数据泄露的安全配置

    严格管理文件权限,使用chmod、chown设置合理访问控制,避免777权限,定期查找其他用户可写文件。2. 启用SELinux或AppArmor强制访问控制,避免长期处于宽容模式,定期审查审计日志优化策略。3. 对敏感数据实施加密,使用LUKS全盘加密、GPG文件加密,并为/tmp等分区设置noe…

    2026年9月9日
    200
  • Linux文件系统CIFS挂载示例

    首先安装cifs-utils工具,创建挂载点目录,使用mount命令挂载CIFS共享,并在/etc/fstab中配置自动挂载,推荐用credentials文件保存凭据以提高安全性,注意设置正确的认证方式、字符集和权限参数。 在Linux系统中,CIFS(Common Internet File Sy…

    2026年9月9日
    800
  • Linux如何限制root权限_Linux限制root权限的安全配置教程

    禁用root直接登录并启用sudo机制提升Linux安全性。创建管理用户,设置强密码并授予sudo权限,通过visudo精细控制命令权限。禁止root远程SSH登录,编辑sshd_config将PermitRootLogin设为no并重启服务。结合密钥认证、修改SSH默认端口、启用防火墙及定期系统更…

    2026年9月9日
    400
  • 怎样在VSCode中快速切换已打开的文件?

    最常用方法是快捷键和标签管理。1. 按Ctrl+Tab(Cmd+Tab)循环切换最近文件;2. 点击侧边栏或标签切换并拖动排序;3. Ctrl+P输入关键词模糊搜索文件;4. 鼠标悬停标签预览内容,提升切换效率。 在VSCode中快速切换已打开的文件,最常用的方法是使用快捷键和编辑器标签管理功能。掌…

    2026年9月9日
    200
  • Linux系统日志如何分析_Linux系统日志分析的工具与方法

    答案:Linux系统日志位于/var/log目录,关键文件包括syslog、auth.log、kern.log等,结合tail、grep、journalctl等工具可高效分析问题,识别SSH暴力破解、服务异常等事件,建议通过rsyslog集中管理并定期轮转日志以提升运维效率。 分析Linux系统日志…

    2026年9月9日
    200

发表回复

登录后才能评论
关注微信