首页 / Linux 命令行入门教程 / 75. Shell 类型:sh / bash / zsh / fish

Linux 命令行入门教程

75. Shell 类型:sh / bash / zsh / fish

本教程共 90 篇 · 第 75 篇

75. Shell 类型:sh / bash / zsh / fish

你在终端里敲命令,其实中间隔着一层”翻译官”,叫 Shell。它读你的输入、交给内核执行、再把结果还给你。

最早的 Unix Shell 叫 sh(Bourne Shell),1979 年的老古董。它简单轻便,现在仍被用作脚本的”最低公共标准”。Ubuntu 上 /bin/sh 实际指向 dash,一个更轻量的实现。

bash 是 GNU 做的”Bourne-Again Shell”,完全兼容 sh,还加了命令补全、历史记录、作业控制。它是绝大多数 Linux 的默认 Shell,Ubuntu 26.04 也不例外。

echo $SHELL

这行显示的是你的默认登录 Shell(记录在 /etc/passwd)。

zsh 吸收了 bash、ksh 等 Shell 的长处,补全和自定义能力很强,配上 oh-my-zsh 很受欢迎。很多开发者会手动换成它。

fish(Friendly Interactive Shell)走”开箱好用”路线,语法不一样,但自动建议、彩色提示很贴心,适合不想折腾配置的人。

Tip

想临时换一种 Shell 试试,直接输入名字即可(如 zsh);要永久改默认 Shell,用 chsh -s /bin/zsh。新手先守住 bash,别乱改。

小结:sh 是老标准、bash 是默认、zsh 可玩性高、fish 最友好;Ubuntu 默认就是 bash。