ttp://blog.sina.com.cn/s/blog_6151984a0100ejfg.html
运用的指令:
tty 检查运用哪个终端
who 检查登入的用户
w
echo “abc” >> /dev/pts/*
echo “123” >> /dev/ttyAMA0 不同终端之间信息的传递
当你运转一个程序的时分,此进程一定会对应一个终端,printf打印信息会在终端呈现,而当程序进入内核态时(如调用驱动),printk打印信息会在内核终端呈现(hisilicon机顶盒console=ttyAMA0=串口0)
在PC上console=tty0=tty1~6,/dev/tty=`tty`=本操控台
在嵌入式机上console=ttyS0=串口
echo “haha” > /dev/console 输出到体系操控台(console=ttyS0,表明体系操控台是串口)
echo “haha” > /dev/tty
echo “haha” > `tty`
console包括: tty和framebuffer
tty包括:ttys*、tty*和/dev/pts/*等(字符型)
framebuffer包括:LCD、VGA等等设备
============================================================================
1,串行端口终端
设备名称是/dev/ttySn(这儿的n是数字0,1,2,3…..)
2,伪终端(PTY)
伪终端是指长途登录构成的终端,其操控台操控文件在目录/dev/pts下
命名从0,1,2,3,4……一向往后
你能够echo “OKOK” > /dev/pts/0看看作用
3,虚拟操控台(终端)
虚拟操控台是机器正常发动后主动发动的操控台
能够用Ctrl+Alt+F1到Ctrl+Alt+F6来切换(缺省只开6个虚拟操控台)
其设备操控文件别离为/dev/tty1、/dev/tty2、/dev/tty3、/dev/tty4、/dev/tty5和/dev/tty6
还有/dev/tty0是对应当时的虚拟操控台(终端)
4,/dev/tty
这个是指当时进程的操控终端
能够看做是到操控终端的链接
用tty指令能够看到当时这个shell的操控终端
5,/dev/console
这个是体系操控台
许多的体系信息会打到这儿
一般情况下
/dev/console是指向/dev/tty0
============================================================================
(1)/dev/console是体系操控终端,体系的错误信息什么的都输出到这儿。
(2)/dev/tty(n或许Sn)是进程操控台,假如在进程里翻开一个这样的文件且该文件不是其他进程的操控终端时,
那么该文件便是这个进程的操控终端。那么咱们进程printf一个数据便是输出到这儿.
但实践上机器只要一个屏幕,也便是咱们看到的这个屏幕,对应console。
能够理解为console指向激活的那个tty(详细来说不是,tty0才是激活的那个tty,精确地说是激活的那个tty
才将输出显现到console).
历史上,console指主机自身的屏幕键盘,而tty指用电缆链接的其它方位的操控台(仅包括屏幕和键盘)
#include
#include
int
{
}
终端是一种字符型设备,它有多品种型,一般运用tty来简称各品种型的终端设备。tty是 Teletype的缩写。
Teletype是最早呈现的一种终端设备,很象电传打字机(或许说便是),是由Teletype公司出产的。
设备名放在特别文件目录/dev/下,终端特别设备文件一般有以下几种:
1.串行端口终端(/dev/ttySn)
串行端口终端(Serial
核算机把每个串行端口都看作是一个字符设备。有段时刻这些串行端口设备一般被称为终端设备,
由于那时它的最大用处便是用来衔接终端。
这些串行端口所对应的设备名称是/dev/tts/0(或/dev /ttyS0)、/dev/tts/1(或/dev/ttyS1)等,
设备号别离是(4,0)、(4,1)等,别离对应于DOS体系下的COM1、 COM2等。
若要向一个端口发送数据,能够在指令行上把规范输出重定向到这些特别文件名上即可。
例如,在指令行提示符下键入:
echo
会把单词”test”发送到衔接在ttyS1(COM2)端口的设备上。
2.伪终端(/dev/pty/)
伪终端(Pseudo
别离是 /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程序就经过“伪终端”进行通讯。
经过运用恰当的软件,就能够把两个乃至多个伪终端设备衔接到同一个物理串行端口上。
3.操控终端(/dev/tty)
假如当时进程有操控终端(Controlling
能够运用指令”ps
设备号是(5,0)。
运用指令 ”tty”能够检查它详细对应哪个实践终端设备。/dev/tty有些类似于到实践所运用终端设备的一个联接。
4.操控台终端(/dev/ttyn,
在UNIX体系中,核算机显现器一般被称为操控台终端(Console)。它仿真了类型为Linux的一种终端
(TERM=Linux),并且有一些设备特别文件与之相关联:tty0、tty1、tty2等。
当你在操控台上登录时,运用的是tty1。运用Alt+[F1—F6]组合键时,咱们就能够切换到tty2、tty3等上面去。
tty1
因此不论当时正在运用哪个虚拟终端,体系信息都会发送到操控台终端上。
你能够登录到不同的虚拟终端上去,因此能够让体系一起有几个不同的会话期存在。
只要体系或超级用户root能够向/dev/tty0进行写操作,
5.其它类型
还针对许多不同的字符设备存在有许多其它品种的终端设备特别文件。
例如针对ISDN设备的/dev/ttyIn终端设备等。这儿不再赘述