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,您可以在其中选择颜色主题并配置外壳的外观。

A1.art
A1.art

一个创新的AI艺术应用平台,旨在简化和普及艺术创作

下载

另一个很棒的功能是命令的可用性。例如,如果你输入/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 命令行界面更加强大和个性化。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
macOS怎么切换用户账户
macOS怎么切换用户账户

在 macOS 系统中,可通过多种方式切换用户账户。如点击苹果图标选择 “系统偏好设置”,打开 “用户与群组” 进行切换;或启用快速用户切换功能,通过菜单栏或控制中心的账户名称切换;还能使用快捷键 “Control+Command+Q” 锁定屏幕后切换。

358

2025.05.09

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2904

2024.08.16

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1564

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

716

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

300

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

800

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

587

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

570

2023.07.20

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

3

2026.03.11

热门下载

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

精品课程

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

共48课时 | 10.5万人学习

Git 教程
Git 教程

共21课时 | 4.1万人学习

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

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