Fish是FriendlyInteractiveShell的缩写,是一种用于类Unix系统的智能且用户友好的shell。Fish有许多重要的特性,例如自动建议、语法高亮、可搜索的历史记录(如bash中的CTRL+r)、智能搜索功能、出色的VGA颜色支持、基于Web的设置方法、全面的手册页和许多非开箱即用的功能。只需安装并立即使用。不需要更多配置,也不需要安装任何额外的附加组件/插件!在本教程中,我们将讨论如何在Linux中安装和使用fishshell。安装Fish虽然fish是一个非常用户友好且功能丰富的shell,但它并未包含在大多数Linux发行版的默认存储库中。它只能在ArchLinux、Gentoo、NixOS和Ubuntu等少数Linux发行版的官方存储库中找到。但是,安装fish并不困难。在ArchLinux及其衍生产品上,运行以下命令进行安装。sudopacman-Sfish在CentOS7上以root身份运行以下命令:cd/etc/yum.repos.d/wgethttps://download.opensuse.org/repositories/shells:fish:release:2/CentOS_7/shells:fish:release:2.repoyuminstallfish在CentOS6上以root身份运行以下命令:cd/etc/yum.repos.d/wgethttps://download.opensuse.org/repositories/shells:fish:release:2/CentOS_6/shells:fish:release:2.repoyuminstallfish在Debian9上以root身份运行以下命令:wget-nvhttps://download.opensuse.org/repositories/shells:fish:release:2/Debian_9.0/Release.key-ORelease.keyapt-keyadd-/etc/apt/sources.list.d/fish。listapt-getupdateapt-getinstallfish在Debian8上以root身份运行以下命令:wget-nvhttps://download.opensuse.org/repositories/shells:fish:release:2/Debian_8.0/Release.key-ORelease.keyapt-keyadd-/etc/apt/sources.list.d/fish.listapt-getupdateapt-getinstallsfish在Fedora26上以root身份运行以下命令:dnfconfig-manager--add-repohttps://download.opensuse.org/repositories/shells:fish:release:2/Fedora_26/shells:fish:release:2.repodnfinstallfish在Fedora25上以root身份运行以下命令:dnfconfig-manager--add-repohttps://download.opensuse.org/repositories/shells:fish:release:2/Fedora_25/shells:fish:release:2.repodnfinstallfish在Fedora24上以root身份运行以下命令:dnfconfig-manager--add-repohttps://download.opensuse.org/repositories/shells:fish:release:2/Fedora_24/shells:fish:release:2.repodnfinstallfishFedora23root运行以下命令:dnfconfig-manager--add-repohttps://download.opensuse.org/repositories/shells:fish:release:2/Fedora_23/shells:fish:release:2.repodnfinstallfish运行以下命令在openSUSE上作为root命令:zypperinstalltfish在RHEL7上以root身份运行以下命令:cd/etc/yum.repos.d/wgethttps://download.opensuse.org/repositories/shells:fish:release:2/RHEL_7/shells:fish:release:2.repoyuminstallfish在RHEL-6上以root身份运行以下命令:cd/etc/yum.repos.d/wgethttps://download.opensuse.org/repositories/shells:fish:release:2/RedHat_RHEL-6/shells:fish:release:2.repoyuminstallfish在Ubuntu及其衍生产品上:sudoapt-getupdatesudoapt-getinstallfish就是这样是时候探索鱼壳了。用法要从默认shell切换到fish,请执行以下操作:$fishWelcometofish,thefriendlyinteractiveshell您可以在~/.config/fish/config.fish找到默认的fish配置(类似于.bashrc)。如果它不存在,请创建它。自动建议当我键入命令时,它会自动建议一个浅灰色的命令。所以,我需要输入Linux命令的前几个字母,然后按tab键来完成命令。如果有更多的可能性,它将列出它们。您可以使用向上/向下箭头键从列表中选择列出的命令。选择要运行的命令后,只需按向右箭头键,然后按ENTER即可运行它。不再需要CTRL+r了!如您所知,我们通过按CTRL+r在Bashshell中反向搜索命令历史记录。但在鱼壳中则没有必要。由于其自动建议功能,只需输入命令的前几个字母并从历史记录中选择已执行的命令。很酷吧?智能搜索我们还可以使用智能搜索来查找特定的命令、文件或目录。例如,我键入命令的一部分,然后按向下箭头键进行智能搜索,然后再次键入一个字母以从列表中选择所需的命令。语法突出显示当您键入命令时,您会注意到语法突出显示。当我在Bashshell和fishshell中输入相同的命令时,请查看下面的屏幕截图中的差异。Bash:Fish:如您所见,sudo已在fishshell中突出显示。此外,默认情况下,它将以红色显示无效命令。基于Web的配置这是fishshell的另一个很酷的特性。我们可以设置我们的颜色,改变鱼的提示,并从网络上查看所有的函数、变量、历史、键绑定。要启动Web配置界面,只需键入:fish_config手册页补全Bash和其他shell支持程序化补全,但只有fish可以通过解析已安装的手册页自动生成它们。为此,运行:fish_update_completions实例输出将是:Parsingmanpagesandwritingcompletionsto/home/sk/.local/share/fish/generated_completions/3435/3435:zramctl.8.gz禁用问候默认情况下,fish在启动时向您致意(“欢迎来到fish,友好的交互式shell”)。如果您不想要此问候消息,可以将其禁用。为此,编辑鱼配置文件:vi~/.config/fish/config.fish并添加以下行:set-g-xfish_greeting''您还可以设置任何自定义问候语而不是禁用鱼问候语。set-g-xfish_greeting'WelcometoOSTechNix'以获得帮助这是另一个引起我注意的令人印象深刻的功能。要在终端的默认网络浏览器中打开fish文档页面,只需键入:help官方文档将在您的默认浏览器中打开。此外,您可以使用手册页显示任何命令的帮助部分。manfish这么喜欢把fish设为默认shell吗?非常好!将其设置为默认shell。为此,请使用命令chsh:chsh-s/usr/bin/fish其中/usr/bin/fish是fishshell的路径。如果您不知道正确的路径,以下命令将帮助您:whichfish注销并重新登录以使用新的默认shell。请记住,许多为Bash编写的shell脚本可能与fish不完全兼容。要切换回Bash,只需运行:bash如果您希望Bash作为永久默认shell,请运行:chsh-s/bin/bash伙计们,就这些了。在这个阶段,您可能会对使用fishshell有一个基本的了解。如果您正在寻找Bash的替代品,fish可能是一个不错的选择。