在Linux环境中,用户的“默认shell”是指他们登录系统后自动启动的命令行解释器或交互式shell。这个shell用于处理用户在命令行界面输入的命令和操作。每个用户都拥有一个特定的默认shell。
Linux系统中常见的默认shell包括以下几种:
- Bash(Bourne Again Shell):作为许多Linux发行版的默认选择,Bash因其丰富的功能和强大的命令行解释能力而广受欢迎。
- Dash(Debian Almquist Shell):Dash是一种轻量级的shell,常用于系统启动时的基本操作和系统脚本的执行。在Debian和Ubuntu等Linux发行版中,Dash常被用作系统启动时的默认shell。
- Zsh(Z Shell):Zsh提供了比Bash更多的特性和定制选项,为用户带来更好的用户体验和更高的工作效率。因此,一些用户会选择将Zsh设置为其默认shell。
- Fish(Friendly Interactive Shell):Fish以其用户友好的交互式界面、自动补全和语法高亮等功能,使得命令行操作更为便捷和直观。
在Linux系统中,/etc/shells文件用于指定哪些程序路径可以作为有效的登录shell。这些程序通常用于用户在登录系统后的交互式命令行界面。要查看系统中允许的合法登录shell,可以执行以下命令:
cat /etc/shells
文件内容示例如下:
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/bin/dash