Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux基础之终端、控制台、tty、pty等概念简介

Linux基础之终端、控制台、tty、pty等概念简介

作者头像
小小科
发布于 2018-05-02 04:19:21
发布于 2018-05-02 04:19:21
3K0
举报
文章被收录于专栏:北京马哥教育北京马哥教育

基本概念:

1>tty(终端设备的统称):

tty一词源于teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。

终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。

2>pty(伪终端,虚拟终端):

但是如果我们远程telnet到主机或使用xterm时不也需要一个终端交互么?是的,这就是虚拟终端pty(pseudo-tty)

3>pts/ptmx(pts/ptmx结合使用,进而实现pty):

pts(pseudo-terminal slave)是pty的实现方法,与ptmx(pseudo-terminal master)配合使用实现pty。

Linux系统的设备特殊文件目录/dev/下,终端特殊设备文件一般有以下几种:

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

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

伪终端(Pseudo Terminal)是成对的逻辑终端设备(即master和slave设备, 对master的操作会反映到slave上)。

例如/dev/ptyp3和/dev/ttyp3(或者在设备文件系统中分别是/dev/pty /m3和 /dev/pty/s3)。它们与实际物理设备并不直接相关。如果一个程序把ptyp3(master设备)看作是一个串行端口设备,则它对该端口的读/ 写操作会反映在该逻辑终端设备对应的另一个ttyp3(slave设备)上面。而ttyp3则是另一个程序用于读写操作的逻辑设备。telnet主机A就是通过“伪终端”与主机A的登录程序进行通信。

3、控制终端(/dev/tty)

控制终端是指能够控制一个、套设备或者几套设备的终端控制器。

如果当前进程有控制终端(Controlling Terminal)的话,那么/dev/tty就是当前进程的控制终端的设备特殊文件。可以使用命令”ps –ax”来查看进程与哪个控制终端相连。对于你登录的shell,/dev/tty就是你使用的终端,设备号是(5,0)。使用命令”tty”可以查看它具体对应哪个实际终端设备。/dev/tty有些类似于到实际所使用终端设备的一个联接。

4、控制台终端(/dev/ttyn, /dev/console)

在Linux 系统中,计算机显示器通常被称为控制台终端 (Console)。它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2 等。当你在控制台上登录时,使用的是tty1。使用Alt+[F1—F6]组合键时,我们就可以切换到tty2、tty3等上面去。tty1–tty6等称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名,系统所产生的信息会发送到该终端上(这时也叫控制台终端)。因此不管当前正在使用哪个虚拟终端,系统信息都会发送到控制台终端上。/dev/console即控制台,是与操作系统交互的设备,系统将一些信息直接输出到控制台上。目前只有在单用户模式下,才允许用户登录控制台。

5、虚拟终端(/dev/pts/n)

在Xwindows模式下(图形界面下)的伪终端.如我在Kubuntu下用konsole,就是用的虚拟终端,用tty命令可看到/dev/pts/1。

6、其它类型

Linux系统中还针对很多不同的字符设备存在有很多其它种类的终端设备特殊文件。例如针对ISDN设备的/dev/ttyIn终端设备等。这里不再赘述。

tty设备包括:

虚拟控制台,串口以及伪终端设备。

/dev/tty代表当前tty设备,在当前的终端中输入 echo “hello” > /dev/tty ,都会直接显示在当前的终端中

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2014-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 马哥Linux运维 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux中的tty与pts
作者: coolentboy  发布日期: 2006-9-17    出自: http://www.linuxdiyf.com
一见
2019/03/14
5.9K0
【驱动】串口驱动分析(一)-软件架构
串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。
嵌入式与Linux那些事
2023/09/05
7230
【驱动】串口驱动分析(一)-软件架构
Linux 终端tty pty pts描述
在使用Linux的过程中,当我们通过ssh或者telnet等方式连接到服务器之后,会有一个相应的终端来对应。而在直接登陆到Linux服务器的时候也有一个对应的终端。也就是说所有登陆到当前Linux服务器的用户都有一个对应的终端,那他们有什么差异,终端到底是怎么一回事?本文作简要描述如下。
Leshami
2018/08/13
7.2K0
Linux 终端tty pty pts描述
linux tty_linux tty
tty是Teletype的缩写。 Teletype是最早出现的一种终端设备——可以称作电传打字机,由Teletype公司生产。tty在Linux系统的设备特殊文件目录/dev/下。
全栈程序员站长
2022/09/22
5K0
TTY子系统初探
TTY,一词源于Teleprinter,译为电传打印机,在早起用来表示电脑终端的设备。
董哥聊技术
2023/01/18
1.8K0
tty各种设备的情况
通常使用tty来简称各种类型的终端设备。 (1)串口端口终端(/dev/ttySn)   串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。有段时间这些串行端口设备通常被称为终端设备,因为 那时它的最大用途就是用来连接终端。这些串行端口所对应的设备名称是/dev/tts/0(或/dev/ttyS0), /dev/tts/1(或/dev/ttyS1)等,设备号分别是(4,0), (4,1)等,分别对应于DOS系统下的COM1、
233333
2018/03/07
2.5K0
KVM连接虚拟机(3)
首先KVM主机必须为图形界面,输入virt-manager打开虚拟系统管理器,就可以对你的虚拟机进行各种操作。
py3study
2020/01/08
4K0
一文了解TTY子系统框架
TTY子系统位于标准字符驱动之下,其中包括:TTY核心层,TTY线路规程,TTY驱动层。
董哥聊技术
2023/01/18
2.1K0
【收藏转发】从串口驱动到Linux驱动,嵌入式入门必备!
本文通过对Linux下串口驱动的分析。由最上层的C库,到操作系统系统调用层的封装,再到tty子系统的核心,再到一系列线路规程,再到最底层的硬件操作。
AI 电堂
2021/01/08
4K0
Linux系统管理工具-vmstat、top、sar、nload、w命令
解析: 第一行从左边开始显示的信息依次是:时间,系统运行时间,登录用户数,平均负载(1min平均负载、5min平均负载、15min平均负载)。 load average:平均负载,即单位时间内CPU活动进程数,这个值越大说明服务器压力越大,一般该值不超过cpu数量就可以。
阿dai学长
2019/04/03
1.5K0
linux下tty详解
tty(终端设备的统称): 在UNIX系统中,计算机显示器通常被称为控制台终端(Console)。它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2等。这些文件赋予了linux同时处理多任务,多窗口切换的能力。 我们通常在linux下看到的控制台一般是/dev/ttyN,用户可以使用alt+Fn切换控制台,看起来感觉存在多个屏幕。 这种虚拟控制台对应tty1~n,(ssh就是这样,当你通过ssh登录一台服务器以后,就会在/dev/pts/下生成一个控制台设备文件,对应ttyN,通常情况下,1<=n<=63)其中 : tty0就是/dev/console,/dev/console指向当前虚拟终端。
kevinfaith
2018/09/18
16.5K0
一文带你彻底理解Linux的各种终端类型及概念
每天使用Linux每天都要接触到Bash,使用Bash时似乎永远都让人摸不着头脑的概念就是终端,坐在这台运行着Linux的机器的显示器前面,这个显示器就是终端的输出,而插在机器上的USB键盘或者PS/2键盘就是终端的输入,看来这是一种最直白意义上关于终端的解释。
Linux阅码场
2019/07/16
1.6K0
一文带你彻底理解Linux的各种终端类型及概念
http://www.178linux.com/7944
Linux系统的终端主要包括控制台终端、控制终端、串口终端、伪终端、虚拟终端。 控制台终端(/dev/console)。 在Unix系统中,计算机显示器通常被称为控制台终端。 Console与虚拟终端相关联,内核将信息送到控制台终端上 (/dev/console), 通过与console相关联的虚拟终端将信息 显示到屏幕上。 控制终端(/dev/tty) 控制终端是一个应用程序的概念。对于登录shell来讲, /dev/tty就是我们使用的终端 3、串口终
小小科
2018/05/03
1.2K0
Linux 终端初始化 console_init 及 tty 驱动框架
先前分析了 Linux 入口地址和 Linux 系统启动流程,本文详细分析一下 Linux 启动流程中的 console_init 终端初始化函数。
Jasonangel
2021/10/12
4K0
如何使用虚拟机的串口和控制台
qemu提供了控制台console和串口serial用来与虚拟机进行交互通讯。本文讲述如何通过console进入虚拟机的控制台,以及如何通过serial与虚拟机进行串口通讯。
虚拟化云计算
2018/07/23
5.8K0
如何使用虚拟机的串口和控制台
TTY 到底是个什么玩意?
先来回答一道面试题:我们知道在终端中有一些常用的快捷键,Ctrl+E 可以移动到行尾,Ctrl+W 可以删除一个单词,Ctrl+B 可以向前移动一个字母,按上键可以出现上一个使用过的 shell 命令。在这 4 种快捷键中,有一个是和其他的实现不一样的,请问是哪一个?
米开朗基杨
2021/10/27
1.6K0
TTY 到底是个什么玩意?
Screen dumps,获取TTY终端输出内容
在实际生产出现问题,获得机器ip并ssh登陆以后,常常需要知道获得前端显示器(tty1)打印信息。用以获取具体报错内容,从而做针对性调试
PedroQin
2020/06/09
2.4K0
Linux 命令(258)—— consoletype 命令
如果控制台是虚拟终端(/dev/tty* 或 /dev/console 设备不在串行控制台上),将打印 vt。
恋喵大鲤鱼
2023/02/23
2770
Linux:/dev/tty、/dev/tty0 和 /dev/console 之间的区别
在Linux操作系统中,/dev/tty、/dev/tty0和/dev/console是三个特殊的设备文件,它们在终端控制和输入/输出过程中扮演着重要的角色。尽管它们看起来很相似,但实际上它们之间存在一些重要的区别。本文将详细介绍这三个设备文件之间的区别以及它们在Linux系统中的作用。
网络技术联盟站
2023/05/28
3.2K0
Linux:/dev/tty、/dev/tty0 和 /dev/console 之间的区别
mac电脑进行可见光通信实验要点
lifi作为一个入门门槛低、设计范围广的实验,在理工高校中还是比较流行的。 通常实验分成3个部分,字符数据传输实验、音频传输实验、视频传输实验。在官方的实验指南中指定使用win7x64或者win xp来进行。老话题,这里说在mac怎么进行实验。 音频传输、视频传输实际跟电脑没关系,只要保证usb供电即可,找两个手机的usb充电器就足够了。 第一部分的实验则是使用了usb转串口卡,这个重点是安装mac版本的电脑驱动,比如我手头拿到的是CH341串口卡,可以在这里下载驱动。 首先安装驱动程序,安装完成后
俺踏月色而来
2018/06/15
1.1K0
相关推荐
Linux中的tty与pts
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档