news 2026/5/27 17:32:05

Bash 之外更友好的 Linux shell:Fish,功能丰富且易上手!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Bash 之外更友好的 Linux shell:Fish,功能丰富且易上手!

ZDNET 核心要点

Linux 命令行 shell 能实现与内核的通信,大多数发行版的默认 shell 是 Bash,但还有更用户友好的选项 Fish。本质上,Linux shell 负责解释命令,以便内核能够理解和执行,没有 shell,命令无法运行,应用程序也无法正常工作,所以 shell 非常重要。

大多数 Linux 发行版默认使用 Bash shell,即 Bourne Again Shell。之所以叫 “Bourne”,是因为 Bourne shell 是第一个 shell,而 Bash 是它的改进版。使用 Bash 可以编写几乎能完成任何任务的 bash 脚本,然而,Bash 已经存在很长时间,且变化不大。

好消息是,有其他替代方案,其中一个替代方案增加了 Bash 所欠缺的功能,这个 shell 就是 Fish(Friendly Interactive SHell)。Bash 和 Fish 的主要区别在于,Bash 感觉是在为你工作,而 Fish 感觉是在与你协作。

Bash 和 Fish 的区别

在 Bash 中运行命令时,输入命令,按下回车键,然后等待查看命令是否执行成功。Bash 不会提供帮助,只是接受命令并尝试运行。

Fish 的表现则不同。当在 Fish 中开始输入命令时,它会根据历史记录提供建议,看到合适的建议时,按下右箭头键即可接受。例如,输入 ssh,Fish 可能会给出像 ssh 192.168.1.26 这样的建议,按下箭头键,然后按回车键即可。

Fish 使用了颜色。例如,输入无效命令,Fish 会将其显示为红色;将无效命令修改为有效命令,它会变成蓝色;开始输入文件路径,路径会显示为红色,一旦路径有效,就会变成蓝色。

当开始输入命令时,按 Tab 键会显示多个建议,可以使用箭头键在列表中滚动并选择要运行的命令。

还可以在 Fish 中使用 set 命令设置变量。例如,想将名为 name 的变量设置为自己的名字,可以输入:set name jack。现在,可以这样使用这个变量:echo "My name is $name",输出结果将是:My name is jack。

Fish 在其他方面也很用户友好。例如,在 Bash 中,使用反引号 (`) 来表示命令,这常常会让人感到困惑。而在 Fish 中,命令放在括号里,例如:echo (whoami) in (pwd),上述命令的结果将是:jack in /home/jack。

还可以为命令设置缩写(类似于 Bash 中的别名)。假设经常使用 git checkout 命令,想让它更高效。如果想为该命令创建缩写 gco,可以这样操作:abbr --add gco git checkout。或者可以设置几个 ssh 缩写,如下所示: abbr --add ssh11 "ssh 192.168.1.11";abbr --add ssh12 "ssh 192.168.1.12"。现在,当输入 ssh11 时,就会连接到 192.168.1.11;输入 ssh12 时,就会连接到 192.168.1.12。这些缩写即使在注销后仍然有效。

Fish 还包含一个实用的计算器。例如,可以输入:math 5020/220,答案(22.818182)会在命令提示符处显示。

安装和设置 Fish shell

Fish 可以从发行版的标准软件源中安装。例如,在 Ubuntu 中,安装 Fish 的命令是:sudo apt-get install fish -y;在 Fedora 中,命令是:sudo dnf install fish -y;在 Arch 中,命令是:sudo pacman -S fish。

安装 Fish 后,必须使用以下命令将其设置为默认 shell:chsh -s $(which fish)。如果最后不喜欢 Fish(其实你会喜欢的),可以使用以下命令将其改回 Bash:chsh -s $(which bash)。

这就是 Fish shell。记住,授人以 Fish(渔),受益终生。

相关资讯

丹麦为何弃用 Microsoft Office 和 Windows,转而使用 LibreOffice 和 Linux;苹果悄然让在 Mac 上运行 Linux 容器变得更简单;无法升级到 Windows 11?这个 Linux 发行版是你 Windows 10 PC 的最佳替代方案;5 款类似 MacOS 的 Linux 发行版,能在支持结束前拯救你的旧 Intel Mac 。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/27 17:30:22

Unity glTF导入终极指南:GLTFUtility完整配置与高效使用教程

Unity glTF导入终极指南:GLTFUtility完整配置与高效使用教程 【免费下载链接】GLTFUtility Simple GLTF importer for Unity 项目地址: https://gitcode.com/gh_mirrors/gl/GLTFUtility GLTFUtility是Unity中一个轻量级但功能强大的glTF文件导入插件&#xf…

作者头像 李华
网站建设 2026/5/27 17:30:08

压缩感知与安全外包计算:云上图像重建的隐私保护方案

1. 项目概述:当压缩感知遇上云安全在医疗影像、卫星遥感和安防监控等领域,我们每天都在产生海量的图像数据。这些数据不仅体积庞大,处理起来更是计算密集型的“硬骨头”——比如,从一堆压缩的测量值中重建出一张高清图像&#xff…

作者头像 李华
网站建设 2026/5/27 17:27:09

如何高效管理Ryujinx游戏数据:3种实用方法保护你的Switch游戏进度

如何高效管理Ryujinx游戏数据:3种实用方法保护你的Switch游戏进度 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx 你是否曾在Ryujinx模拟器中投入数十小时游戏时间&#xf…

作者头像 李华