shell 是一个程序,它充当操作系统的最外层,您可以通过它与它的各种程序和服务进行交互。 大多数 Linux 发行版使用 bash 作为他们的默认外壳。 但是,如果需要,您可以为您的系统自由选择另一个 shell。
除了 bash,Linux还支持其他shell程序,如ksh、zsh、csh、fish等。 这些贝壳中的每一个都有一些独特的特征,使它们与众不同 bash 和其他贝壳。
让我们深入了解有关 shell 以及如何更改默认 Linux shell 的更多信息。
什么是壳,它的意义是什么?
shell 是一种计算机程序,它允许您使用命令来控制操作系统的各种元素。 当您在 Linux 中使用终端时,您基本上与位于您和操作系统之间的 shell 交互并指示它执行命令。
大多数 Linux shell 都带有命令行界面 (CLI),并且需要熟悉命令(及其语法)。 当您在 shell 中输入命令时,它会在系统路径中查找程序(在您的命令中)以确定它。 如果找到匹配项,它将成功执行命令,并获得输出。
简而言之,shell 提供了一种与操作系统通信的强大而有效的方式。
为什么要更改默认外壳?
一般来说,您在 Linux 或任何其他基于 Unix 的系统上遇到的大多数 shell 在大多数情况下都提供几乎相同的功能:它们让您可以方便地与/控制各种系统元素进行交互。
预装在大多数 Linux 发行版上的 Bash 是完美的 example 这个的。 但是,当与其他一些外壳(例如 zsh)堆叠时,它在功能方面会落后。
另一方面,Zsh 带来了许多附加功能,例如自动补全、自动更正、自动 cd、递归路径扩展和插件支持,这使其具有优势 bash 和其他一些贝壳。
当然,这些只是您使用 zsh 获得的一小部分优势。 其他 shell 也带来了自己的一组功能和增强功能,这使得使用它们的整个体验更轻松、更方便。
如何更改您的默认 Linux Shell
有几种方法可以更改 Linux 中的默认 shell。 我们将使用 chsh 本指南中的实用程序,因为它是一种更可靠、更方便的方法。
Chsh 是基于 Unix 的操作系统上的命令行实用程序,可让您更改默认 shell。 它预装在几乎所有的 Linux 发行版上。
要使用它,您所要做的就是提供要在终端中使用的 shell 的路径名,它会处理其余的进程本身。 但是,您需要完成几个步骤才能更改默认 shell。
以下是这些步骤的细分。
第 1 步:识别已安装的 Shell
在安装新的 shell 之前,了解 Linux 系统上已有的 shell 很重要。 为此,请打开终端并键入:
cat /etc/shells
除非您安装了新的 shell,否则您的输出应该类似于下图中的输出。
第 2 步:安装新外壳
一旦您确定了系统上已安装的 shell,下一步就是安装新的 shell。 在这方面,Linux 上有多种可用的选项,每一种都有其优点和缺点。 因此,根据您的偏好以及您希望使用 shell 实现的目标,您可以选择满足您要求的一种。
本指南将演示 zsh shell 的安装和设置。 在随后的命令中,请随意将“zsh”替换为您的 shell 名称。
在基于 Debian 的发行版上安装 zsh:
sudo apt install zsh
你可以使用 pacman 在 Arch Linux 上安装 zsh:
sudo pacman -Syu zsh
安装 zsh Fedora、CentOS 和其他 RHEL 发行版也很简单:
sudo dnf install zsh
安装完成后,运行以下命令再次检查系统上已安装的 shell:
cat /etc/shells
接下来,验证安装的 shell 是否工作。 为此,请在终端中输入您的 shell 的名称。 如果是 zsh,请运行:
zsh
要返回默认 shell,请键入 出口 并击中 Enter.
第 3 步:将 Shell 设置为系统的默认 Shell
如果您新安装的 shell 出现在已安装 shell 列表中并且工作正常,那么您现在可以将其设置为系统的默认 shell。 请注意,使用 chsh,您可以更改默认的交互式 shell 和默认的登录 shell。
登录 shell 是您在登录系统后获得终端的 shell,而交互式 shell 在您登录后始终可用。
要将 zsh(或任何其他 shell)设置为默认登录 shell,请打开终端并运行:
chsh
当提示输入密码时,输入您的帐户密码并点击 Enter.
接下来,输入已安装 shell 的绝对路径。 这将更改系统的默认登录 shell。 要将默认的交互式 shell 更改为 zsh:
chsh -s /usr/bin/zsh
系统将要求您输入密码以应用更改。 输入您的密码并点击 Enter.
将 zsh(或其他 shell)设置为默认或/和交互式 shell 后,注销并重新登录以使更改反映在您的系统上。
现在,当您再次登录并打开终端时,系统将使用 shell 配置器迎接您。 在开始使用新的 shell 之前,您必须在此处选择与您的 shell 要求相对应的选项。
一切都设置好后,验证您新安装的 shell 是否设置为系统的默认 shell。 为此,请运行以下命令:
echo $SHELL
如果您已将其设置为 zsh,您将在终端中看到它的路径。 在另一个外壳的情况下,它应该相应地反映路径。
请注意,如果您想更改系统上其他用户的默认 shell,您必须为每个用户单独执行此操作。 例如,如果您想更改用户的默认 shell 山姆,您需要运行以下命令:
sudo chsh -s /usr/bin/zsh sam
更改默认外壳以获得个性化体验
除了默认 shell 固有的优点之外,功能丰富的 shell 还具有许多额外的好处。 由于大多数 Linux 交互和操作都是通过命令行进行的,因此将默认 shell 更改为提供更多功能的 shell 是个性化工作环境的第一步。
实际上,您不仅应该考虑更改默认 shell,还应该考虑对其进行自定义,并按照您希望它的工作方式对其进行设置,以提升整个体验。 开始自定义 shell 的一个好地方是开始使用命令行别名,这样可以快速方便地在终端中输入命令。