如何在 Linux 上安装友好的交互式 shell:Fish

Fish 有着很多重要的功能,比如自动建议、语法高亮、可搜索的历史记录(像在 bash 中 CTRL+r)、智能搜索功能、极好的 VGA 颜色支持、基于 web 的设置方式、完善的手册页和许多开箱即用的功能。

-- Sk

本文导航

用法

40%

自动建议

44%

智能搜索

54%

语法高亮

59%

基于 web 的配置方式

65%

手册页补完

70%

禁用问候语

75%

获得帮助

80%

设置 fish 为默认 shell

84%

编译自  https://www.ostechnix.com/install-fish-friendly-interactive-shell-linux/

作者  Sk

译者  kimii

Fish,友好的交互式 shellFriendly Interactive SHell的缩写,它是一个适于装备于类 Unix 系统的智能而用户友好的 shell。Fish 有着很多重要的功能,比如自动建议、语法高亮、可搜索的历史记录(像在 bash 中 )、智能搜索功能、极好的 VGA 颜色支持、基于 web 的设置方式、完善的手册页和许多开箱即用的功能。尽管安装并立即使用它吧。无需更多其他配置,你也不需要安装任何额外的附加组件/插件!

在这篇教程中,我们讨论如何在 Linux 中安装和使用 fish shell。

安装 Fish

尽管 fish 是一个非常用户友好的并且功能丰富的 shell,但并没有包括在大多数 Linux 发行版的默认仓库中。它只能在少数 Linux 发行版中的官方仓库中找到,如 Arch Linux,Gentoo,NixOS,和 Ubuntu 等。然而,安装 fish 并不难。

在 Arch Linux 和它的衍生版上,运行以下命令来安装它。

在 CentOS 7 上以 root 运行以下命令:

在 CentOS 6 上以 root 运行以下命令:

在 Debian 9 上以 root 运行以下命令:

在 Debian 8 上以 root 运行以下命令:

在 Fedora 26 上以 root 运行以下命令:

在 Fedora 25 上以 root 运行以下命令:

在 Fedora 24 上以 root 运行以下命令:

在 Fedora 23 上以 root 运行以下命令:

在 openSUSE 上以 root 运行以下命令:

在 RHEL 7 上以 root 运行以下命令:

在 RHEL-6 上以 root 运行以下命令:

在 Ubuntu 和它的衍生版上:

就这样了。是时候探索 fish shell 了。

用法

要从你默认的 shell 切换到 fish,请执行以下操作:

你可以在 上找到默认的 fish 配置(类似于 )。如果它不存在,就创建它吧。

自动建议

当我输入一个命令,它以浅灰色自动建议一个命令。所以,我需要输入一个 Linux 命令的前几个字母,然后按下 键来完成这个命令。

如果有更多的可能性,它将会列出它们。你可以使用上/下箭头键从列表中选择列出的命令。在选择你想运行的命令后,只需按下右箭头键,然后按下 运行它。

无需 了!正如你已知道的,我们通过按 来反向搜索 Bash shell 中的历史命令。但在 fish shell 中是没有必要的。由于它有自动建议功能,只需输入命令的前几个字母,然后从历史记录中选择已经执行的命令。很酷,是吧。

智能搜索

我们也可以使用智能搜索来查找一个特定的命令、文件或者目录。例如,我输入一个命令的一部分,然后按向下箭头键进行智能搜索,再次输入一个字母来从列表中选择所需的命令。

语法高亮

当你输入一个命令时,你将注意到语法高亮。请看下面当我在 Bash shell 和 fish shell 中输入相同的命令时截图的区别。

Bash:

Fish:

正如你所看到的, 在 fish shell 中已经被高亮显示。此外,默认情况下它将以红色显示无效命令。

基于 web 的配置方式

这是 fish shell 另一个很酷的功能。我们可以设置我们的颜色、更改 fish 提示符,并从网页上查看所有功能、变量、历史记录、键绑定。

启动 web 配置接口,只需输入:

手册页补完

Bash 和 其它 shells 支持可编程的补完,但只有 fish 可以通过解析已安装的手册来自动生成它们。

为此,请运行:

实例输出将是:

禁用问候语

默认情况下,fish 在启动时问候你(“Welcome to fish, the friendly interactive shell”)。如果你不想要这个问候消息,可以禁用它。为此,编辑 fish 配置文件:

添加以下行:

你也可以设置任意自定义的问候语,而不是禁用 fish 问候。

获得帮助

这是另一个吸引我的令人印象深刻的功能。要在终端的默认 web 浏览器中打开 fish 文档页面,只需输入:

官方文档将会在你的默认浏览器中打开。另外,你可以使用手册页来显示任何命令的帮助部分。

设置 fish 为默认 shell

非常喜欢它?太好了!设置它作为默认 shell 吧。为此,请使用命令 :

在这里, 是 fish shell 的路径。如果你不知道正确的路径,以下命令将会帮助你:

注销并且重新登录以使用新的默认 shell。

请记住,为 Bash 编写的许多 shell 脚本可能不完全兼容 fish。

要切换回 Bash,只需运行:

如果你想 Bash 作为你的永久默认 shell,运行:

各位,这就是全部了。在这个阶段,你可能会得到一个有关 fish shell 使用的基本概念。 如果你正在寻找一个Bash的替代品,fish 可能是一个不错的选择。

Cheers!

资源:

fish shell 官网

[1]

via:https://www.ostechnix.com/install-fish-friendly-interactive-shell-linux/

作者:SK

[3]

译者:kimii校对:wxy

本文由LCTT原创编译,Linux中国荣誉推出

LCTT 译者

kimii

共计翻译:2篇

贡献时间:12 天

本文来自企鹅号 - Linux中国媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏黑泽君的专栏

安装了 git、小乌龟(TortoiseGit) 、 Git for Windows 或者 GitHub Desktop ,在使用它们之后,文件夹图标出现 红色! 绿色√ 蓝色? 的git附加标

安装了 git、小乌龟(TortoiseGit) 、 Git for Windows 或者 GitHub Desktop ,在使用它们之后,文件夹图标出现  红...

64310
来自专栏静晴轩

如何设置添加SSH

去(2014)年有开始折腾个人Blog;从使用Jekll到Hexo,平台也从Github一度迁移至国内的Gitcafe(Hexo创建/测试/发布Blog都极为方...

57360
来自专栏月色的自留地

新麦装机问题汇

14730
来自专栏游戏杂谈

Cocos2d-x V2.x版本对64bit的支持

我所使用的是cocos2d-x V2.0版本,而且源码有部分代码是修改过的。好在cocos2d-x官方已经放出了一个支持64位的2.2.6版本,可以做为参考。

24920
来自专栏IT笔记

MVC与三层架构有什么区别

首先,声明一下,三层是三层,MVC是MVC,这俩是毫无关系的。 三层是从整个应用程序架构的角度来分的三层(如果程序需要,还可以分多层)。 三层架构通常包括表示层...

38080
来自专栏源码之家

无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装

26680
来自专栏开源优测

python+selenium+Jenkins+Firefox集成

python 下载地址:https://www.python.org/getit/

22110
来自专栏魏艾斯博客www.vpsss.net

百度站长工具和 360 站长平台自动推送代码如何安装使用

81050
来自专栏FreeBuf

利用PowerShell Empire实现Word文档DDE攻击控制

? 近期,有安全人员发现了一种DynamicData Exchange (DDE)协议绕过MSWord和MSExcel宏限制,不需使用MSWord和MSExc...

27580
来自专栏Jerry的SAP技术分享

SAP CRM和C4C的内容管理(Content Management)

SAP CRM使用Attachments这个UI给用户提供内容管理的功能。通过新建按钮可以上传本地文档到CRM系统:

59630

扫码关注云+社区

领取腾讯云代金券