收集云服务器优惠信息
记录云服务器使用心得

Fish:一个智能且用户友好的交互式Linux Shell

Friendly Interactive Shell(通常称为FISH)是用于UNIX和类UNIX操作系统的Shell,它是根据GNU通用公共许可证v2发布的。

FISH是一种用户友好的交互式Shell,旨在与任何其它Linux Shell(如bash或ZSH)配合使用。它的设计方式是让用户获得易于发现、记住和使用的强大功能。

当然,与其它Shell默认禁用各种功能以节省系统资源不同,FISH默认启用所有功能,以便用户可以充分利用它。以下是Fish Shell的一些主要功能:

  • 交互性和用户友好性:Fish的目标是让初学者容易上手,让有经验的用户感到舒适。
  • 语法高亮显示:Fish Shell为命令提供语法高亮显示,使其更容易区分命令的不同部分并识别错误。
  • 自动建议:Fish根据用户的命令历史记录和可用的系统命令在键入时建议命令和参数,这可以帮助加快命令输入速度并减少错误。
  • 强大的Tab补全功能:Fish提供智能Tab补全功能,使用户可以更轻松地完成命令行中的命令、文件路径和其他元素。
  • 脚本语言:Fish带有自己的脚本语言,其设计比其它Shell的脚本语言更简单。
  • 无需外部插件:Fish拥有丰富的内置功能,减少了对外部插件的需求,它旨在提供一套全面的开箱即用的功能。
  • 通用变量:Fish支持通用变量,可以在不同会话之间共享。
  • 丰富的内置命令集:Fish包含各种有用的内置命令,可以简化常见任务,减少对外部程序的依赖。

在将Fish安装到Linux系统上之前,可以在Web浏览器中尝试体验Fish相关功能,看看它的魅力之处,地址是:https://rootnroll.com/d/fish-shell/。

在Linux中安装Fish Shell

Fish软件包可以使用Fish存储库安装在所有Linux发行版上,最好的方法是根据你的发行版使用以下步骤将存储库添加到系统软件包管理器中。

在Debian上安装Fish Shell

将以下存储库添加到Debian并手动安装,具体如下:

----------------在Debian12上----------------
echo 'deb http://download.opensuse.org/repositories/shells:/fish:/release:/3/Debian_12/ /' | sudo tee /etc/apt/sources.list.d/shells:fish:release:3.list
curl -fsSL https://download.opensuse.org/repositories/shells:fish:release:3/Debian_12/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/shells_fish_release_3.gpg > /dev/null
sudo apt update
sudo apt install fish
----------------在Debian 11上---------------
echo 'deb http://download.opensuse.org/repositories/shells:/fish:/release:/3/Debian_11/ /' | sudo tee /etc/apt/sources.list.d/shells:fish:release:3.list
curl -fsSL https://download.opensuse.org/repositories/shells:fish:release:3/Debian_11/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/shells_fish_release_3.gpg > /dev/null
sudo apt update
sudo apt install fish
echo 'deb http://download.opensuse.org/repositories/shells:/fish:/release:/3/Debian_10/ /' | sudo tee /etc/apt/sources.list.d/shells:fish:release:3.list
curl -fsSL https://download.opensuse.org/repositories/shells:fish:release:3/Debian_10/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/shells_fish_release_3.gpg > /dev/null
sudo apt update
sudo apt install fish
在Ubuntu和Linux Mint上安装Fish Shell

在Ubuntu和Linux Mint(所有受支持的版本)上执行以下命令:

sudo apt-add-repository ppa:fish-shell/release-3
sudo apt update
sudo apt install fish
在Fedora上安装Fish Shell

在Fedora上,以 root 身份运行以下命令。

----------------在Fedora 39上----------------
dnf config-manager --add-repo https://download.opensuse.org/repositories/shells:fish:release:3/Fedora_39/shells:fish:release:3.repo
dnf install fish
----------------在Fedora 38上----------------
dnf config-manager --add-repo https://download.opensuse.org/repositories/shells:fish:release:3/Fedora_38/shells:fish:release:3.repo
dnf install fish
----------------在 Fedora 37上----------------
dnf config-manager --add-repo https://download.opensuse.org/repositories/shells:fish:release:3/Fedora_37/shells:fish:release:3.repo
dnf install fish
在CentOS上安装Fish Shell

在CentOS-9 Stream上,以root身份运行以下命令:

cd /etc/yum.repos.d/
wget https://download.opensuse.org/repositories/shells:fish:release:3/CentOS-9_Stream/shells:fish:release:3.repo
yum install fish
在RHEL上安装Fish Shell

在RHEL发行版上,以root身份运行以下命令:

sudo dnf install fish
在Arch Linux上安装Fish Shell

对于Arch和基于Arch的发行版,可以运行以下命令来安装fish:

pacman -S fish

在Linux中使用Fish Shell

第一次启动Fish时,应该在终端上看到以下内容:

fish

使用Fish Shell

检查安装的fish的版本,输入以下命令:

echo $FISH_VERSION

查看fish版本

接下来看看几个典型案例,看看它自动工作的过程:

date
Desktop
locale
...

工作原理

寻求帮助,你将在默认HTTP Web浏览器中获得相关帮助:

help
fish帮助页面

使用高级选项卡自动完成,然后使用不完整的字符串/命令自动搜索(模糊匹配):

tty

高级选项卡自动完成

根据用户类型突出显示语法:

/usr/bin/calendar

智能实时自动选色:

echo "I am loving FISH <3"

智能实时自动选色

可以查看上次运行命令的退出状态:

echo $status

查看上次运行命令的退出状态

将FISH设置为默认shell:

chsh -s /usr/bin/fish

出现提示时输入密码:

将FISH设置为默认shell

要切换回以前的shell,请执行以下操作:

chsh -s /bin/bash

如果任何其它shell是你的默认 shell,请将“/bin/bash”替换为你的 shell。例如,如果是zsh则,那么输入:

chsh -s /bin/zsh

注意:进入之前请检查两次shell的路径。如果你不小心输入了错误的shell路径,您将被强制退出shell。如果你使用管理员帐户执行此操作,则需要重置管理员密码,然后更改shell。为了摆脱这些麻烦,所以在输入之前必须格外小心。

总结

Fish Shell提供清晰且交互式的输出,这将改变你查看Linux Shell的方式。如此多的颜色、缩进、代码突出显示、自动完成、建议和其它功能让你可以专注于想要实现的目标,而不是如何实现它。对于那些说Linux命令行很无聊的人来说,Fish就是一个很不错的例子。

如果你是狂热的Linux用户并且是Linux命令行的粉丝,那么Fish Shell值得一试,它不会让你失望的,或许会改变你对Linux Shell命令行枯燥无味的一些看法。

赞(0)
网站声明:本文内容由趣云笔记原创,部分资源收集于网络,如有侵权请联系企鹅:2472781824删除。
文章名称:《Fish:一个智能且用户友好的交互式Linux Shell》
文章链接:https://www.ecscoupon.com/3633.html
本站资源仅供个人学习交流,未经允许不得转载,更不允许用于商业用途。如需转载,请注明来源,感谢理解!