目录
1、Bash Shell" >1、Bash Shell
2、Zsh Shell" >2、Zsh Shell
3、Fish" >3、Fish
4、Ksh shell" >4、Ksh shell
5、Tcsh Shell" >5、Tcsh Shell
总结" >总结
首页 系统教程 操作系统 Linux shell 大比拼:五种流行的命令行界面的特点和优势

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

Feb 11, 2024 pm 12:50 PM
linux linux教程 linux系统 linux命令 外壳脚本 嵌入式linux linux入门 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 命令行界面更加强大和个性化。

以上是Linux shell 大比拼:五种流行的命令行界面的特点和优势的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

centos和ubuntu的区别 centos和ubuntu的区别 Apr 14, 2025 pm 09:09 PM

CentOS 和 Ubuntu 的关键差异在于:起源(CentOS 源自 Red Hat,面向企业;Ubuntu 源自 Debian,面向个人)、包管理(CentOS 使用 yum,注重稳定;Ubuntu 使用 apt,更新频率高)、支持周期(CentOS 提供 10 年支持,Ubuntu 提供 5 年 LTS 支持)、社区支持(CentOS 侧重稳定,Ubuntu 提供广泛教程和文档)、用途(CentOS 偏向服务器,Ubuntu 适用于服务器和桌面),其他差异包括安装精简度(CentOS 精

docker desktop怎么用 docker desktop怎么用 Apr 15, 2025 am 11:45 AM

如何使用 Docker Desktop?Docker Desktop 是一款工具,用于在本地机器上运行 Docker 容器。其使用步骤包括:1. 安装 Docker Desktop;2. 启动 Docker Desktop;3. 创建 Docker 镜像(使用 Dockerfile);4. 构建 Docker 镜像(使用 docker build);5. 运行 Docker 容器(使用 docker run)。

centos如何安装 centos如何安装 Apr 14, 2025 pm 09:03 PM

CentOS 安装步骤:下载 ISO 映像并刻录可引导媒体;启动并选择安装源;选择语言和键盘布局;配置网络;分区硬盘;设置系统时钟;创建 root 用户;选择软件包;开始安装;安装完成后重启并从硬盘启动。

Centos停止维护后的选择 Centos停止维护后的选择 Apr 14, 2025 pm 08:51 PM

CentOS 已停止维护,替代选择包括:1. Rocky Linux(兼容性最佳);2. AlmaLinux(与 CentOS 兼容);3. Ubuntu Server(需要配置);4. Red Hat Enterprise Linux(商业版,付费许可);5. Oracle Linux(与 CentOS 和 RHEL 兼容)。在迁移时,考虑因素有:兼容性、可用性、支持、成本和社区支持。

怎么看docker进程 怎么看docker进程 Apr 15, 2025 am 11:48 AM

Docker 进程查看方法:1. Docker CLI 命令:docker ps;2. Systemd CLI 命令:systemctl status docker;3. Docker Compose CLI 命令:docker-compose ps;4. Process Explorer(Windows);5. /proc 目录(Linux)。

docker镜像失败怎么办 docker镜像失败怎么办 Apr 15, 2025 am 11:21 AM

Docker镜像构建失败的故障排除步骤:检查Dockerfile语法和依赖项版本。检查构建上下文中是否包含所需源代码和依赖项。查看构建日志以获取错误详细信息。使用--target选项构建分层阶段以识别失败点。确保使用最新版本的Docker引擎。使用--t [image-name]:debug模式构建镜像以调试问题。检查磁盘空间并确保足够。禁用SELinux以防止干扰构建过程。向社区平台寻求帮助,提供Dockerfile和构建日志描述以获得更具体的建议。

docker原理详解 docker原理详解 Apr 14, 2025 pm 11:57 PM

Docker利用Linux内核特性,提供高效、隔离的应用运行环境。其工作原理如下:1. 镜像作为只读模板,包含运行应用所需的一切;2. 联合文件系统(UnionFS)层叠多个文件系统,只存储差异部分,节省空间并加快速度;3. 守护进程管理镜像和容器,客户端用于交互;4. Namespaces和cgroups实现容器隔离和资源限制;5. 多种网络模式支持容器互联。理解这些核心概念,才能更好地利用Docker。

vscode需要什么电脑配置 vscode需要什么电脑配置 Apr 15, 2025 pm 09:48 PM

VS Code 系统要求:操作系统:Windows 10 及以上、macOS 10.12 及以上、Linux 发行版处理器:最低 1.6 GHz,推荐 2.0 GHz 及以上内存:最低 512 MB,推荐 4 GB 及以上存储空间:最低 250 MB,推荐 1 GB 及以上其他要求:稳定网络连接,Xorg/Wayland(Linux)

See all articles