软件介绍

  • 通常来说,我们在Linux上,总是会使用到Shell(命令行)来对系统进行操作。目前最常见的Shell应该是Bash,大部分Linux发行版都使用Bash作为默认的Shell。

  • 然而,Bash虽然稳定,但如果想要更好更高效地操作Linux系统,良好的Shell是必不可少的利器。在这里,我推荐使用Fish作为你的主力Shell,它的界面更加友好,还配备很了多附加功能,可以让你在命令行中工作得更加愉快。

软件安装

现在很多Linux系统都可以直接使用默认的软件包管理器来安装Fish,比如下面两个:

  1. Ubuntu
    apt install fish
    
  2. ArchLinux
    pacman -S fish
    

还有一些Linux系统,我们需要配置额外的软件源才可以安装,或者直接从官网下载软件包手动安装,详情请看Fish官网。

启动Fish

执行以下命令可以直接进入Fish

fish

成功进入到Fish后,可以很明显地看出Fish的界面对用户十分友好,比如:

  • 尝试在Fish中执行命令,有效命令显示为蓝色,无效命令显示为红色。
  • 尝试在Fish中编写文件路径,如果路径存在则会有下划线,如果路径不存在,则不会有下划线。

一些人在使用Fish后,觉得Fish比Bash好用太多了,想将其设置为默认的Shell。我强烈建议不要这么做,Fish并不完全兼容现有的Shell脚本,并且作为一个第三方Shell,它的稳定性可能也不如默认的Bash。因此,我总是会在启动Bash时,才通过手动来启动Fish。

Fish功能

自动建议

  1. 当你在Fish中输入命令时,Fish会适当的在后面提出建议,给出可能的选项,颜色为灰色。你可以使用 来采用全部建议,也可以使用 Alt + →来采用部分建议。
  2. 如果你之前输入过类似命令,则Fish还会猜测你可能想执行历史命令,直接给出完整的历史命令建议。
  3. 当你忘记某个命令的全部拼写时,你也可以只输入部分命令,然后按 Tab键,Fish会给出几个你可能想执行的命令。如果选项过多,你还需要再按一次 Tab键来使选项完全展开。

历史回顾

  1. 直接在Fish中按 来回顾你所输入的所有完整命令
  2. Fish支持带关键字的历史回顾。比如你只想回顾你输入过的 ls命令,则可以输入 ls后,再按 进行回顾,此时出现的历史记录则都是带有 ls的历史记录了。
  3. Fish支持按 Alt + ↑来回顾历史命令参数。比如你之前使用 ls /path/to查询过某个文件,这时你想直接删除该文件,则不需要回顾完整的历史命令,然后再修改前面的 lsrm了,而是输入 rm /path,然后按 Alt+↑来回顾路径参数,直到回顾到完整的路径参数 /path/to即可。

命令替换

在Fish中按 Alt + s可以在现有命令前面一键加入 sudo,而不需要手动在命令前面输入 sudo了。

Fish配置

  1. Fish的配置文件路径为 ~/.config/fish/config.fish,每次 Fish 启动,就会自动加载这个文件。
  2. 我们也可以直接在Fish中执行以下命令,它会打开本地的8000端口,使得用户可以通过网页访问该端口来进行Fish的配置。
    fish_config
    

参考资料

Fish shell 入门教程

fish - Arch Linux 中文维基