Linux中tty、pty、pts的概念及区别
文章目录
- 1 基本概念
- 2 在Linux系统的设备特殊文件目录/dev/下,终端特殊设备文件一般有以下几种:
- 3 命令行查看
- 4 概念强化
参考、理解、修改:
https://zhuanlan.zhihu.com/p/42771810
https://zhuanlan.zhihu.com/p/337366679
1 基本概念
①tty (虚拟终端)
②pty (伪终端)
③pts/ptmx (pts/ptmx结合使用,进而实现pty)
2 在Linux系统的设备特殊文件目录/dev/下,终端特殊设备文件一般有以下几种:
串行端口终端(/dev/ttySn)
串行端口所对应的设备名称是/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/ttyn)
tty:电传打字机‘teletypewriter’的缩写
/dev/tty就是进程的控制终端的设备特殊文件。可以使用命令”ps ax”来查看进程与哪个控制终端相连
使用命令”tty”可以查看它具体对应哪个实际终端设备
“w”也可以看控制台终端(/dev/console)
在Linux系统中,电脑显示器通常被称为控制台终端(Console)。他仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特别文档和之相关联:tty0、tty1、tty2等。当您在控制台上登录时,使用的是tty1。使用Alt+[F1―F6]组合键时,我们就能够转换到tty2、tty3等上面去。tty1~tty6等称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名,系统所产生的信息会发送到该终端上(这时也叫控制台终端)。因此不管当前正在使用哪个虚拟终端,系统信息都会发送到控制台终端上。您能够登录到不同的虚拟终端上去,因而能够让系统同时有几个不同的会话期存在。只有系统或终极用户root能够向/dev/tty0进行写操作伪终端(/dev/pts/n 或 /dev/pty/)
在Xwindows模式下的伪终端:
ls /dev/pt*
一台服务器有多个tty,一个tty可以对多个pty(pts)
TELNET —> TTYP3(S3: slave) —> PTYP3(M3: master) —> GETTY其它类型
Linux系统中还针对很多不同的字符设备存在有很多其它种类的终端设备特殊文件。例如针对ISDN设备的/dev/ttyIn终端设备等。
3 命令行查看
#### 1- xWindows下
# 执行tty命令,若执行结果为/dev/pts/0说明是伪终端连接,若执行结果为/dev/tty*说明是虚拟终端
$ tty
/dev/pts/0
$ w11:41:30 up 1 day, 23 min, 1 user, load average: 0.27, 0.29, 0.25
USER TTY 来自 LOGIN@ IDLE JCPU PCPU WHAT
kevin tty7 :0 六11 24:23m 19:31 0.29s /usr/libexec/gnome-session
$ w11:42:48 up 23:33, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
pi pts/0 192.168.32.13 10:25 0.00s 0.90s 0.04s w# 可以发消息到其他伪终端窗口
echo 'test' > /dev/pts/2# 显示在当前的终端中
echo “hello” > /dev/tty#### 2 - console下
# 通过 Ctrl + Alt + F2 把控制台中的终端切换到 tty2
# echo "hello world" > /dev/console
hello world
# tty
/dev/tty2
# w22:20:51 up 1 day, 11:03, 2 users, load average: 0.32, 0.24, 0.28
USER TTY 来自 LOGIN@ IDLE JCPU PCPU WHAT
kevin tty7 :0 六11 35:03m 25:29 0.33s /usr/libexec/gnome-session-binary --systemd --builtin --session=pantheon
kevin tty2 - 22:14 26.00s 0.11s 0.05s -bash
4 概念强化
- 终端: 输入和输出设备(键盘+显示器)
- 物理终端:直接连接在主机上的物理设备(键盘、显示器);串行终端:与机器的串口对应,每一个串口对应的一个串行终端,串口对应的也是物理终端
- 虚拟终端:Linux默认有6个虚拟终端,这6个虚拟终端可以使用快捷键
(Ctrl+Alt+F1)...(Ctrl+Alt+F6)
切换,虚拟终端使用tty(teletypewriter)显示(/dev/tty1~/dev/tty6),他们共用一套物理终端设备 - 伪终端: 虚拟终端是有限的,但网络端口和图形端窗口的数目却是无限的,这是通过伪终端来实现的,使用SSH或者Telnet远程连接Linux时使用的就是伪终端,伪终端使用pts(pseudo-terminal slave)显示,执行
tty
命令执行结果为pts则是伪终端,tty则是虚拟终端 - 控制终端:这是一个逻辑概念,即用户正在控制的终端,可以使串行终端、虚拟终端、伪终端
- 控制台终端:控制台终端可以认为是一台主机对应的一套键盘和显示器,所有虚拟终端是对应的都是同一控制台终端
Linux中tty、pty、pts的概念及区别相关推荐
- linux pts设备,Linux中tty和pts指的是什么
Linux中tty和pts指的是什么 发布时间:2020-11-17 14:55:05 来源:亿速云 阅读:135 作者:小新 这篇文章将为大家详细讲解有关Linux中tty和pts指的是什么,小编觉 ...
- linux tty pty pts tts概念 区别
1. tty(终端设备的统称): tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后 来这东西被键盘与显示 ...
- linux下echo /dev/ttys* 到字符设备文件,linux之tty pty pts
一.基本概念: 1> tty(终端设备的统称): tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后 ...
- Linux开启可视化进程传递pts,Linux下tty/pty/pts/ptmx详解(转)
基本概念: 1> tty(终端设备的统称): tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这 ...
- 2.linux中tty、ttySn、ttyUSBn的区别及查看
1./dev/tty./dev/ttyS/./dev/ttyUSB区别 1> /dev/tty 当前控制终端Terminal 2>/dev/ttyn和/dev/console (虚拟)控制 ...
- 【转】Linux中tty、pty和pts概念及区别
转自:Linux中tty.pty和pts概念及区别 - 知乎 基本概念 ①tty(终端设备的统称): tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是一种 ...
- linux中文件复的概念,诠释 Linux 中“一切都是文件”概念和相应的文件类型
原标题:诠释 Linux 中"一切都是文件"概念和相应的文件类型 原文出处: Aaron Kili 译文出处:runningwater 在 Unix 和它衍生的比如 Linux 系 ...
- linux中export和source的作用和区别
linux中export和source的作用和区别 2013-11-12 12:36 1039人阅读 评论(0) 收藏 举报 分类: linux(82) shell与export命令 用户登录到Lin ...
- linux中cat、more、less命令区别详解
linux中cat.more.less命令区别详解 转自:https://blog.csdn.net/xyw_blog/article/details/16861681 众所周知linux中命令cat ...
- Linux中kil命令和pkill命令的区别
Linux中kil命令和pkill命令的区别 kill命令格式: kill [参数][目标程序的端口号] 所以使用kill命令前需要使用ps命令查看目标程序的端口号: ps -ef | grep fi ...
最新文章
- 手撸 webpack4.x 配置(一)
- PhotoShop算法原理解析系列 - 像素化---》碎片。
- 全网Star最多「近20k」的Spring Boot开源教程 2019 年要继续更新了
- HDU 3549 Flow Problem (dinic模版 isap模版)
- 【商务智能】数据预处理
- python计算3j系数_python数值基础知识浅析
- firefox应用自动全屏显示_【b】—自动化测试:基础selenium—API
- linux路由内核实现分析(四)---路由缓存机制(2)
- java uml eclipse_eclipse uml 工具
- 32bit win7 在VMWARE中安装64位的redhat LINUX4.7
- apache shiro怎么升级_Spring Boot 整合 Shiro ,两种方式全总结!
- JavaScript escape/unescape 编码的 Java 实现
- Mysql教程|基础使用方法
- 卸载MySQL安装包
- html设置一级标题二级标题格式怎么弄,论文一二三级标题格式如何设置
- 常见CRC算法与C实现
- pscs6安装序列号
- 二面深信服前端,秋招面经分享
- 航天金盾人脸识别系统解决方案
- 蓝牙控制esp-32单片机(四)