相关文章推荐
爱搭讪的红金鱼  ·  Fonts Matplotlib ...·  9 月前    · 
买醉的伏特加  ·  Android Retrofit2 ...·  1 年前    · 
喝醉的骆驼  ·  Python 之 Matplotlib ...·  1 年前    · 

1.1 tty

其中,tty是当前进程的控制终端的设备特殊文件。可以通过如下方式验证:

ubuntu@VM-32-73-ubuntu:/dev$ echo hello >/dev/tty
hello

当我们将输出重定向到/dev/tty文件时,结果总会输出到当前终端上。

1.2 ttyn

tty0~tty63是虚拟终端的设备特殊文件。/dev/tty0代表当前虚拟控制台,而/dev/tty1等代表第一个虚拟控制台。使用Alt+[F1—F6]组合键时,我们就可以切换到tty2、tty3等上面去。(待深入补充)

1.3 ttySn

ttyS代表tty serial,/dev/ttyS*是串行终端设备。这些设备文件会映射到物理串行端口,如果我们执行下列命令:

echo 2 > /dev/ttyS2

那么在对应的物理端口,如COM2上可以检测到输出。

二、 pty(pseudo-tty)

pty全称pseudo-tty,即伪终端设备,用于远程连接。它由master和slave两端构成,在任何一端的输入都会传达到另一端。与tty不同,系统中并不存在pty这种文件,它是由pts(pseudo-terminal slave)和ptmx(pseudo-teiminal master)两种设备文件来实现的。

三、 pts(pseudo-terminal slave)

pts(pseudo-terminal slave)即伪终端的slave端。在Linux的/dev/pts/文件夹下有对应设设备文件。
我们可以通过tty命令查看当前用户的登录终端,如下图所示:

ubuntu@VM-32-73-ubuntu:/dev$ tty
/dev/pts/1

当我们设备文件/dev/pts/1进行输出时,屏幕上会显示相应输出:

ubuntu@VM-32-73-ubuntu:/dev$ echo hello >/dev/pts/1
hello

倘若访问别的slave文件,如/dev/pts/2,则会返回权限不足错误:

ubuntu@VM-32-73-ubuntu:/dev$ echo hello >/dev/pts/2
-bash: /dev/pts/2: Permission denied

四、 ptmx(pseudo-terminal master)

ptmx是伪终端的master端。在/dev下仅有2个ptmx文件,其信息如下:

ubuntu@VM-32-73-ubuntu:/dev$ ll /dev/ptmx
crw-rw-rw- 1 root tty 5, 2 Jan 16 16:38 /dev/ptmx
ubuntu@VM-32-73-ubuntu:/dev$ ll /dev/pts/ptmx
c--------- 1 root root 5, 2 Mar 17  2018 /dev/pts/ptmx

从中可以看出任何用户都可对/dev/ptmx进行读写,而任何用户对/dev/pts/ptmx都没有读写权限。(这两个文件更加具体的作用暂不清楚,留待后续深入)

一、 tty(teletypes)1.1 ttytty设备包括虚拟控制台,串口以及伪终端设备。tty的种类有很多:其中,tty是当前进程的控制终端的设备特殊文件。可以通过如下方式验证:ubuntu@VM-32-73-ubuntu:/dev$ echo hello >/dev/ttyhello当我们将输出重定向到/dev/tty文件时,结果总会输出到当前终端上。1.2 tt... =>cdev_init(&ptmx_cdev, &ptmx_fops); =>然后创建/dev/ptmx节点[luther.gliethttp]. 所以/dev/ptmx节点的open函数为ptmx_fops.ptmx_open() static int ptmx_open(struct inode * ino 基本概念: 1> tty(终端设备的统称): tty一词源于Teletypes,或teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘和显示器取代,所以现在叫终端比较合适。 终端是一种字符型设备,他有多种类型,通常使用
我们打开一个terminal,那么将会在devpts文件系统/dev/pts下创建一个对应的pts字符文件, 该pts字符文件节点直接由/dev/ptmx节点的驱动函数ptmx_open() 调用devpts_pty_new(tty->link) [tty对应ptmx,tty->link对应/dev/pts/xxx,那么tty->link->link又对应回ptmx 同样ptm_drive
1. tty(终端设备的统称): tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。 终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。 tty指的是七个alt+crtl+F1~F7。 tty1-tty6表示文字界面,可
ttyptyptsptmx tty(终端设备的统称):tty一词源于Teletypes,或teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘和显示器取代,所以现在叫终端比较合适。终端是一种字符型设备,他有多种类型,通常使用tty来简称各种类型的终端设备。 pty(虚拟终端): 但是假如我们远程telnet到主机或使用xterm时不也需要一个终端交互么?是的,这就是虚拟终端p
简介ptmx,pts pseudo terminal master and slavelinux支持的两种pty a. UNIX98 pseudoterminal,使用的是devpts文件系统,挂载在/dev /pts目录 b. 在UNIX98 pseudoterminal之前,master pseudoterminal名字为/dev/ptyp0,…,slave pseudoterminal名字
1> tty(终端设备的统称): tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。 终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。 2> pty(虚拟终端): 但是如果我们远程telnet到主...
虽然一直做嵌入式Linux,宿主机和开发板通信天天都在用tty设备通信,但是其实自己对TTY设备及终端的概念认识几乎是0。对于Linux内核的终端、tty、控制台等概念的认识很模糊。由于在学习的时候碰到了重定向console的问题,所以借机学习下tty的知识。以下是我对tty的认识总结,信息来源于网络和内核文档。参考资料见文章末尾。 tty一词源于Teletypes,或Teletypewrite
No 'Access-Control-Allow-Origin' header is present on the requested resource.'Ajax跨域访问解决方案 206282 Github遇到Permanently added the RSA host key for IP address '192.30.252.128' to the list of known host 76281 双向链表,查找操作复杂度是O(n),增删操作复杂度是O(1)。 相对来说单向链表的查找操作复杂度是O(n),增删操作复杂度也是O(n)。 而redis的ZipList是利用连续内存,记录节点长度来实现了双向链表,操作复杂度跟双向链表一致。 所以不能用基本操作来说复杂度,查询和增删应分开来说。
JavaI/O中使用readUTF()报java.io.EOFException暂时解决方案 sunsys: readUTF()报java.io.EOFException是因为它只支持 modified UTF-8 format 吧 localhost、Tomcat的localhost:8080拒绝访问解决方案(win10系统) 菜鸟学习ing……: 本机自带的