Linux 中 Shell 的深入剖析
1. Shell 的本质
在 Linux 系统里,Shell 的核心功能是执行命令,不过它并非是 Linux 内置的特殊组件,而是像 ls
或 cat
这类普通程序。Shell 会不断重复以下步骤:
1. 显示命令提示符。
2. 从标准输入读取命令。
3. 评估并执行该命令。
当用户登录时,Linux 会自动为用户启动一个 Shell 实例,即登录 Shell。它启动得十分流畅,让人感觉它就是 Linux 系统的一部分,实则只是代表用户与 Linux 交互的程序。
登录 Shell 的位置取决于登录方式:
- 若通过非图形化终端(如使用 SSH 客户端程序)登录,登录 Shell 就是用户最初交互的 Shell,它会显示第一个命令提示符并等待用户输入命令。
- 若在带有图形界面的计算机控制台登录,登录 Shell 会在后台运行,它会启动桌面环境(如 GNOME、Unity、Cinnamon 或 KDE Plasma),之后用户可打开终端窗口运行其他交互式 Shell。
2. Shell 是可执行文件
多数 Linux 系统的默认 Shell 是 bash
,它是一个普通的可执行文件,位于系统目录 /bin
下,与 cat
、 ls
、 grep
等常见命令在同一目录: