日常使用计算机,大家经常会遇到一个词:终端。平日里谈论这个词的时候,在不同上下文场景下,其实代表了不同含义。其实用英文来说明这些概念更合适,这里就简单谈谈我对此的理解。
概述
下列几个英文单词,大家使用计算机时候应该经常遇到:
Console
Terminal(Terminal Emulator)
TTY(PTY、PTS、PTMX)
Shell
下面逐个说明。
Console
英文翻译为中文就是蓝色部分,n. 控制台,操纵台;演奏台。
一般来说 1 台计算机只能对应 1 个;
一般来说会跟计算机主机物理上在一起;
需要物理接触。
问题一:猜猜下面的图里,哪个是控制台。
这里先不说,文末会揭晓。再看下一张图,大家觉得哪个是控制台?
理论上来说,这个游戏机也是个计算机,控制台部分就是按键部分,只不过都一体化了。
Terminal
英文翻译为中文就是蓝色部分,n. 终端;终点站; 航空站; (电路的)端子。
一般来说 1 台计算机可以对应 n 个;
一般来说跟计算机主机物理上不在一起;
可以远程。
问题二:猜猜下面的图里,哪个是终端?
这里也先不说,文末会揭晓。大家可以对比刚才那张控制台的图。
Terminal Emulator
第二个单词 Emulator,英文翻译为中文就是蓝色部分,n.仿真器;仿真程序。
常见的三大操作系统里,经常用的所谓”终端“有:
Windows
PuTTY
XShell
SecureCRT
Mac
iTerm2
Linux,如:Debian 下
Tilda
Terminal
来看看熟悉的”终端“ Logo
题外话,如果装了 sl 命令,有时候”终端“里敲命令太快,把 ls 错误敲成 sl 就会出现下图这个跑火车界面,这个时候就得注意下,是不是放慢下手速,这样作业更安全些。
TTY
英文翻译为中文就是下列描述,其中蓝色部分就是缩写来源的字母,abbr. 电传打字机teletypewriter的缩写;[计]= Teletype terminal unit,电传打字机终端(设备)
TeleTYpewriter
终端(Terminal)设备之一;
一般来说 1 台计算机可以对应 n 个;
一般来说跟计算机主机物理上不在一起;
可以远程;
本来是物理设备。
问题三:看下图哪个是所谓 TTY?
这个可能比较简单,应该能知道,直接给个特写图吧。
现在我们熟悉的 TTY 都是下图这种。
Shell
由上图引出 Shell 这个概念,上面登录后可能如下图。
一般特指,UNIX Shell,英文翻译为中文就是下列描述
[计][UNIX]命令解释程序
不同与上面几个概念,是软件;
是操作系统的操作界面;
有的是表示 Shell Script;
种类略多。
Bash
来看看 Shell 里常见的主角 Bash。
bash,来自 Bourne shell(bsh)
双关语
Bourne again
born again
缩写可以认为来自于下列的蓝色部分,BourneAgainShell
bourne 英文翻译为中文就是,英 [bʊən] 美 [bɔn] n.小溪,目的地;
*sh
Shell 家族太多了,简单罗列可以看下图。
衍生关系可以认为如下:
csh -> tcsh
bsh -> ash -> dash(Debian Almquist Shell)
ksh -> POSIX shell ( sh)
zsh
所以写 Shell 时候一定要指明用的用的哪个 Shell,一般建议就用 Bash
#!/bin/bash
/dev
先来看下图,再逐个解释。
/dev/console
对应上古时期的 Console,比如:计算机主机本身的屏幕键盘;
也可以叫仿真控制台终端;
也可以认为是类型为 Linux 的一个系统终端;
被 /dev/tty 所关联。
/dev/tty
对应上古时期的 TeleTYpewriter ,比如:连接计算机,但在其它物理位置的屏幕键盘;
也可以叫仿真电传打字机终端;
也可以认为是实际终端设备一个关联;
也可以认为一个进程的控制终端;
但实际是被 /dev/tty* 所关联。
/dev/tty*
如:/dev/tty4;
实际激活的终端;
/dev/tty0 是一个别名;
被 /dev/tty 所指向;
而 /dev/console 显示对应的 /dev/tty;
如:/dev/tty4 -> /dev/tty0 -> /dev/tty -> /dev/console。
/dev/ttyS*
如:/dev/ttyS4;
串口终端(Serial Port Terminal)。
杂谈完毕,揭晓刚遗留的两个问题的答案:
答案一:左侧蓝色是控制台;
答案二:广义上说,整张图的显示器和键盘都是。
折腾这些概念感受就是:”UNIX 是用户友好的,只是要成为 UNIX 的用户很困难“
题图是,经典电影《谍影重重 2》。没错,电影的主角跟 Bash 就一个单词的关系,没别的关系,就是单纯为了配图,配图继续 Bourne Again ;-)
领取专属 10元无门槛券
私享最新 技术干货