Linux终端类型介绍

相关命令:tty

适合阅读人群:所有

 

终端机

终端(Computer terminal),是一台电子计算机或者计算机系统,用来让用户输入数据,及显示其计算结果的机器。又名终端机,它与一部独立的电脑不同,其实就是一种输入输出设备,一台电脑多人使用,每增加一个用户只须增加一台显示器和一套键盘鼠标就可以成为一个独立的终端,多用户可同时使用互相独立,跟单独使用一台电脑没有任何差别。

相对于计算机主机而言属于外设,本身并不提供运算处理功能。

终端概念.png

个人计算机可以运行称为终端仿真器的一些程序来模仿终端的工作。可以使用tty命令查看当前终端:

 1. ~]# tty
 2. /dev/pts/0

终端设备文件在Linux系统的设备文件目录/dev/下,下面我们以CentOs为例,一一介绍终端的设备文件。

Linux终端类型

物理终端:/dev/console

在Linux 系统中,直接接入计算机显示器通常被称为物理终端,也叫做控制台终端(Console)。并且有一些设备特殊文件与之相关联:tty0、tty1、tty2等。当你在控制台上登录时,使用的是tty1。使用Ctrl+Alt+[F1—F6]组合键时,我们就可以切换到tty2、 tty3等上面去。tty1 –tty6等称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名,系统所产生的信息会发送到该终端上。因此不管当前正在使用哪个虚拟终端,系统信息都会发送到控制台终端上。你可以登录到不同的虚拟终端上去,因而可以让系统同时有几个不同的会话期存在。只有系统或超级用户root可以向 /dev/tty0进行写操作。

 

串行终端:/dev/ttyS[1-6]

串行端口终端(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)端口的设备上。

 

伪终端:/dev/pty/#

伪终端(Pseudo Terminal)是纯粹的软件方式实现,而且不会附加在本地物理终端上。伪终端是附加在图形终端或其他远程终端之上,用软件方式模拟出来的。例如,在图形界面下打开的命令行工具,在windows上使用的ssh远程连接工具打开终端等。这种远程连接用软件模拟的终端,叫做伪终端或模拟终端。

最常见的是网络登录、和X 模式下建立的终端—都是伪终端。X 模式下建立的终端,建立一个telnet或ssh连接使用的终端都是伪终端。

 

虚拟终端:/dev/tty[1-6]

虚拟终端附加在物理终端之上的,是以软件方式虚拟实现的终端。系统开机后会启动6个虚拟终端,在CentOs6系统,默认使用tty1登录,可以使用快捷键 Ctrl+Alt+F[1-6]切换虚拟终端。在CentOs7系统,如果进入系统默认启动图形终端时,则tty1被图形终端占用。

 

图形终端:/dev/tty1或/dev/tty7

图形终端也是以软件方式虚拟实现的终端,但会额外提供桌面环境,在CentOs6系统,使用快捷键 Ctrl+Alt+F7可以切换图形终端tty7。图形终端也是虚拟终端的一种。在CentOs7系统,使用快捷键 Ctrl+Alt+F1可以切换图形终端tty7,如果进入系统默认启动图形终端时,默认tty1为图形终端,使用快捷键 Ctrl+Alt+F1可以切换图形终端tty1。图形终端也是虚拟终端的一种。

 

 

 

参考文档:

1.  linux终端

2.  超详细的Linux终端类型介绍

3.  shell、控制台、终端的区别

 

 

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

(1)
Jev TseJev Tse
上一篇 2016-10-14 11:07
下一篇 2016-10-14 11:31

相关推荐

  • http协议

    Web Service概述 web服务时一种应用程序的服务,它所提供的最主要的信息是一种超文本标记语言(HTML)、多媒体资源(如:视频、图片、音乐等)。HTML是一种纯文字的文本信息,通过所谓的标签来规范所要显示的内容格式,在客户端通过浏览器的形式对HTML及多媒体资源进行解析,然后呈现在终端上。主要由http和https协议实现 http协议概述 HTT…

    Linux干货 2016-10-28
  • Gitlab代码管理仓库安装部署

    GitLab是利用 Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查…

    2016-07-26
  • 基于Cobbler实现多版本操作系统自动部署

    前言     在生产环境中,当需要批量部署几十甚至上百台服务器时,实现自动化安装操作系统尤为重要,按照传统的光盘引导安装是不可想象的;此前我们通过pxe+kickstart简单实现了自动化安装,但只能实现单一版本安装,当需要部署不同版本或不同引导模式(BIOS、EFI)时,此种方式就不够灵活。而Cobbler正是为了解…

    Linux干货 2015-08-11
  • 安全和加密与创建签名证书

    安全和加密:NIST定义的安全属性:(美国国家标准与技术研究院)保密性:        数据保密性        隐私性完整性:不可篡改        数据完整性        系统完整性高可用性: …

    Linux干货 2017-04-11
  • N26-第八周作业-邢岩

    马哥门徒-N26-邢岩 1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;      在线的主机使用绿色显示;      不在线的主机使用红色显示; #!/bin/bash # Author: jeque# Des…

    2017-03-24
  • 马哥linux 0726作业

    1,课堂练习 显示当前日期,格式:2016-08-08 显示前天是星期几 设置当前日期为2008-08-08 08:00 使用字符端登陆时,显示当前登录终端号,主机名和当前时间 1,首先我们知道当前登录信息的配置文件在/etc/issue中 2,然后我们查询帮助看看issue的具体描述查到了相关的mingetty的命令当中关于当中的一些选项就是我们需要的三个…

    Linux干货 2016-08-04

评论列表(1条)

  • 马哥教育
    马哥教育 2016-10-14 11:30

    总结得不错,图也画得不错,赞一个!加油~