shellfish的安装

shellfish的安装安装 Fish 尽管 fish 是一个非常用户友好的并且功能丰富的 shell 但并没有包括在大多数 Linux 发行版的默认仓库中 它只能在少数 Linux 发行版中的官方仓库中找到 如 ArchLinux Gentoo NixOS 和 nbsp Ubuntu nbsp 等 然而 安装 fish 并不难 在 ArchLinux 和它的衍生版上 运行以下命令来安装它 sudo nbsp pacman nbsp Sfis

安装 Fish

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

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

  1. sudo pacman -S fish

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

  1. cd/etc/yum.repos.d/
  2. wget https://download.openSUSE.org/repositories/shells:fish:release:2/CentOS_7/shells:fish:release:2.repo
  3. yum install fish

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

  1. cd/etc/yum.repos.d/
  2. wget https://download.opensuse.org/repositories/shells:fish:release:2/CentOS_6/shells:fish:release:2.repo
  3. yum install fish

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

  1. wget-nv https://download.opensuse.org/repositories/shells:fish:release:2/Debian_9.0/Release.key -O Release.key
  2. apt-key add -
  3. echo'deb http://download.opensuse.org/repositories/shells:/fish:/release:/2/Debian_9.0/ /'>/etc/apt/sources.list.d/fish.list
  4. apt-get update
  5. apt-get install fish

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

  1. wget-nv https://download.opensuse.org/repositories/shells:fish:release:2/Debian_8.0/Release.key -O Release.key
  2. apt-key add -
  3. echo'deb http://download.opensuse.org/repositories/shells:/fish:/release:/2/Debian_8.0/ /'>/etc/apt/sources.list.d/fish.list
  4. apt-get update
  5. apt-get install fish

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

  1. dnf config-manager --add-repo https://download.opensuse.org/repositories/shells:fish:release:2/Fedora_26/shells:fish:release:2.repo
  2. dnf install fish

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

  1. dnf config-manager --add-repo https://download.opensuse.org/repositories/shells:fish:release:2/Fedora_25/shells:fish:release:2.repo
  2. dnf install fish

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

  1. dnf config-manager --add-repo https://download.opensuse.org/repositories/shells:fish:release:2/Fedora_24/shells:fish:release:2.repo
  2. dnf install fish

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

  1. dnf config-manager --add-repo https://download.opensuse.org/repositories/shells:fish:release:2/Fedora_23/shells:fish:release:2.repo
  2. dnf install fish

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

  1. zypper install fish

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

  1. cd/etc/yum.repos.d/
  2. wget https://download.opensuse.org/repositories/shells:fish:release:2/RHEL_7/shells:fish:release:2.repo
  3. yum install fish

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

  1. cd/etc/yum.repos.d/
  2. wget https://download.opensuse.org/repositories/shells:fish:release:2/RedHat_RHEL-6/shells:fish:release:2.repo
  3. yum install fish

在 Ubuntu 和它的衍生版上:

  1. sudoapt-get update
  2. sudoapt-get install fish

 

用法

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

  1. fish
  2. Welcome to fish, the friendly interactive shell

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

自动建议

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

shellfish的安装

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

shellfish的安装

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

 

智能搜索

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

shellfish的安装

 

语法高亮

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

Bash:

shellfish的安装

Fish:

shellfish的安装

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

 

基于 web 的配置方式

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

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

  1. fish_config

shellfish的安装

 

手册页补完

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

为此,请运行:

  1. fish_update_completions

实例输出将是:

  1. Parsingman pages and writing completions to /home/sk/.local/share/fish/generated_completions/
  2. 3435/3435: zramctl.8.gz

 

禁用问候语

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

  1. vi~/.config/fish/config.fish

添加以下行:

  1. set-g -x fish_greeting ''

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

  1. set-g -x fish_greeting 'Welcome to OSTechNix'

 

获得帮助

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

  1. help

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

  1. man fish

设置 fish 为默认 shell

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

  1. chsh-s /usr/bin/fish

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

  1. which fish

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

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

要切换回 Bash,只需运行:

  1. bash

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

  1. chsh-s /bin/bash

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

Cheers!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220447.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午8:27
下一篇 2026年3月17日 下午8:28


相关推荐

  • Qt:emit是个什么?

    Qt:emit是个什么?槽机制例子中有用到过emit这个关键词也在注释中进行了详细解释这里总结一下emit是Qt中的关键字也是个宏。表示“发出”,后面所带的信号以类似广播形式发送出去。感兴趣的接受者会关注这个信号。…

    2022年5月16日
    101
  • sqlyog community_sqlyog10.0安装教程

    sqlyog community_sqlyog10.0安装教程sqlyog社区版是一款十分不错的MySQL数据库管理工具,它可以帮助用户们十分快速的去管理自己的数据库,所以喜欢的话,就来下载试试吧!软件介绍SQLyog是一个简洁高效功能强大的,GUI图形化用户管理接口的MySQL数据库管理工具它可以让您从世界的任何角落透过网络来维护远端的MySQL数据库。sqlyog社区版的tabbed界面可进行重新排序,更快的键盘操作快捷方式,新增FORM视图选项(…

    2025年12月9日
    5
  • zsh安装及配置

    zsh安装及配置Ifyoucomefro PATH exportPATH HOME bin usr local bin PATH Pathtoyouroh my zshinstallat exportZSH home amoscykl oh my zsh Setnameofthe Optionally ifyousetthis

    2026年3月16日
    2
  • Midjourney中国版和国外一样吗 国内版mj好还是国外好

    Midjourney中国版和国外一样吗 国内版mj好还是国外好

    2026年3月15日
    5
  • mdi接口不经网络变压器直接连接mdi_一种以太网的SerDes接口与MDI接口转换模块

    mdi接口不经网络变压器直接连接mdi_一种以太网的SerDes接口与MDI接口转换模块技术领域本实用新型涉及电子技术领域 尤其涉及一种以太网的 SerDes 接口与 MDI 接口转换模块 背景技术 SerDes 接口以及 MDI 接口均为以太网中常用的接口 二者通常会组合使用 在组合使用的场景中 需要设计相应的转换电路 现有技术中 转换电路需要采用多个芯片进行组合 且芯片之间采用高速信号线互联 导致转换电路设计难度较大 实用新型内容针对上述现有技术中的不足 本实用新型提供一种以太网的 SerDes 接

    2026年3月18日
    1
  • 详解C/C++中volatile关键字「建议收藏」

    详解C/C++中volatile关键字「建议收藏」一、volatile介绍volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在DSP开发中,经常需要等待某个事件的触发,所以经常会写出这样的程序:这段…

    2022年6月1日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号