linux 系统tty、pty和pts 的概念及区别

  1. tty(终端设备的统称):
    tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。
    终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。

tty指的是七个alt+crtl+F1~F7

tty1-tty6表示文字界面,可以用Ctrl+Alt+F1-F6切换,+F7就是切换回图形界面。

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

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

  2. pts/ptmx(pts/ptmx结合使用,进而实现pty): 在Xwindows模式下的伪终端。
    pts(pseudo-terminal slave)是pty的实现方法,与ptmx(pseudo-terminal master)配合使用实现pty。
    man里面是这样说的:ptmx and pts - pseudo-terminal master and slave,
    pts是所谓的伪终端或虚拟终端,具体表现就是你打开一个终端,这个终端就叫pts/0,如果你再打开一个终端,这个新的终端就叫pts /1。

比如用who命令查询当前登录的用户,可以看到每个用户的TTY设备(简单来说就是用户输入命令还有显示信息的设备,比如终端),下面是我机器上的显示:
[root@localhost ~]# who
xjb tty1 2018-02-18 03:01 (:0)
xjb pts/0 2018-02-18 03:02 (:0.0)
root pts/1 2018-02-18 03:06 (192.168.31.1)
root pts/2 2018-02-18 03:07 (192.168.31.1)
root pts/3 2018-02-18 03:07 (192.168.31.1)
root pts/4 2018-02-18 03:07 (192.168.31.1)
[root@localhost ~]#

有一个tty1是表示图形界面,当前登录的是GNOME,是图形界面了。

(:0.0) 表示在服务器登录的

两个pts间发送消息

[root@localhost ~]# tty
/dev/pts/3
[root@localhost ~]# echo "Hey Binn. how are you?" > /dev/pts/2

[root@localhost ~]# tty
/dev/pts/2
[root@localhost ~]# Hey Binn. how are you?

好玩的事,直接给它发红色字体消息。
颜色代码详情请参阅ANSI控制码。
[root@localhost ~]# echo -e "\033[31mHey. Binn.\033[0m" > /dev/pts/2

转载于:https://blog.51cto.com/ablinuxer/2071841

linux 系统tty、pty和pts 的概念及区别相关推荐

  1. Linux中tty、pty、pts的概念及区别

    文章目录 1 基本概念 2 在Linux系统的设备特殊文件目录/dev/下,终端特殊设备文件一般有以下几种: 3 命令行查看 4 概念强化 参考.理解.修改: https://zhuanlan.zhi ...

  2. linux 系统tty、pty和pts 的概念及区别(转)

    1. tty(终端设备的统称): tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器 ...

  3. Linux中tty、pty、pts的概念区别

    基本概念:1> tty(终端设备的统称): tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东 ...

  4. linux下echo /dev/ttys* 到字符设备文件,linux之tty pty pts

    一.基本概念: 1> tty(终端设备的统称): tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后 ...

  5. Linux开启可视化进程传递pts,Linux下tty/pty/pts/ptmx详解(转)

    基本概念: 1> tty(终端设备的统称): tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这 ...

  6. ttys和tty_Linux中tty、pty、pts的概念区别

    基本概念:1> tty(终端设备的统称): tty一词源于Teletypes,或teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西 ...

  7. linux系统useradd及周边命令和概念详解

    在Linux 系统中,所有的用户和组像一个国家.如果国家要繁荣昌盛的话,需要治理得当,需要有主席或者总统,以及地方官员和老百姓组成.在linux 中如果你对安全需求比较苛刻,完全可以限制用户的各种行为 ...

  8. 快速理解Linux系统中用户和组的概念及如何查看存储用户与组信息的文件/etc/passwd,/etc/shadow,/etc/group及其子段意思

    文章目录 用户与组的类型 1.linux中用户的类型 2.linux中用户组的类型 3. linux中存储用户信息的文件是哪个?且其中的字段是什么意思 4.linux中存储组信息的文件是哪个?且其中的 ...

  9. linux mtd 块设备,Linux系统中/dev/mtd与/dev/mtdblock的区别,即MTD字符设备和块设备的区别...

    转:http://www.crifan.com/linux_system_in__dev__mtd_and__dev__mtdblock_distinction_character_devices_a ...

  10. Linux系统中动态库和静态库的区别

    Linux系统中"动态库"和"静态库"那点事儿 今天我们主要来说说Linux系统下基于动态库(.so)和静态(.a)的程序那些猫腻.在这之前,我们需要了解一下源 ...

最新文章

  1. BeanShell使用json.jar包处理Json数据
  2. go html vue,用Go+Vue.js快速搭建一个Web应用(初级demo)
  3. php div中的字上下居中,Div垂直居中效果怎么实现
  4. 行业「趋轻」,尚美“共创品牌”推动酒店业进入春天
  5. 温州大学《深度学习》课程课件(十、人脸识别与神经风格迁移)
  6. clojure学习记录
  7. Git 的origin和master解析
  8. java8 内存设置_Java 8内存分析
  9. 互联网时代,还有闷声发大财的吗?
  10. When Startup Disk is Full
  11. laravel ajax分页实例,Laravel 的分页功能 - Laravel 5.6 中文文档
  12. fileutils java_FileUtils类的应用实例教程
  13. Codeforces 1299 题解
  14. matlab和cuda版本对应适配关系
  15. BLUES吉他学习笔记005 bluesrv[9]
  16. 东方快车谋杀案java_2015年第13本(英文第9本):Murder on the Orient Express 东方快车谋杀案...
  17. 饥荒控制台输入没用_饥荒控制台怎么使用?饥荒控制台代码应该怎么输入?_图文攻略_高分攻略_百度攻略...
  18. Apache Kafka(七)- Kafka ElasticSearch Comsumer
  19. 不能装载文档控件。请在检查浏览器的选项中检查浏览器的安全设置_「初级会计报考指南」浏览器问题解决方案...
  20. exdoll机器人_打造国内领先的定制化人工智能机器人品牌, EXDOLL新品惊艳亮相_TOM新闻...

热门文章

  1. openai-gpt_GPT-3:大惊小怪的是什么?
  2. 循环神经网络 递归神经网络_递归神经网络-第2部分
  3. Linux在文件中查找the字样,Linux文件查找
  4. 计算机网络—3网络层(路由选择协议、路由表的生成)
  5. python中__future__包
  6. linux img提取文件系统,Linux系统获取开发板的文件系统并打包成img文件
  7. 可视化排班管理_呼叫中心外包之管理要点与数据分析对策
  8. moba的m是什么意思_moba游戏是什么
  9. mysql mysqlhotcopy_mysql中mysqlhotcopy备份数据库总结
  10. Build Apache Module