(给Linux爱好者加星标,提升Linux技能)

英文:Magesh Maruthamuthu,翻译:Linux中国/MK

linux.cn/article-10622-1.html

每个 Linux 管理员都可能听到过 shell 这个词。你知道什么是 shell 吗? 你知道 shell 在 Linux 中的作用是什么吗? Linux 中有多少个 shell 可用?

shell 是一个程序,它是提供用户和内核之间交互的接口。

内核是 Linux 操作系统的核心,它管理用户和操作系统之间的所有内容。Shell 可供所有用户在启动终端时使用。终端启动后,用户可以运行任何可用的命令。当 shell 完成命令的执行时,你将在终端窗口上获取输出。

Bash(全称是 Bourne Again Shell)是运行在今天的大多数 Linux 发行版上的默认的 shell,它非常受欢迎,并具有很多功能。但今天我们将讨论 Fish Shell

什么是 Fish Shell?

Fish 是友好的交互式 shell ,是一个功能齐全,智能且对用户友好的 Linux 命令行 shell ,它带有一些在大多数 shell 中都不具备的方便功能。

这些功能包括自动补全建议、Sane Scripting、手册页补全、基于 Web 的配置器和 Glorious VGA Color 。你对它感到好奇并想测试它吗?如果是这样,请按照以下安装步骤继续安装。

如何在 Linux 中安装 Fish Shell ?

它的安装非常简单,除了少数几个发行版外,它在大多数发行版中都没有。但是,可以使用以下 fish 仓库 轻松安装。

对于基于 Arch Linux 的系统, 使用 Pacman 命令 来安装 fish shell。

$ sudo pacman -S fish

对于 Ubuntu 16.04/18.04 系统来说,请使用 APT-GET 命令 或者 APT 命令 安装 fish shell。

$ sudo apt-add-repository ppa:fish-shell/release-3

$ sudo apt-get update

$ sudo apt-get install fish

对于 Fedora 系统来说,请使用 DNF 命令 安装 fish shell。

对于 Fedora 29 系统来说:

$ sudo dnf config-manager --add-repo https://download.opensuse.org/repositories/shells:/fish:/release:/3/Fedora_29/shells:fish:release:3.repo

$ sudo dnf install fish

对于 Fedora 28 系统来说:

$ sudo dnf config-manager --add-repo https://download.opensuse.org/repositories/shells:/fish:/release:/3/Fedora_28/shells:fish:release:3.repo

$ sudo dnf install fish

对于 Debian 系统来说,请使用 APT-GET 命令 或者 APT 命令 安装 fish shell。

对于 Debian 9 系统来说:

$ sudo wget -nv https://download.opensuse.org/repositories/shells:fish:release:3/Debian_9.0/Release.key -O Release.key

$ sudo apt-key add - < Release.key

$ sudo echo 'deb http://download.opensuse.org/repositories/shells:/fish:/release:/3/Debian_9.0/ /' > /etc/apt/sources.list.d/shells:fish:release:3.list

$ sudo apt-get update

$ sudo apt-get install fish

对于 Debian 8 系统来说:

$ sudo wget -nv https://download.opensuse.org/repositories/shells:fish:release:3/Debian_8.0/Release.key -O Release.key

$ sudo apt-key add - < Release.key

$ sudo echo 'deb http://download.opensuse.org/repositories/shells:/fish:/release:/3/Debian_8.0/ /' > /etc/apt/sources.list.d/shells:fish:release:3.list

$ sudo apt-get update

$ sudo apt-get install fish

对于 RHEL/CentOS 系统来说,请使用 YUM 命令 安装 fish shell。

对于 RHEL 7 系统来说:

$ sudo yum-config-manager --add-repo https://download.opensuse.org/repositories/shells:/fish:/release:/3/RHEL_7/shells:fish:release:3.repo

$ sudo yum install fish

对于 RHEL 6 系统来说:

$ sudo yum-config-manager --add-repo https://download.opensuse.org/repositories/shells:/fish:/release:/3/RedHat_RHEL-6/shells:fish:release:3.repo

$ sudo yum install fish

对于 CentOS 7 系统来说:

$ sudo yum-config-manager --add-repo https://download.opensuse.org/repositories/shells:fish:release:2/CentOS_7/shells:fish:release:2.repo

$ sudo yum install fish

对于 CentOS 6 系统来说:

$ sudo yum-config-manager --add-repo https://download.opensuse.org/repositories/shells:fish:release:2/CentOS_6/shells:fish:release:2.repo

$ sudo yum install fish

对于 openSUSE Leap 系统来说,请使用 Zypper 命令 安装 fish shell。

$ sudo zypper addrepo https://download.opensuse.org/repositories/shells:/fish:/release:/3/openSUSE_Leap_42.3/shells:fish:release:3.repo

$ suod zypper refresh

$ sudo zypper install fish

如何使用 Fish Shell ?

一旦你成功安装了 fish shell 。只需在你的终端上输入 fish ,它将自动从默认的 bash shell 切换到 fish shell 。

$ fish

自动补全建议

当你在 fish shell 中键入任何命令时,它会在输入几个字母后以浅灰色自动建议一个命令。

一旦你得到一个建议然后按下向右光标键(LCTT 译注:原文是左,错的)就能完成它而不是输入完整的命令。

你可以在键入几个字母后立即按下向上光标键检索该命令以前的历史记录。它类似于 bash shell 的 CTRL+r 选项。

Tab 补全

如果你想查看给定命令是否还有其他可能性,那么在键入几个字母后,只需按一下 Tab 键即可。

再次按 Tab 键可查看完整列表。

语法高亮

fish 会进行语法高亮显示,你可以在终端中键入任何命令时看到。无效的命令被着色为 RED color 。

同样的,有效的命令以不同的颜色显示。此外,当你键入有效的文件路径时,fish 会在其下面加下划线,如果路径无效,则不会显示下划线。

基于 Web 的配置器

fish shell 中有一个很酷的功能,它允许我们通过网络浏览器设置颜色、提示符、功能、变量、历史和键绑定。

在终端上运行以下命令以启动 Web 配置界面。只需按下 Ctrl+c 即可退出。

$ fish_config

Web config started at 'file:///home/daygeek/.cache/fish/web_config-86ZF5P.html'. Hit enter to stop.

qt5ct: using qt5ct plugin

^C

Shutting down.

手册页补全

其他 shell 支持可编程的补全,但只有 fish 可以通过解析已安装的手册页自动生成它们。

要使用该功能,请运行以下命令:

$ fish_update_completions

Parsing man pages and writing completions to /home/daygeek/.local/share/fish/generated_completions/

3466 / 3466 : zramctl.8.gz

如何将 Fish 设置为默认 shell

如果你想测试 fish shell 一段时间,你可以将 fish shell 设置为默认 shell,而不用每次都切换它。

要这样做,首先使用以下命令获取 Fish Shell 的位置。

$ whereis fish

fish: /usr/bin/fish /etc/fish /usr/share/fish /usr/share/man/man1/fish.1.gz

通过运行以下命令将默认 shell 更改为 fish shell 。

$ chsh -s /usr/bin/fish

提示:只需验证 Fish Shell 是否已添加到 /etc/shells 目录中。如果不是,则运行以下命令以附加它。

$ echo /usr/bin/fish | sudo tee -a /etc/shells

完成测试后,如果要返回 bash shell ,请使用以下命令。

暂时返回:

$ bash

永久返回:

$ chsh -s /bin/bash

看完本文有收获?请分享给更多人

关注「Linux 爱好者」加星标,提升Linux技能

喜欢就点一下「好看」呗~

linux fish颜色配置,如何在 Linux 中安装、配置和使用 Fish Shell?相关推荐

  1. linux动画制作软件,如何在Ubuntu中安装2D动画软件OpenToonz

    OpenToonz,开源2D动画软件,现在可以通过Snap软件包轻松安装在Ubuntu 16.04,Ubuntu 18.04及更高版本中. OpenToonz基于Toonz Studio Ghibli ...

  2. linux 日志颜色修改,如何在linux中更改echo的输出颜色

    尚方宝剑之说 你可以用最棒的tput命令(建议在伊格纳西奥的回答)为各种事物制作终端控制代码.使用专一tput稍后将讨论子命令.直接打电话tput作为一系列命令的一部分:tput setaf 1; e ...

  3. 十五 如何在IDE中安装配置Tomcat

    在 IDEA 中配置 Tomcat 之前,需要保证已经安装并配置了 Tomcat 的环境变量. 选择窗口右上角的Add Configuration-或者run-Eidt Configuration进入 ...

  4. Linux中安装配置hadoop集群

    原文:http://www.cnblogs.com/lijingchn/p/5574476.html 一. 简介 参考了网上许多教程,最终把hadoop在ubuntu14.04中安装配置成功.下面就把 ...

  5. 如何在VMware中安装Linux系统(带界面)~新手向

    如何在VMware中安装Linux系统(带界面)~新手向 1.打开VMware虚拟机 2.创建新的虚拟机 3.加载ISO 4.命名虚拟机 5.指定磁盘容量 6.自定义硬件 7.启动虚拟机 1.打开VM ...

  6. Linux中安装配置jdk

    Linux中安装配置jdk 一.下载与解压jdk 二.配置环境变量 三.查看安装是否成功 一.下载与解压jdk #进入/usr/local 建立jdk目录 cd /usr/local mkdir jd ...

  7. linux中安装配置golang开发环境

    linux中安装配置golang开发环境 不要误以为linux配置环境很难,其实也不一定.可能更简单[windows 安装后安装程序给你配一半,你再配置,可能还出问题,先删除软件给你配的,再自己配置. ...

  8. Linux kodi添加中文,如何在Ubuntu中通过PPA安装Kodi 18.2并设置中文界面

    如何在Ubuntu中通过PPA安装Kodi 18.2并设置中文界面 Kodi "Leia" 18.2已经发布,其中包含许多错误修复和性能改进. 以下是如何在Ubuntu 16.04 ...

  9. linux mint 17 输入法,LinuxMint17.1 Rebecca中安装设置输入法

    LinuxMint14使用了几年一直未更新,突然想去更新一下去发现源已经不支持了,所以就直接安装了最新版本. 安装好以后发现还是跟以前一样的毛病,没有中文输入法,直接sudo aptitude ins ...

  10. Linux系列(一): 在虚拟机中安装Ubuntu

    系列文章目录 Linux系列(一): 在虚拟机中安装Ubuntu 文章目录 系列文章目录 前言 一.开启Hyper-V 二.下载Ubuntu安装文件 三.虚拟机配置 1. 新建虚拟机 2. 其他设置 ...

最新文章

  1. onclick事件执行2次
  2. 阿里云云原生应用平台总经理丁宇:“连接、合作、赋能”,携手加速器伙伴助力企业云上创新
  3. Java教程分享:JVM垃圾回收机制之对象回收算法
  4. OpenStack精华问答 | OpenStack与计算虚拟化有什么关系?
  5. 大橙子_橙子皮养花太棒了,酸性大,肥力足,比花肥强10倍
  6. 3-8:常见任务和主要工具之格式化输出
  7. 漫步最优化二——基本优化问题
  8. leslie模型matlab代码6,Leslie_model
  9. SMB协议的共享文件读写
  10. 把视频转换成图片帧的代码
  11. 设windows 2003远程访问服务器
  12. office 64位安装
  13. 最近穷疯了只好吃馒头
  14. 面向数据机密性的云计算脆弱性分析框架
  15. 什么是实人认证?需要用到哪些api接口
  16. 数据分析、数据挖掘、数据运营有啥区别?【通俗版】
  17. 微信小程序(四)会员专区
  18. BZOJ3811: 玛里苟斯
  19. 跳过校园网开机直连宽带
  20. whistle抓包证书

热门文章

  1. android中sharedPreferences的用法
  2. 基于JAVA+SpringBoot+Mybatis+MYSQL的医院管理系统
  3. 基于JAVA+SpringMVC+Mybatis+MYSQL的高校勤工助学管理系统
  4. 常见性能问题:慢sql导致响应时间长分析定位
  5. ubuntu 16.04 nfs服务的搭建
  6. [BZOJ5329][Sdoi2018]战略游戏 圆方树+虚树
  7. kmp 模式匹配算法学习笔记
  8. java怎样获取变量的类型
  9. C++面向对象编程之类的使用(从struct到class的进阶)
  10. 水面反光如何拍摄_拍照反光太难看?这八个办法值得一试!