Fish – 适用于 Linux 的智能且用户友好的交互式 Shell
友好交互式 Shell通常简称为FISH,是 UNIX 和类 UNIX 操作系统的 Shell。它根据 GNU 通用公共许可证 v2 发布。
FISH是一个用户友好的交互式 shell,旨在与任何其他 shell(如 bash 或 ZSH)配合使用。它的设计方式是让用户获得易于发现、记住和使用的强大功能。与其他 shell 默认禁用各种功能以节省系统资源不同,FISH 默认启用所有功能,以便您可以充分利用它。
FISH 的特点
- 互动性强且用户友好
- 强大的功能
- 简单,干净并且一致。
- 奇特之处在于,语法不是独立的,也不是源自 Bourne Shell 或 C shell。
- 键入时搜索功能可确保根据当前目录和历史记录自动提出建议。
- 使用箭头键选择建议。
- 支持高级 Tab 补全。
- 句法规则倾向于将特征作为命令而不是语法。
- 帮助命令用于在 HTTP Web 浏览器中查看 FISH 文档。
- 支持通用变量,因此用户可以分配永久变量,在重启/关机时不受影响。
- 语法高亮显示和广泛的错误检查。
- 支持 X 剪贴板。
- 绚丽的 VGA 色彩。支持 256 种终端颜色。
- 基于 Web 的配置。
您可以在 Linux 系统上安装fish 之前在 Web 浏览器中尝试一下。
在 Linux 中安装 FISH(友好交互式 Shell)
可以使用 Fish 存储库将Fish包安装在所有 Linux 发行版上,最好的方法是根据您的发行版使用以下步骤将存储库添加到系统包管理器:
在 Debian 上安装 Fish Shell
将以下存储库添加到Debian 9/8/7并按照所示手动安装。
---------------- On Debian 9 ---------------- # echo 'deb http://download.opensuse.org/repositories/shells:/fish:/release:/3/Debian_9.0/ /' > /etc/apt/sources.list.d/shells:fish:release:3.list # apt-get update # apt-get install fish
---------------- On Debian 8 ---------------- # echo 'deb http://download.opensuse.org/repositories/shells:/fish:/release:/3/Debian_8.0/ /' > /etc/apt/sources.list.d/shells:fish:release:3.list # apt-get update # apt-get install fish
---------------- On Debian 7 ---------------- # echo 'deb http://download.opensuse.org/repositories/shells:/fish:/release:/2/Debian_7.0/ /' > /etc/apt/sources.list.d/shells:fish:release:2.list # apt-get update # apt-get install fish
在 Ubuntu 和 Linux Mint 上安装 Fish Shell
在Ubuntu和Linux Mint (所有支持的版本)上执行以下命令:
$ sudo apt-add-repository ppa:fish-shell/release-3 $ sudo apt-get update $ sudo apt-get install fish
在 Fedora 上安装 Fish Shell
在Fedora上以 root 身份运行以下命令:
---------------- On Fedora 29 ---------------- # dnf config-manager --add-repo https://download.opensuse.org/repositories/shells:fish:release:3/Fedora_29/shells:fish:release:3.repo # dnf install fish
---------------- On Fedora 28 ---------------- # dnf config-manager --add-repo https://download.opensuse.org/repositories/shells:fish:release:3/Fedora_28/shells:fish:release:3.repo # dnf install fish
---------------- On Fedora 27 ---------------- # dnf config-manager --add-repo https://download.opensuse.org/repositories/shells:fish:release:2/Fedora_27/shells:fish:release:2.repo # dnf install fish
在 CentOS 上安装 Fish Shell
在CentOS(7 和 6)上,以 root 身份运行以下命令:
---------------- On CentOS 7 ---------------- # cd /etc/yum.repos.d/ # wget http://download.opensuse.org/repositories/shells:fish:release:2/CentOS_7/shells:fish:release:2.repo # yum install fish
---------------- On CentOS 6 ---------------- # cd /etc/yum.repos.d/ # wget http://download.opensuse.org/repositories/shells:fish:release:2/CentOS_6/shells:fish:release:2.repo # yum install fish
在 RHEL 上安装 Fish Shell
在RHEL(7 和 6)上以 root 身份运行以下命令:
---------------- On RHEL 7 ---------------- # cd /etc/yum.repos.d/ # wget http://download.opensuse.org/repositories/shells:fish:release:3/RHEL_7/shells:fish:release:3.repo # yum install fish
---------------- On RHEL 6 ---------------- # cd /etc/yum.repos.d/ # wget http://download.opensuse.org/repositories/shells:fish:release:3/RedHat_RHEL-6/shells:fish:release:3.repo # yum install fish
对于Arch和基于 Arch 的发行版,您可以运行pacman -S
命令来安装 fish。
如何使用 Fish Shell
1.第一次启动 fish 时,你应该在终端上看到以下内容:
$ fish
2.检查安装的 fish 版本。
$ echo $FISH_VERSION
3.了解自我暗示在 FISH 中如何发挥作用。
$ date $ Desktop $ locale ...
4.寻求帮助,您将在默认的 HTTP 网络浏览器中获得帮助。
$ help
5.使用高级 Tab 自动完成功能,后跟不完整的字符串/命令。
$ tty
6.按用户类型突出显示语法:
$ /usr/bin/calendar
7.智能实时自动选色。
$ echo "I am loving FISH <3"
8.您可以检查上次运行命令的退出状态。
$ echo $status
9.将 FISH 设为您的默认 shell。
$ chsh -s /usr/bin/fish
出现提示时输入密码。
要切换回先前的 shell,请执行以下操作。
$ chsh -s /bin/bash
如果您的默认 shell 是其他任何 shell,请用您的 shell 替换“/bin/bash”。例如,如果是zsh,请执行以下操作:
$ chsh -s /bin/zsh
注意:进入前请仔细检查 shell 的路径。如果您不小心输入了错误的 shell 路径,您将被踢出 shell。如果您使用管理员帐户执行此操作,则需要重置管理员密码,然后更改 shell。要避免这些麻烦,请格外小心。
此 shell 以清晰且交互的方式提供输出,它将改变您看待 Linux Shell 的方式。如此多的颜色、缩进、代码突出显示、自动完成、建议和其他功能让您专注于您想要实现的目标,而不是如何实现。此 shell 已荣幸地被添加为我的工作机器的默认 shell。对于那些说 Linux 命令行很无聊的人来说,FISH 就是一个例子。
如果您是 Linux 的狂热用户,并且是 Linux 命令行的粉丝。这个 Shell 值得一试,它不会让您失望。您可能想在下面的评论中分享您使用 FISH 的经验。不要忘记在下面的评论中向我们提供您宝贵的反馈。点赞和分享帮助我们传播。