初学 Linux ,虽然会用但是分不清 TTY 、 Terminal 、 Shell 、 Console 各种的原理和区别。网上大多答案只是啰啰嗦嗦回答了是什么,但是没有说不同点,搞得我更乱了。有深明大义的大神深入浅出地解答一下吗?
1
7sDream 2016-09-20 10:21:47 +08:00
|
2
IgniteWhite 2016-09-20 10:47:44 +08:00
啊,这种问题不需要大神回答,就由我这个初学者回答吧
Terminal 这个应用里面运行的带字的东西是 Shell (相对于 Kernel 的可以由你控制的部分),每打开一个 Terminal 窗口就是等着你做点什么,这个窗口或者 tab 要编号,从 tty000 编起。你输入一个 ps 的指令就看到了。 Console 是针对程序的定义……比如你用 terminal 开了一个 Minecraft 的服务器,这个服务器程序开始运行之后, terminal 窗口里就出现一行行更新的东西,最后一行还有一个“>”这样的待命符可以让你输入命令 op 玩家——这样的界面就是这个服务器的 console 。很多软件里面都有 console ,尤其是科学计算软件里。 |
3
IgniteWhite 2016-09-20 10:48:24 +08:00
@IgniteWhite 不好意思是 ttys000
|
4
imn1 2016-09-20 11:22:53 +08:00
Terminal 是软件概念(tty 是狭义的 Teminal)
终端本身就是一个软件工具,可理解为它模拟命令行环境运行, tty 指文字输入输出,但终端不纯粹是文字输入输出,在 windows 类比(你说初学,估计接触 windows 多)就是 cmd 称为 Console 的图形化模拟器可能容易理解些 Shell 是原生概念 它是指命令组成,而不是具体实现这些命令的工具 /环境, windows 类比就是“ DOS 命令”(注意是命令,不是 DOS ,可以运行 DOS 命令的工具其实很多,不仅 cmd ) Console 是功能概念 在软件层面就是一个控制器,例如 sublimetext, 浏览器的 js 解析器都有控制台输出,但在系统层面,如 linux ,它就是非图形界面的命令运行器, windows 所说的开机直接进入 dos 也是这个意思 |
5
julyclyde 2016-09-20 11:36:23 +08:00
terminal 是硬件概念。软件的叫 terminal emulator
上述外设和电脑相连的时候,电脑这边的统一接口叫 tty ,后来虚化为 pty |
6
jmyz0455 OP @7sDream 没搜过知乎,第二个真详细。请问这个问题也可以解答一下吗 [NT 3.X 以后的 Windows 里, DOS 、 CMD 、 Batch 、 PowerShell 的关系是?]( https://www.v2ex.com/t/307585)
|
7
jmyz0455 OP @IgniteWhite 好像一楼的答案更严谨一点,谢谢啦,请问这个问题也可以解答一下吗 https://www.v2ex.com/t/307585
|
8
Cabana 2016-09-20 19:22:55 +08:00 via Android
linux 萌新也问一下, bash 是跟 shell 同阶的吗?还是说是 shell 的一个子集?
|
9
hitmanx 2016-09-20 20:32:27 +08:00
|
11
franklinyu 2016-09-20 23:30:05 +08:00
覺得 Bash = shell 的一定沒見過 /bin/sh ,/bin/ash ,/bin/csh ,/bin/tcsh ,/bin/zsh ……
|
12
okudayukiko0 2016-09-21 00:24:37 +08:00
TTY 约等于 Console
Terminal=Console 早期的 Unix 是没有显卡和显示屏的 后来有了显卡和显示器,文本界面就称为终端( Terminal ) Shell 吗, OS 的操作界面就是 Shell ,包括 GNOME , BASH ...不过大家所讲的 Shell 一般指命令行 BASH 。 BASH 是 Linux 里最常见的命令行 Shell ,除此外还有 ZSH , TCSH 等。 https://zh.wikipedia.org/wiki/%E7%B5%82%E7%AB%AF https://zh.wikipedia.org/wiki/Getty_(Unix) https://zh.wikipedia.org/wiki/%E6%AE%BC%E5%B1%A4 https://zh.wikipedia.org/wiki/Bash |
13
KingsWay 2016-09-21 12:14:02 +08:00
还有 pty 、 pts 。。。。
|