📅  最后修改于: 2023-12-03 15:22:14.043000             🧑  作者: Mango
Shell 是一种命令行解释器,用于启动和控制程序。Linux 操作系统支持多种不同的 Shell,每种 Shell 都具有不同的特性和语法。
以下是列出 Linux 系统中所有 Shell 的命令:
cat /etc/shells
该命令会打印出一个列表,其中包含了在你的系统中安装的所有 Shell。例如:
$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/usr/bin/tcsh
/usr/bin/ksh
/usr/bin/zsh
在上面的例子中,有 6 种不同的 Shell:Bourne shell(/bin/sh)、Bash(/bin/bash 和 /usr/bin/bash)、TCsh(/usr/bin/tcsh)、Korn shell(/usr/bin/ksh)和 Zsh(/usr/bin/zsh)。
这是每种 Shell 的简要介绍:
Bourne shell (sh
): 这是最早的 Unix Shell,作为所有其他 Shell 的基础。它的语法很基础,缺点就是不支持很多现代化的特性。
Bash (bourne-again shell): 这是目前最常用的 Shell,也是默认的 Shell。Bash 学习曲线较为平滑,拥有丰富的扩展和编程特性。
Tcsh (Tenex C Shell): Tcsh 的语法和 Bash 有较大的差别,不像 Bash 那么容易上手。它的历史命令和文件名补全功能在 Unix 用户中广受欢迎。
Ksh (Korn Shell): 由 David Korn 开发的 Ksh 在语法上类似于 Bash,但拥有额外的特性和发展历史。它的主要特点是出厂时就具备 C-shell 和 Bourne-shell 的语法。
Zsh (Z-shell): 它是由 Paul Falstad 开发的,是 Unix 中最强大的 Shell 之一。与 Bash 相比,它具有更强大的文件名补全、历史记录和别名特性。
在日常工作中,Bash 是最普遍的 Shell,不过你必须知道如何使用其他 Shell 才能更好地理解和控制你所使用的系统。
以上就是这个主题的完整介绍,目前上述的 Shell 类型已经覆盖了市面上主流的 Shell,作为一名合格的 Linux 工程师,掌握常见 Shell 类型和正确使用方式能够让你的工作更为高效和专业。