linux下tty,控制台,虚拟终端,串口,console(控制台终端)详解

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

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

     3、/dev/tty这是个在应用程序中的一个概念,前台进程有个控制终端,就对应这个。不过它并不指任何物理意义上的终端,其实/dev/tty会映射到当前的设备(通过tty命令可以看到),比如你如果在控制台界面下(即字符界面下)那么dev/tty就是映射到dev/tty1-6之间的取决于你当前的控制台号),但是如果你现在是在图形界面( Xwindows),那么你会发现现在的dev/tty映射到的是/d的伪终如你可以输入命令#t显示当前映射终端如:/dev/tyl或者/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的一和终端( Termelinux),并且有一些设备特殊文件与之相关联:ttyo、ttyl、tty2等。当你在控制台上登录时,使用的是tty1。使用At+F1F6]组合键时,我们就可以切换到tty2、tty3等上面去。ttyl-tty6等称为虚拟终端而tty0则是当前所使用虚拟终端的一个别名系统所产生的信息会发送到该终端上。因此不管当前正在使用哪个虛拟终端系统信息都会发送到控制台终端上。你可以登录到不同的虛拟终端上去,因而可以让系统同时有几个不同的会话期存在。只有系统或超级用户root可以向/dev/tty0进行写操作console是一个缓冲的概念,其实是为内核提供打印的。我们的pc,终端常用的是显示器和键盘构成,我们用户打印和内核打印都从这个终端反映给用户。所以,这里,/dev/ console是连接到/dev/ttyo的,其实这里有2个概念, console和tty这2个咚咚,怎么实现,其实 console这个结构中有个 device,这里其实就是ttyo对应的一个虛拟终端设备。如果,我们来个专门打印内核的设备(比如通过串口),我们把那个串口 register console,那么/dev/ console就到这个设备了。这时,内核打印就到这个串口设备了,而用户的打印还是和上面的/dev/tty相关,如果/dev/tty对应/dev/ttyo,那么用户打印还在窗口中出现。所以说/dev/ console是用来外接控制台的。

6.串行端口终端(dev/ ttysn)串行端口终端( Serial port terminal)是使用计算机串行端口连接的终端设备计算机把每端口都看作是一个字符设备。有段时串行端口设各通常被称为终端设备,因为那时它的最大用途就是用来连接终端串行端口所对应的设备名称是(或/d设备号分别是(4,0),(,1)等,分别欢统下的COM1、OOM2等。若要端口发送数据,可以在命令行上把标准输出重这些特殊文件名上即可。例在命令行提示符下键入会把单发送到连接OM2)端口的设备上。可接串口来实验。即是相对与dos下的com1和com2

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

       首先:两种模式应的为控制台,设备文件为/dev/tt是控制台终端的设备文件)ty0则是当前终端设备文件的别名(我觉得可以说是链接0就是指当前的设备文件)。图形模式(X应的应该是tty是在端(即输入命令的窗口)对应的设备文为是一个伪终端设备文件关于dev/tty其实很简单:就是当前终端设备的一个链接(有点像/dev/ttyo吧但是他好像更强大一点),我们可以做下这个实验在 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,你会发现在当前窗口也显示est字符串。也就是说 dev/ttv其实就是当前设备文件的一个链接关于/dev/ console应该来说更像一个缓冲结果吧,来实现对内核的打印,比如说内核把要打印的内容装入缓冲区,然后由c来决定打印到哪里吧(比如是ttyo还是串口等等吧)。所以说/dev/ console是用来外接控制台的。先写到这里吧!这是我参考资料得到的,如果有错了大家都都帮忙

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值