Linux终端类型

    终端(Terminal)也称终端设备,是计算机网络中处于网络最外围的设备,主要用于用户信息的输入以及处理结果的输出等。在早期计算机系统中,由于计算机主机昂贵,因此一个主机(IBM大型计算机)一般会配置多个终端,这些终端本身不具备计算能力,仅仅承担信息输入输出的工作,运算和处理均由主机来完成。在个人计算机时代,个人计算机可以运行称为终端仿真器的程序来模仿一个终端的工作。随着移动网络的发展,移动终端(如手机、PAD)等得到了广泛的应用。此时,终端不仅能承担输入输出的工作,同时也能进行一定的运算和处理,实现部分系统功能。

Linux终端类型

 

来自 <http://baike.baidu.com/link?url=LrNxzCM9S4gFHNjDFJer4aBm_4hpwgBcNI4mzvcJZ59xnCaS-QpmLqHLmn8kEpBCrKvgnYPPYYky1bra1WhQx5dpz7WorbtvoxbGV-J7iQa>

而在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等称为虚拟终端,

计算机生成了可选文字: [rDDt口IDcdlhost一]林ttg /deV/ttgl [root口localhost~]林

三、图形终端


Linux的后期发展,加入了图形化界面,其实就是在Xwindows模式下的伪终端。如Windows是以图形界面方式操作的,因为你可以用鼠标来点击按钮来进行操作,很直观,但效率很低,因此此类界面一般作操作不使用。关闭图形终端改为虚拟终端的命令

# systemctl  get-default

Garphical.target

systemctl  get-default multi-user.target

 

计算机生成了可选文字: ,.

 

 

四、伪终端(/dev/pty/)

 

上述登录过程,对于网络用户来说,却不能完全实用。很显然,网络用户并不需要一个串口,也不需要一个显示器,他需要的是在他的本地显示设备上,运行Linux的shell。这种网络用户被称为网络虚拟终端。以telnetd为例,它至少应该是这样子的:

Linux终端类型

图一:telnet登录假想图

 

这里,这个“某个终设备”,自然不可能是一个实际的物理终端设备,因为压根没有这样的设备。这样,伪终端的概念就被引入进来了。伪终端设备是一种特殊的终端驱动设备, 它并不驱动某个物理设备,而是用来将终端的输出定向到应用程序中进行处理。伪终端设备之所以存在是为了提供在程序控制下的一种模拟串行终端行为的方法。

 

伪终端与前面说的终端在表现形式上,最大的不同,就是它总是成对出现,而不是单一的一个。它分为“伪终端主设备(/dev/ptyMN)”和“伪终端从设备”。(/dev/ttyMN)。其中,M与N的命名方式如下:

  1. M: p q r s t      u v w x y z a b c d e 共16 个

  2. 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系统下的COM1COM2等。若要向一个端口发送数据,可    以在命令行上把标准输出重定向到这些特殊文件名上即可。例如,在命令行提示符下键入:echo             test > /dev/ttyS1会把单词"test"发送到连接在ttyS1(COM2)端口的设备上。

 

原创文章,作者:yangtian,如若转载,请注明出处:http://www.178linux.com/51501

(1)
yangtianyangtian
上一篇 2016-10-13 19:31
下一篇 2016-10-13 21:32

相关推荐

  • Linux学习总结02—Linux的操作系统发展史(原创)

       我们都知道,在美国宾夕法尼亚大学,有那么一种计算机,叫ENIAC,这种机器耗电量是非常大,而且主机也是庞大,它诞生于1946年的2月14日的情人节,确实有纪念意义,就算是约炮也是拿着智能手机先摇一摇,好看就勾搭,不好看的就拉黑,这台计算机可并不是造福人类的,只是计算数据,我想,当时的情况是这样,在这台计算机没有出世之前,那帮工程师们…

    Linux干货 2016-10-29
  • Linux RPM 命令参数使用详解

    rpm 执行安装包: 二进制包(Binary)以及源代码包(Source)两种。二进制包可以直接安装在计算机中,而源代码包将会由 RPM自动编译、安装。源代码包经常以src.rpm作为后缀名。 -ivh # 安装显示安装进度–install–verbose–hash。 使用方法如下:   &n…

    2017-04-18
  • mysql—MHA原理与实现

    MHA 一:简述MHA 1.1关于MHA MHA(Master HA)是一款开源的MySQL的高可用程序,它为MySQL主从复制架构提供了automating master failover 功能。MHA在监控到master节点故障时,会提升其中拥有最新数据的slave节点成为新的master节点,在此期间,MHA会通过与其它从节点获取额外信息来避免一致性方…

    2016-11-27
  • 马哥教育网络班21期+第9周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash while read line; do     if [[ $line&n…

    Linux干货 2016-09-06
  • 第六周作业

    1、简述osi七层模型和TCP/IP五层模型 应用层 运行着应用程序的协议http、ftp、tftp等 表示层 将应用层所编辑的数据进行加密或解密,没有协议 会话层 决定一次数据传输发起和接收会话请求,没有协议 传输层 根据选着的协议类型,决定是否将数据分割或重组,协议:tcp、udp等 网络层 编辑逻辑地址信息(原站点、目的站点)和路由选着(ARP)协议:…

    2018-02-06
  • 马哥教育网络19期+第十一周课程练习

    1、详细描述一次加密通讯的过程,结合图示最佳。 SSL协议基础:     SSL协议位于TCP/IP协议与各种应用层协议之间,本身又分为两层:     (1)、SSL记录协议:建立在可靠传输层协议(TCP)之上,为上层协议提供数据封装、压缩、加密等基本功能。  &nbs…

    Linux干货 2016-08-15