Linux的缺省shell介绍
封面图
•
2025-10-25
•
Linux
147
0
0
0
Linux 的缺省 shell(默认 shell)是指在用户登录系统时自动启动的命令行解释器。不同的 Linux 发行版可能使用不同的默认 shell,但目前最常见的是 **Bash** 和 **Zsh**。 --- ### 一、常见的 Linux Shell #### 1. **Bash (Bourne-Again Shell)** - **全称**: Bourne-Again Shell - **默认 shell**:大多数 Linux 发行版(如 Ubuntu、Debian、CentOS、RHEL 等)的默认 shell。 - **特点**: - 支持命令历史、别名、通配符、管道等。 - 是 POSIX 兼容的 shell。 - 功能强大,广泛用于脚本编写。 - **路径**:`/bin/bash` #### 2. **Zsh (Z Shell)** - **全称**: Z Shell - **默认 shell**:从 macOS Catalina(2019)开始,macOS 默认使用 Zsh;部分 Linux 发行版(如 Arch Linux)也支持 Zsh 作为默认 shell。 - **特点**: - 更强大的功能,如自动补全、主题、插件系统(如 Oh My Zsh)。 - 支持更丰富的正则表达式和函数。 - 可定制性强。 - **路径**:`/bin/zsh` #### 3. **Sh (Bourne Shell)** - **全称**: Bourne Shell - **特点**: - 最早的 Unix shell,是 POSIX 标准的一部分。 - 通常作为 `/bin/sh` 的符号链接指向 Bash 或其他 shell。 - **路径**:`/bin/sh`(可能指向 `/bin/bash` 或 `/bin/dash`) #### 4. **Dash (Dijkstra's Shell)** - **全称**: Debian Almquist Shell - **特点**: - 轻量级、快速,适合用于系统初始化脚本。 - 在某些发行版中(如 Ubuntu),`/bin/sh` 默认指向 Dash。 - **路径**:`/bin/dash` #### 5. **Ksh (KornShell)** - **全称**: KornShell - **特点**: - 由 IBM 开发,功能介于 Bash 和 Csh 之间。 - 支持高级特性,如数组、函数、命令替换等。 - **路径**:`/bin/ksh` #### 6. **Csh (C Shell)** - **全称**: C Shell - **特点**: - 语法类似 C 语言,适合 C 程序员。 - 不推荐用于脚本开发,因为其行为不如 Bash 稳定。 - **路径**:`/bin/csh` #### 7. **Tcsh (Tenex C Shell)** - **全称**: Tenex C Shell - **特点**: - 是 Csh 的增强版本,支持命令历史、文件名补全等。 - 常用于交互式使用。 - **路径**:`/bin/tcsh` --- ### 二、查看当前默认 shell 你可以通过以下命令查看当前用户的默认 shell: ```bash echo $SHELL ``` 或者: ```bash ps -p $$ -o comm= ``` --- ### 三、修改默认 shell 如果你想更改默认 shell,可以使用 `chsh` 命令: ```bash chsh -s /bin/zsh ``` 注意:需要有权限,并且目标 shell 必须已经安装。 --- ### 四、总结 | Shell | 默认情况 | 特点 | |-------|----------|------| | Bash | 大多数 Linux 发行版默认 | 功能强大,广泛使用 | | Zsh | macOS 10.15+、部分 Linux 发行版 | 高度可定制,插件丰富 | | Sh | 通常为 Bash 或 Dash | POSIX 标准 | | Dash | Ubuntu 等部分系统 | 轻量、快速,用于系统脚本 | | Ksh / Csh / Tcsh | 少数系统或特定环境 | 各有特色,不常用 | --- 如果你对某个 shell 感兴趣,比如想了解如何配置 Zsh 或 Bash 的提示符、别名、脚本等,也可以继续问我!
上一篇:
linux 口令文件 /etc/passwd 详解
下一篇:
霍桑效应
标题录入,一次不能超过6条
留言
评论