精华内容
下载资源
问答
  • 在看《orange‘s,操作系统的实现》这本书的时候,第七章同时出现了ttyconsole这两个名词。我查了一些网页,但都解释不清,结合自己的思考,给出了一些理解。... console,它的作用是用来显示结果的,通常...

               在看《orange‘s,操作系统的实现》这本书的时候,第七章同时出现了tty和console这两个名词。我查了一些网页,但都解释不清,结合自己的思考,给出了一些理解。

                tty,包括鼠标、键盘、触摸屏等,它们都是字符设备,通常用来输入

                console,它的作用是用来显示结果的,通常console是显示屏,它只能输出,不能输入。

               terminal的作用是与用户交互的,因此可以接收tty设备的输入。包括一套可以显示出来的图形界面来接收输入,再外加对这些输入的基本处理。

                windows开机后的界面就是我们面临的一个terminal,这个界面提供了一套对鼠标单击、双击、、拖动、敲击键盘等的支持,并且支持双击打开各种应用程序,并将结果通过屏幕显示给我们看到。

               在linux中,terminal比较直观的例子,是命令窗口。而console的直观例子就是显示屏。我们在命令窗口中敲命令,就会在屏幕上得到显示。比如ls以下,能看到文件夹中的内容,这是显示在屏幕上的。

              我们可以简化理解为:通常情况下,terminal接收tty的输入,并且进行处理,结果通过console来显示

              需要说得是:这三个词都可以翻译为终端,因此linux下很难区分这三个概念,特别混乱。

     原文发布时间为:2012-11-26

    本文来自云栖社区合作伙伴“Linux中国”
    展开全文
  • linux中的tty,控制台,虚拟终端,串口,console(控制台终端)详解和区别 首先: 1。终端和控制台都不是个人电脑的概念,而是多人共用的小型中型大型计算机上的概念. 一台主机,连很多终端,终端为主机提供了人机接口,...

    linux中的tty,控制台,虚拟终端,串口,console(控制台终端)详解和区别

    首先:

    1。终端和控制台都不是个人电脑的概念,而是多人共用的小型中型大型计算机上的概念.
    一台主机,连很多终端,终端为主机提供了人机接口,每个人都通过终端使用主机的资源. 终端有字符哑终端和图形终端两种.
    控制台是另一种人机接口, 不通过终端与主机相连, 而是通过显示卡-显示器和键盘接口分别与主机相连, 这是人控制主机的第一人机接口.
    话回到个人计算机上,个人计算机只有控制台,没有终端. 当然愿意的话, 可以在串口上连一两台字符哑终端. 但是Linux偏要按POSIX标准把个人计算机当成小型机来用,
    那么就在控制台上通过getty软件虚拟了六个字符哑终端(或者叫控制台终端tty1-tty6)(数量可以在/etc/inittab里自己调)和一个图型终端, 在虚拟图形终端中又可以通过软件(如rxvt)再虚拟无限多个虚拟字符哑终端(pts/0....). 记住,这全是虚拟的,用起来一样,但实际上并不是.
    所以在个人计算机上,只有一个实际的控制台,没有终端,所有终端都是在控制台上用软件模拟的.
    要把个人计算机当主机再通过串口或网卡外连真正的物理终端也可以,但由于真正的物理终端并不比个人计算机本身便宜,一般没有人这么做.

     

    2.如同其他UNIX类系统,Linux本身也是基于命令行的。试试“Ctrl”+“Alt”+“Fx”。这就是控制台,算是Linux的本来面目。至于使用方法,除了多出登录注销外,其它操作和我们在linux图形界面(X—window)下的终端操作是一样的,在X-Window出问题或不运行X-Window的时候,操作主要在这里完成。
      Linux在控制台下提供了不止一个(字符哑)终端,支持多用户同时登录,包括在本机同时登录。控制台“Alt”+“Fx”能够切换到第x个(字符哑)终端。如果需要从X-Window里跳到第(字符哑)终端,需要“Ctrl”+“Alt”+“Fx”。一般情况下如果要从控制台返回Xwindow可用““Alt”+7”来返回到Xwind的图形界面。(Linux发行版提供7个虚拟屏幕,1~6号是控制台终端((字符哑)终端),第7个上面跑X-Window。)

     

    3.控制终端(/dev/tty) 这是个在应用程序中的一个概念,前台进程有个控制终端,就对应这个。不过它并不指任何物理意义上的终端,其实/dev/tty会映射到当前的设备(通过tty命令可以看到),比如你如果在控制台界面下(即字符界面下)那么dev/tty就是映射到dev/tty1-6之间的一个(取决于你当前的控制台号),但是如果你现在是在图形界面(Xwindows),那么你会发现现在的/dev/tty映射到的是/dev/pts的伪终端上。比如你可以输入命令 #tty 那么将显示当前映射终端如:/dev/tty1或者/dev/pts/0等。

     

    4。伪终端(/dev/pty/)这个是终端的发展,为满足现在需求(比如网络登陆、xwindow窗口的管理)。

    伪终端(Pseudo Terminal)是成对的逻辑终端设备,例如/dev/ptyp3和/dev/ttyp3(或着在设备文件系统中分 
    别是/dev/pty/m3和/dev/pty/s3)。它们与实际物理设备并不直接相关。如果一个程序把ttyp3看作是一个串 
    行端口设备,则它对该端口的读/写操作会反映在该逻辑终端设备对的另一个上面(ttyp3)。而ttyp3则是 
    另一个程序用于读写操作的逻辑设备。这样,两个程序就可以通过这种逻辑设备进行互相交流,而其中 
    一个使用ttyp3的程序则认为自己正在与一个串行端口进行通信。这很象是逻辑设备对之间的管道操作。 
    对于ttyp3(s3),任何设计成使用一个串行端口设备的程序都可以使用该逻辑设备。但对于使用ptyp3的 
    程序,则需要专门设计来使用ptyp3(m3)逻辑设备。 
    例如,如果某人在网上使用telnet程序连接到你的计算机上,则telnet程序就可能会开始连接到设 
    备ptyp2(m2)上(一个伪终端端口上)。此时一个getty程序就应该运行在对应的ttyp2(s2)端口上。当telnet从 
    远端获取了一个字符时,该字符就会通过m2、s2传递给getty程序,而getty程序就会通过s2、m2和telnet程序 
    往网络上返回”login:”字符串信息。这样,登录程序与telnet程序就通过“伪终端”进行通信。通过使用适当的 
    软件,就可以把两个甚至多个伪终端设备连接到同一个物理串行端口上。 
    在使用设备文件系统(device filesystem)之前,为了得到大量的伪终端设备特殊文件,HP-UX AIX等使用了 
    比较复杂的文件名命名方式。

     

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

     

    console是一个缓冲的概念,其实是为内核提供打印的。我们的pc,终端常用的是显示器和键盘构成,我们用户打印和内核打印都从这个终端反映给用户。所以,这里,/dev/console是连接到/dev/tty0的,其实这里有2个概念,console和tty这2个咚咚,怎么实现,其实console这个结构中有个device,这里其实就是tty0对应的一个虚拟终端设备。 如果,我们来个专门打印内核的设备(比如通过串口),我们把那个串口register_console,那么/dev/console就到这个串口设备了。这时,内核打印就到这个串口设备了,而用户的打印还是和上面的/dev/tty相关,如果/dev/tty对应/dev/tty0,那么用户打印还在窗口中出现。所以说/dev/console是用来外接控制台的。

     

     

    6.串行端口终端(/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)端口的设备上。可接串口来实验。

    即是相对与dos下的com1和com2等....

     总结一下:感觉概念还是比较模糊的,因为可能是时间命名的缘故吧,有很多概念都很模糊吧!

    首先:两种模式:字符模式:对应的为控制台,设备文件为/dev/tty1-6(是一个控制台终端的设备文件),而/dev/tty0则是当前终端设备文件的别名(我觉得可以说是链接吧,即tty0就是指当前的设备文件)。图形模式(Xwindow): 对应的应该是tty7,但是在Xwindow下终端(即输入命令的窗口)对应的设备文件为/dev/pts/0-(是一个伪终端设备文件)

     

    关于dev/tty其实很简单:就是当前终端设备的一个链接(有点像/dev/tty0吧,但是他好像更强大一点),我们可以做下这个实验:

    在Xwindow下打开多个终端(输入命令的窗口):#tty命令,发现在各个窗口分别显示为# dev/pts/0  #dev/pts/1  #dev/pts/2....

    然后在#dev/pts/0终端中输入echo"test">/dev/pts/0 结果显示test。然后你在#dev/pts/0终端中输入echo"test">/dev/tty, 你会发现在当前窗口也显示test字符串。也就是说dev/tty其实就是当前设备文件的一个链接。

     

    关于/dev/console  应该来说更像一个缓冲结果吧,来实现对内核的打印,比如说内核把要打印的内容装入缓冲区,然后由console来决定打印到哪里吧(比如是tty0还是串口等等吧)。所以说/dev/console是用来外接控制台的。

    展开全文
  • linux下 console ,ttytty0区别!

    千次阅读 2015-01-05 20:11:34
    /dev/tty指的是当前所处的终端,输出到此的内容只会显示在当前工作的终端显示器上;可以使用命令”ps –ax”来查看进程哪个控制终端相连.对于你登录的shell,/dev/tty就是你使用的终端,设备号是(5,0). 使用命令”...
    1 当前控制终端(/dev/tty)
    /dev/tty指的是当前所处的终端,输出到此的内容只会显示在当前工作的终端显示器上;可以使用命令”ps –ax”来查看进程与哪个控制终端相连.对于你登录的shell,/dev/tty就是你使用的终端,设备号是(5,0).
    使用命令”tty”可以查看自己具体对应哪个实际终端设备./dev/tty有些类似于到实际所使用终端设备的一个联接
    
    2./dev/pts
    /dev/pts是远程登陆(telnet,ssh等)后创建的控制台设备文件所在的目录。由于可能有好几千个用户登陆,所以/dev/pts其实是动态生成的,不象其他设备文件是构建系统时就已经产生的硬盘节点.
    
    3.控制台终端-系统控制台(/dev/console 和 /dev/tty*)
    在Linux系统中,计算机显示器通常被称为控制台终端(Console).它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2等.当你在控制台上登录时,使用的是tty1.使用Alt+[F1—F6]组合键时,我们就可以切换到tty2、tty3等上面去.tty1–tty6等称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名,系统所产生的信息会发送到该终端上.因此不管当前正在使用哪个虚拟终端,系统信息都会发送到控制台终端上.
    你可以登录到不同的虚拟终端上去,因而可以让系统同时有几个不同的会话期存在.只有系统或超级用户root可以向/dev/tty0进行写操作.
    stty是linux下改变和打印终端设置的常用命令。当然,我们可以利用它设置我们的串口打印操作信息。
    举例:stty -F /dev/ttyS0 speed 115200 cs8 -parenb -cstopb  -echo
    解释:通过stty设置/dev/ttyS0串口, 波特率为115200 ,数据位cs8,奇偶校验位-parenb,停止位-cstopb,同时-echo禁止终端回显。在通过WEB的php控制串口实现过程中(针对本人的网络设备,没有测试过其它设备),测试过中中发现,每次发送的命令都有回显,包括命令回显以及终端打印的一些信息都作为重新的输入,因此在WEB中会打印很多信息,很多是错误的,通过测试设置-echo命令,可以禁止回显不必要的信息到WEB这端控制的串口,导致信息又传到网络隔离装置串口上。
    具体stty用法,可以man stty。呵呵
    展开全文
  • /dev/tty, /dev/console, /dev/pts, /dev/ttyn

    千次阅读 2012-11-24 00:07:06
    1./dev/tty, /dev/console, /dev/pts, /dev/ttyn分别代表什么意思.../dev/console 指向当前的虚拟终端,/dev/tty0等效。 /dev/ptsn 伪终端(pseudo-tty)。n取值动态增长。ssh远程登录或X11环境下即是此情况。 /dev/
    1./dev/tty, /dev/console, /dev/pts, /dev/ttyn分别代表什么意思?
    /dev/ttyn 虚拟终端(virtual consols),全屏显示。通常情况 1<=n<=63。
    /dev/console 指向当前的虚拟终端,与/dev/tty0等效。
    /dev/ptsn 伪终端(pseudo-tty)。n取值动态增长。ssh远程登录或X11环境下即是此情况。
    /dev/tty 指向当前终端。

    2.为什么会有如此多的/dev/ttyn,比如/dev/tty1,/dev/tty2……等等?
    初期在linux字符界面下,为了实现同时处理多任务,自然的需要多个窗口的切换。当然,有了X11,一切都不是问题了。
    展开全文
  • linux下tty,控制台,虚拟终端,串口,console(控制台终端)详解 linux 菜鸟 首先: 1。终端和控制台都不是个人电脑的概念,而是多人共用的小型中型大型计算机上的概念. 一台主机,连很多终端,终端为主机...
  • tty子系统研究

    2021-02-01 11:48:30
    console是控制台,只有一个,tty为终端,可以有好多个,其中系统会指定一个tty作为控制台,控制台可以显示所有系统打印的信息。一般我们调试过程中使用的就是串口作为控制台。这些是在我们在使用的层面进行分析的。 ...
  • 首先: ...控制台是另一种人机接口, 不通过终端主机相连, 而是通过显示卡-显示器和键盘接口分别主机相连, 这是人控制主机的第一人机接口. 话回到个人计算机上,个人计算机只有控制台,没有终端.
  • 首先: ...控制台是另一种人机接口, 不通过终端主机相连, 而是通过显示卡-显示器和键盘接口分别主机相连, 这是人控制主机的第一人机接口. 话回到个人计算机上,个人计算机只有控制台,没有终...
  • 控制台是另一种人机接口, 不通过终端主机相连, 而是通过显示卡-显示器和键盘接口分别主机相连, 这是人控制主机的第一人机接口.个人计算机只有控制台,没有终端,但可以在串口上连一两台字符哑终端. 但是li...
  • 控制台是另一种人机接口,,不通过终端主机相连,,而是通过显示卡-显示器和键盘接口分别主机相连,这是人控制主机的第一人机接口。回到个人计算机上,个人计算机只有控制台,没有终端.当然愿意的话,,可以在...
  • 控制台是另一种人机接口, 不通过终端主机相连, 而是通过显示卡-显示器和键盘接口分别主机相连, 这是人控制主机的第一人机接口.话回到个人计算机上,个人计算机只有控制台,没有终端. 当然愿意的话, 可以在...
  • 关于linux tty命令学习

    2013-09-23 18:07:34
    tty命令用来打印标准输入连接的终端名称, 如果显示的是/dev/console,那么此终端为控制台终端; 如果显示的是/dev/pts/n,那么此终端为虚拟终端(远程连接到linux server的终端)。 通过查看tty命令执行的返回码...
  • 首先: 1。终端和控制台都不是个人电脑的概念,而是多人共用的小型中型大型计算机上的概念.一台主机,连很多终端,终端为主机提供了人机接口,...控制台是另一种人机接口, 不通过终端主机相连, 而是通过显示卡-显示...
  • 终端和控制台都不是个人电脑的概念,而是多人共用的小型中型大型计算机上的概念.一台主机,连很多终端,终端为主机提供了人机接口,每个...控制台是另一种人机接口, 不通过终端主机相连, 而是通过显示卡-显示器和键盘...

空空如也

空空如也

1 2 3
收藏数 54
精华内容 21
关键字:

tty与console显示