SheepNav
新上线今天0 投票

Bash vs. Fish:我试过两种 Linux Shell,一个让命令行轻松太多

对于 Linux 用户来说,Shell 是与操作系统内核沟通的桥梁。绝大多数 Linux 发行版默认使用 Bash(Bourne Again SHell),它功能强大、历史悠久,但也因此显得保守——几乎没怎么进化。如果你觉得 Bash 用起来有些“冷冰冰”,不妨试试 Fish(Friendly Interactive SHell),它更像一位主动协助你的伙伴,而非被动执行的工具。

核心差异:被动 vs. 主动

Bash 的工作方式很简单:你输入命令,按回车,它执行。它不会给你任何提示或帮助,一切全靠你的记忆和熟练度。而 Fish 则完全不同:

  • 智能建议:当你开始键入命令时,Fish 会根据你的历史记录实时给出建议。例如,输入 ssh,它可能自动补全为 ssh 192.168.1.26,你只需按右方向键接受,再回车即可。
  • 颜色反馈:Fish 用颜色区分命令状态。输入无效命令时显示红色,修正为有效后变为蓝色;文件路径也会高亮显示,帮助快速识别错误。

这些特性让 Fish 对新手尤其友好,也大幅提升了老手的工作效率。

安装与切换:比你想象的简单

想尝试 Fish?无需卸载 Bash,只需安装并切换默认 Shell 即可。在大多数发行版中,一条命令就能完成安装:

sudo apt install fish   # Debian/Ubuntu
sudo dnf install fish   # Fedora

安装后,使用 chsh -s /usr/bin/fish 将默认 Shell 切换为 Fish,重启终端即可生效。如果想回到 Bash,同样用 chsh 改回去。

脚本兼容性:一个需要注意的点

Fish 的语法与 Bash 不完全兼容。如果你有大量现有的 Bash 脚本,直接迁移可能会遇到问题。不过 Fish 提供了 bash 命令,允许你在 Fish 中运行 Bash 脚本,反之亦然。对于日常交互式使用,Fish 的便捷性足以让你忽略这个小麻烦。

谁应该考虑 Fish?

  • Linux 新手:自动建议和颜色提示极大降低了学习曲线。
  • 效率追求者:频繁输入长命令或路径的用户,Fish 的智能补全能节省大量时间。
  • 喜欢尝鲜的玩家:Fish 的社区插件和主题系统让终端更个性化。

当然,如果你深度依赖 Bash 特有的脚本功能或习惯完全掌控每个命令,Bash 依然是稳妥之选。但如果你想让命令行体验更“友好”,Fish 绝对值得一试。

延伸阅读

  1. GEM:几何熵混合——大模型预训练数据配比的最优解
  2. 约束税:小语言模型在结构化输出中的有效性与正确性权衡测量
  3. AirCast-SR:基于潜在一致性扩散的千米级大气超分辨率基础模型
查看原文