tty是一类char设备的通称,它们有相同的特性,比如对^C的处理,驱动使用tty_register_driver注册一个tty。

/dev/console是一个虚拟的tty,它映射到真正的tty上,如何映射等会再说。

console有多种含义,这里特指printk输出的设备,驱动使用register_console注册一个console。最后一个注册的conole称为prefer console,init进程的stdin, stdout和stderr都是这个conole

console和tty有很大区别:console是个只输出的设备,功能很简单,只能在内核中访问;tty是char设备,可以被用户程序访问。

实际的驱动比如串口对一个物理设备会注册两次,一个是tty,一个是console,并通过在console的结构中记录tty的主次设备号建立了联系。

内核中,tty和console都可以注册多个。当内核命令行上指定console=ttyS0之类的参数时,首先确定了printk实际使用那个

console作为输出,其次由于console和tty之间的对应关系,打开/dev/console时,就会映射到相应的tty上。用一句话说:

/dev/console将映射到默认console对应的tty上。

顺便说一句,console=ttyS0和/dev/ttyS0包含相同的设备名字完全是巧合,不同也没事。

============================================================================

控制台是什么?

我们经常说的控制台,就是指控制台终端(/dev/ttyn, console,在UNIX系统中计算机显示器就叫做控制台终端)。通常pc,显示器和键盘构成控制台。

并且控制台终端与一些设备特殊文件关联:tty0、tty1、tty2。。。ttyn

通常情况下/dev/console与tty0关联。

ttyn:

ttyn是虚拟终端。有tty1-tty6,通过CTRL+ALT+【F1-F6】转换。开始登陆时,默认登陆的是tty1.

在ubuntu中,虚拟终端有tty1-tty63

tty是控制终端,tty是表示当前tty设备。登陆的控制终端为tty,映射到实际的虚拟终端设备。如tty1、tty2等。

在命令行模式下,是映射到虚拟终端。在图形界面下,被映射到/dev/pts伪终端上。如/dev/pts/0、/dev/pts/1等。

tty0是虚拟终端的别名,无论使用哪个虚拟终端,系统产生的信息都会发到控制终端(即控制台)上。所以能在显示器上看到不同虚拟终端的信息。

echo "test tty" > tty

在当前的终端显示结果如下:

test tty

tty命令,可以查看当前的控制台或虚拟终端,如果在x-window下面使用,查看到的是伪终端设备。

/dev/ttyS* 是串行终端设备

/dev/pty* 伪终端,逻辑上的终端设备。 用途:telnet远程登陆。假设通过/dev/ptym3方式,自动创建/dev/pts/3。

/dev/ptym是pty的主设备(master),/dev/pts 是pty的从设备(slave)。向pty主设备写的数据,作为pty从设备的输入,向pty从设备写的数据,作为pty主设备的输入。从而,伪终端就像双向管道一样。

telnet应用程序 —— /dev/pts/3 ——/dev/ptym3—— GETTY

注意:/dev/pts/ 是devpts文件系统(伪文件系统),并不是设备文件系统(devfs)

ttys和tty_tty和console区别和联系相关推荐

  1. Linux终端一直输出login,Linux tty pty console区别

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

  2. ttyS、tty,console和pty

    http://blog.chinaunix.net/uid-26510579-id-3192387.html 第十四章  Linux终端设备驱动 本章导读 在Linux系统中,终端设备非常重要,没有终 ...

  3. mstsc java_[转]远程桌面mstsc和带参数的mstsc /console区别

    相信mstsc这个命令大家都不陌生(XP自带的远程桌面连接嘛,还要你说),对,就是远程桌面.但是不知道各位有没去留意过,当在XP运行里面打上mstsc命令并连接上另外一台机子,用任务管理器查看里面的进 ...

  4. linux 什么是tty console和tty和串口的关系 如何在linux下查看tty对应哪个串口

    什么是TTY https://blog.csdn.net/goooooooooo/article/details/1302301?ops_request_misc=%257B%2522request% ...

  5. linux6.5退出文档,Centos6.5及Linux基础命令和基础知识点笔记!6.25更新

    @@@第二天第一段 @@who:查看当前系统上登录的所有用户及其信息 @@ tty查看显示当前终端对应终端设备文件 串行终端 /dev/ttys# 物理终端 /dev/console 虚拟终端 /de ...

  6. AIX、HP-UX、Linux、Solaris 常用命令及配置文件对照表

    1对照表(一) Directory Mappings  AIX FreeBSD HP-UX LINUX(RedHat) SOLARIS Tru64 Root filesystem /          ...

  7. Linux中的终端(Terminal)与控制台(Console)的区别

    前言:我们经常听见两个概念,终端和控制台,但是它们的本质到底是什么,到底有什么区别,却很少能够讲得清楚,虽然明确的区分它们并没有太大的用处,但是对于理解Linux还是非常有帮助的. 一.终端Termi ...

  8. C#里面Console.Write与Console.WriteLine有什么区别????

    Write()和WriteLine()都是System.Console提供的方法,两着主要用来将输出流由指定的输出装置(默认为屏幕)显示出来.两着间的差异在Console.WriteLine()方法是 ...

  9. alert和console的区别

    前端开发调试中用的最多的两个命令就是console和alert了吧,做了两年前端了,发现好多人连这两个命令的区别都还不清楚,今天正好没什么事情做,于是按照自己的理解随便说说. alert: 1.会阻塞 ...

最新文章

  1. 1、Python 日期时间格式化输出
  2. ubuntu下部署mongodb以及设置允许远程连接
  3. Object family not exist issue in Equipment download
  4. face_recognition 安装报错问题解决
  5. Null pointer access: The variable number can only be null at this location。 错误解决
  6. springboot 集成 jwt+oauth+springsecurity 实现单点登录,feign远程调用,eruka注册中心,seata分布式事务配置
  7. 蚂蚁课堂视频笔记思维导图-3期 十、分布式解决方案
  8. 基于C++的Qt网络编程——聊天客户端
  9. windows下Tomcat详细安装配置教程
  10. pythondjango网页制作_python+django加载静态网页模板解析
  11. tomcat 的 catalina.out 日志文件,禁用
  12. C语言程序设计——计算图形面积(圆形,矩形,三角形,梯形)
  13. cad怎么画立体图形教学_CAD画三维图中如何绘制三维实体
  14. Unity 获取 两个点的中心点
  15. php 屏蔽 strict standards,PHP Strict Standards:问题解决
  16. 注册表与盘符(转victor888文章 )
  17. 从CRUD到自身架构师的蜕变之路?全靠这份:Java中高级核心知识全面解析
  18. linux进程线程同步之 - POSIX线程互斥锁
  19. php网页可视化调试工具,php-xdebug调试工具
  20. 有一个属于自己的网站是不是很酷呢,超详细的建站流程,我都给你总结好了

热门文章

  1. 黑马程序员Flutter入门教程之Windows系统Android开发环境配置
  2. 大数据开发基础入门与项目实战(一)Java SE之1.初识计算机和Java语言
  3. Nature综述:Rob Knight等大佬手把手教你开展菌群研究
  4. 论文查重|降重小技巧分享!
  5. 刷题记录——摩尔斯电码解码(被坑惨了)
  6. leaflet接入百度午夜蓝地图、深色地图(leaflet篇.27)
  7. 201612-2 工资计算
  8. 巧解高并发之福利抽奖
  9. 2020年11月信息系统项目管理师真题(综合+案例)
  10. 全景丨VR全景制作全流程系列教程,第五节光圈