终端(Terminal)也称终端设备,是计算机网络中处于网络最外围的设备,主要用于用户信息的输入以及处理结果的输出等。在早期计算机系统中,由于计算机主机昂贵,因此一个主机(IBM大型计算机)一般会配置多个终端,这些终端本身不具备计算能力,仅仅承担信息输入输出的工作,运算和处理均由主机来完成。在个人计算机时代,个人计算机可以运行称为终端仿真器的程序来模仿一个终端的工作。随着移动网络的发展,移动终端(如手机、PAD)等得到了广泛的应用。此时,终端不仅能承担输入输出的工作,同时也能进行一定的运算和处理,实现部分系统功能。
而在Linux中有已下几类终端
一、物理终端
也称控制台终端(/dev/ttyn, /dev/console)
在Linux 系统中,计算机显示器通常被称为控制台终端(Console)。它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2等。当你在控制台上登录时,使用的是tty1。使用Alt+[F1—F6]组合键时,我们就可以切换到tty2、 tty3等上面去。tty1 –tty6等称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名,系统所产生的信息会发送到该终端上。因此不管当前正在使用哪个虚拟终端,系统信息都会发送到控制台终端上。你可以登录到不同的虚拟终端上去,因而可以让系统同时有几个不同的会话期存在。只有系统或超级用户root可以向 /dev/tty0进行写操作,
1、# tty(查看当前TTY)
/dev/tty1
2、#echo "test tty0" > /dev/tty0
test tty0
二、虚拟终端(tty)
既然有物理可摸可见的终端,那么又会有用软件或协议虚拟出来的终端。虚拟终端(VT)是一种提供类似于Internet的Telnet协议的远程终端仿真的国际标准化组织(ISO)协议。在远程终端的用户,可以在远程计算机上运行应用程序,就象他们是坐在这台计算机前面一样。在Linux中默认有6个虚拟终端,进入命令快捷键Ctrl+Alt+f(1-6),分别对应相应的终端,进入终端的命令
1、/dev/tty# #为{1-6}
tty1 –tty6等称为虚拟终端,
三、图形终端
Linux的后期发展,加入了图形化界面,其实就是在Xwindows模式下的伪终端。如Windows是以图形界面方式操作的,因为你可以用鼠标来点击按钮来进行操作,很直观,但效率很低,因此此类界面一般作操作不使用。关闭图形终端改为虚拟终端的命令
# systemctl get-default
Garphical.target
systemctl get-default multi-user.target
四、伪终端(/dev/pty/)
上述登录过程,对于网络用户来说,却不能完全实用。很显然,网络用户并不需要一个串口,也不需要一个显示器,他需要的是在他的本地显示设备上,运行Linux的shell。这种网络用户被称为网络虚拟终端。以telnetd为例,它至少应该是这样子的:
图一:telnet登录假想图
这里,这个“某个终设备”,自然不可能是一个实际的物理终端设备,因为压根没有这样的设备。这样,伪终端的概念就被引入进来了。伪终端设备是一种特殊的终端驱动设备, 它并不驱动某个物理设备,而是用来将终端的输出定向到应用程序中进行处理。伪终端设备之所以存在是为了提供在程序控制下的一种模拟串行终端行为的方法。
伪终端与前面说的终端在表现形式上,最大的不同,就是它总是成对出现,而不是单一的一个。它分为“伪终端主设备(/dev/ptyMN)”和“伪终端从设备”。(/dev/ttyMN)。其中,M与N的命名方式如下:
-
M: p q r s t u v w x y z a b c d e 共16 个
-
N: 0 1 2 3 4 5 6 7 8 9 a b c d e f 共16 个
复制代码
这样,默认支持最大是256个。
五、.串行端口终端(/dev/ttySn)
串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行 端口都看作是一个字符设备。有段时间这些串行端口设备通常被称为终端设备,因为那时它的最 大用途就是用来连接终端。
这些串行端口所对应的设备名称是/dev/tts/0(或/dev/ttyS0)、/dev/tts/1(或 /dev/ttyS1)等,设号 分别是(4,0)、(4,1)等,分别对应于DOS系统下的COM1、COM2等。若要向一个端口发送数据,可 以在命令行上把标准输出重定向到这些特殊文件名上即可。例如,在命令行提示符下键入:echo test > /dev/ttyS1会把单词"test"发送到连接在ttyS1(COM2)端口的设备上。
原创文章,作者:yangtian,如若转载,请注明出处:http://www.178linux.com/51501