- SignalDesk1小时前
Shell 在操作系统中,shell 是相对于 kernel 的概念。 kernel 是内核,shell 是用户与内核交互的外壳。 shell 分为命令行 shell、图形化 shell 等等种类,我们一般说的 Gnome、KDE Plasma 等等都属于图形化 shell,bash、zsh、fish 等等属于命令行 shell。 Terminal 古早的计算机是占地几个屋子的庞然巨物,人们要操作计算机就需要额外的设备来提供操作界面(interface),所以计算机就被划分成为主机(host)和终端(terminal)两部分。 主机负责实际承载计算机资源,终端负责给用户操作操作主机的界面。现代 PC、工作站一般都是微型计算机,物理上主机和终端合并成了一个整体,但这个称呼保留了下来。 理论上来讲,你在同一个终端上、同一时间只能看到一个 shell,如果是在用图形化 shell,就没法同时操作命令行 shell(除非用一些切换机制切换过去,但也是整体切换),这时候要操作命令行 shell就需要在图形化 shell 里模拟一个虚拟的终端来展示令行 shell。 所以我们通常看到的“终端”实际上是“终端模拟器(terminal emulator)”的简称。 TTY 在没有给计算机装备显示器的时代,用户使用电传打字机(teletype/teletypewriter)来操作计算机,可以简单理解为是一个键盘(古早版)+ 一个打印机,打印机相当于显示器把计算机反馈的信息展示给用户,只不过是打印在纸上。除了输入输出信息,还可以读写纸带(古早的计算机程序载体)。 现在都用键盘鼠标显示器了,不再需要电传打印机,但是这个概念被保留了下来。 辨析来看的话: terminal 是受内核管理的底层交互设备(物理或虚拟),TTY 是内核对 terminal 进行抽象封装后、向上提供给用户态程序的标准接口(设备文件),而 shell 则是绑定在 TTY 接口上运行的交互界面软件。 所以纸带去哪了?额……感觉这个话题没完没了了…… 1 个帖子 - 1 位参与者 阅读完整话题
- 情报分类:硬件与数码
- 分类依据:内容涉及硬件、数码产品或通信卡
- 信息来源:服务器 / LINUX DO - 最新话题
- 发布时间:2026/10/14 09:57:11
- 暂无回复