0

0

Linux shell 大比拼:五种流行的命令行界面的特点和优势

WBOY

WBOY

发布时间:2024-02-11 12:50:12

|

763人浏览过

|

来源于良许Linux教程网

转载

linux shell 是操作系统中执行其他程序的命令解释器,也是一种完整的编程语言,具有自己的语法和结构。linux shell 可以让用户通过输入文本命令来控制和管理系统,实现各种功能和任务。linux 有许多不同类型的 shell 可供选择,它们各有优缺点,适用于不同的用户和场景。本文将为你介绍 linux 上最常用的五个开源 shell,它们分别是:

  • Bash shell:GNU 项目开发的 Bourne shell 的免费版本,是所有 Linux 发行版上的标准 shell,具有强大的脚本功能和可用性。
  • Zsh shell:Bourne shell 的扩展版本,具有许多新功能并支持插件和主题,是一种高度可定制的 Linux shell。
  • Fish shell:一个现代命令行界面,具有自动建议、选项卡完成和语法突出显示,是一种智能且用户友好的 Linux shell。
  • Ksh shell:AT&T 贝尔实验室开发的 Bourne shell 的重新实现,具有命令行编辑、作业控制等功能,是一种经典且稳定的 Linux shell。
  • Tcsh shell:使用 vanilla C 语法模型的 C Shell 的增强版本,具有别名、历史记录、文件名补全等功能,是一种适合 C 和 C++ 程序员的 Linux shell。

1、Bash Shell

Brian Fox 于 1988 年为 GNU 项目开发了 Bash 作为 Bourne shell 的免费版本。 Bash 与原始版本类似,但增加了命令行编辑等功能。

因为 Bash 是标准的 GNU shell,所以它成为了所有 Linux 发行版上的标准 shell。现在大多数现代 Linux 发行版都默认提供 Bash shell。这个开源 Linux shell 在社区中以其强大的功能集和可用性而闻名。该名称是“Bourne-Again SHell”的首字母缩写。

Linux shell 大比拼:五种流行的命令行界面的特点和优势

Bash 被认为如此强大的原因之一是因为它是可编写脚本的。 shell 脚本是隔离的命令列表,以优化任何任务并具有成本效益,类似于具有明确定义标准的其他编程语言。您可以手动在 Bash 中输入任何内容,也可以在纯文本文件中列出并让 Bash 为您运行。

学习 Bash 对于执行自动化非常有用。它非常强大,并具有许多功能,例如:

  • 目录操作
  • 工作管理(Job Control )
  • 花括号扩展(brace expansion)
  • 波浪号扩展(Tilde expansion)
  • 别名
  • 命令历史
  • 命令行编辑
  • 键绑定
  • 集成编程功能
  • 控制结构
  • 内置插件的动态加载

Linux 内核的创建者 Linus Torvalds 说,他 1991 年在新内核上运行的前两个程序是 Bash 和 gcc,GNU 的编译器。

2、Zsh Shell

Zsh(Z shell 的缩写)是 Bourne Shell 的扩展版本,具有许多新功能并支持插件和主题。它是一个高度可定制的 Linux shell,其中包含一些非常强大的功能,例如选项卡完成、智能历史记录、远程文件扩展等等。 Zsh 是一种专为交互使用而设计的 shell,尽管它也是一种强大的脚本语言。 Bash、Ksh 和 Tcsh 的许多有用功能都已合并到 Zsh 中并添加到它们之上。

Linux shell 大比拼:五种流行的命令行界面的特点和优势

Zsh 由 Paul Fastad 于 1990 年开发,zsh 名称来自耶鲁大学教授宗绍。它已成为 Linux 操作系统最流行的 shell 之一。

一些更重要的 Zsh 函数是:

  • 命令自动完成
  • 改进的变量处理
  • 拼写更正
  • 共享命令历史
  • 环境变量设置简单
  • 定制

当您使用 Linux 时,大部分用户时间都花在终端上。如果您想自定义您的终端并使其看起来专业,您可以使用 Oh My Zsh 来实现此目标。它是一个社区驱动的开源框架,可用于管理 Zsh 配置。 Zsh还有其他框架,如Prezto、Zgen、Antigen等。目前Oh My Zsh能够支持150个主题和275个插件。

Zsh 和 Bash 都有相似且令人印象深刻的功能,但也有自己独特的工具。如果您正在寻找 bash 中没有的可扩展性、更大的自定义和高级功能,zsh shell 是一个很好的选择。此外,Zsh 是 macOS Catalina 中的默认登录 shell 和交互式 shell,替代了 Bash。

相关:https://www.linuxmi.com/ubuntu-20-04-zsh.html

3、Fish

Fish shell 是一个现代命令行界面,具有自动建议、选项卡完成和语法突出显示。它是适用于 Linux 和 macOS 的智能且用户友好的命令行 shell。该shell 为用户提供强大的功能和控制,而不会影响速度和效率。它旨在立即使用,无需进行大量配置。

Linux shell 大比拼:五种流行的命令行界面的特点和优势

基于历史的Fish内联自动建议开箱即用。使用您的历史记录,Fish 提出了完成命令的下一个可能性。

这个 shell 比经典的 Bash shell 更加丰富多彩。您会很快注意到 Fish 在您键入时执行语法高亮显示。这些颜色以及更多颜色可以通过运行 fish_config 来更改。这将打开一个基于 Web 的 GUI,您可以在其中选择颜色主题并配置外壳的外观。

零一万物开放平台
零一万物开放平台

零一万物大模型开放平台

下载

另一个很棒的功能是命令的可用性。例如,如果你输入/usr/bin/linuxiac,它会以红色显示该行,表明它不是一个有效的命令,但你输入/usr/bin/ping它看起来是正常的。

Fish shell特点:

  • 基于历史的内联自动建议
  • 出色的标签完成
  • 语法高亮
  • 直观的通配符支持
  • 基于网络的配置
  • 健全的脚本

对于使用 zsh、bash 等其他 shell 的用户来说,如果他们想尝试一个新的、有利的 shell,Fish是非常强大和有用的 Linux shell。

相关:FISH:为90后准备的Linux shell https://www.linuxmi.com/fish-linux-shell.html

4、Ksh shell

Ksh(Korn shell 的缩写)由 AT&T 贝尔实验室的 David Korn 发明,并于 1986 年开始公共生活。它是 Bourne shell 的重新实现。 Ksh shell 的命令编辑器界面支持快速、轻松地纠正输入错误,以及轻松调用和重用命令历史记录。它不提供命令补全,但提供文件名补全。 Ksh 允许开发人员在需要时创建新的 shell 命令。

Linux shell 大比拼:五种流行的命令行界面的特点和优势

Ksh shell 的命令行编辑模式是一开始往往会吸引人们使用它的功能。使用命令行编辑,返回并修复错误要容易得多。另一个主要面向交互式用户的主要 Ksh 功能是作业控制。

一些更重要的 Ksh 函数是:

  • 作业控制
  • 别名
  • 功能
  • 命令历史
  • 命令行编辑
  • 集成编程功能
  • 控制结构
  • 调试原语
  • 常用表达
  • 高级 I/O 功能

Ksh shell 已经发布了不同的版本,如 pdksh、mksh、ksh88 和最新的 ksh93。

5、Tcsh Shell

在最初的 Linux 时代,C 和 C++ 编程语言非常流行,并且 Linux 本身的大部分内容都是用它们编写的。不出所料,出现了一个新的 shell,即使用 vanilla C 语法模型的 C Shell。 Tcsh 是 Berkeley UNIX csh (C Shell) 的增强但完全兼容的版本。它是一种命令语言解释器,可用作交互式登录 shell 和 shell 脚本命令处理器。 Tcsh 可以被认为是下一代 C shell。

Linux shell 大比拼:五种流行的命令行界面的特点和优势

Tcsh 由 Ken Greer 于 1979 年在卡内基梅隆大学开发。 tcsh 中的“t”来自 TENEX 中的“T”,TENEX 是 BBN 于 1969 年为 PDP-10 大型计算机家族开发的操作系统。

早期版本的 MacOS X 附带 tcsh 作为默认 shell,但新版本的默认值变成了 Bash。现在 tcsh 是 FreeBSD 的默认 root shell。

Tcsh 的主要功能是可编程命令完成和命令行编辑。它在鲜明的简单性和基本功能之间取得了很好的平衡。使用 tcsh 所需的所有文档都位于 man tcsh 中,而不是散布在各种帮助程序中。

总结

通过本文的介绍,你应该已经对这五种 Linux shell 有了一个全面和深入的了解。它们都是在 Linux 上执行命令和编写脚本的有用工具,可以帮助你提高效率和灵活性。当然,这只是我们精心挑选的一小部分 shell,Linux 的软件仓库中还有很多其他优秀的 shell 等待你去发现和尝试。我们建议你根据你自己的需求和喜好去探索和安装更多的 Linux shell,让你的 Linux 命令行界面更加强大和个性化。

相关专题

更多
html版权符号
html版权符号

html版权符号是“©”,可以在html源文件中直接输入或者从word中复制粘贴过来,php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

596

2023.06.14

html在线编辑器
html在线编辑器

html在线编辑器是用于在线编辑的工具,编辑的内容是基于HTML的文档。它经常被应用于留言板留言、论坛发贴、Blog编写日志或等需要用户输入普通HTML的地方,是Web应用的常用模块之一。php中文网为大家带来了html在线编辑器的相关教程、以及相关文章等内容,供大家免费下载使用。

641

2023.06.21

html网页制作
html网页制作

html网页制作是指使用超文本标记语言来设计和创建网页的过程,html是一种标记语言,它使用标记来描述文档结构和语义,并定义了网页中的各种元素和内容的呈现方式。本专题为大家提供html网页制作的相关的文章、下载、课程内容,供大家免费下载体验。

461

2023.07.31

html空格
html空格

html空格是一种用于在网页中添加间隔和对齐文本的特殊字符,被用于在网页中插入额外的空间,以改变元素之间的排列和对齐方式。本专题为大家提供html空格的相关的文章、下载、课程内容,供大家免费下载体验。

243

2023.08.01

html是什么
html是什么

HTML是一种标准标记语言,用于创建和呈现网页的结构和内容,是互联网发展的基石,为网页开发提供了丰富的功能和灵活性。本专题为大家提供html相关的各种文章、以及下载和课程。

2864

2023.08.11

html字体大小怎么设置
html字体大小怎么设置

在网页设计中,字体大小的选择是至关重要的。合理的字体大小不仅可以提升网页的可读性,还能够影响用户对网页整体布局的感知。php中文网将介绍一些常用的方法和技巧,帮助您在HTML中设置合适的字体大小。

501

2023.08.11

html转txt
html转txt

html转txt的方法有使用文本编辑器、使用在线转换工具和使用Python编程。本专题为大家提供html转txt相关的文章、下载、课程内容,供大家免费下载体验。

307

2023.08.31

html文本框代码怎么写
html文本框代码怎么写

html文本框代码:1、单行文本框【<input type="text" style="height:..;width:..;" />】;2、多行文本框【textarea style=";height:;"></textare】。

419

2023.09.01

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

74

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 6.4万人学习

Git 教程
Git 教程

共21课时 | 2.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号