区分/dev/tty、/dev/console、/dev/pts、/dev/ttyn

文章目录

本人在进行rootfs创建的时候,遇到了设备/dev/pts,因为rootfs最后需要能通过telnet来登录。故了解了以下/dev/目录下面的设备。

通常我们在linux下看到的控制台( console)是由几个设备完成的。分别是/ dev/ttyN(其中 tty0就是/ dev / console,tty1 ,tty2就是不同的虚拟终端(virtual console)).通常使用热键alt+Fn来在这些虚拟终端之间进行切换。所有的这些 tty设备都是由linux/drivers/char / console.c和vt.c对应。

/dev/pts是远程登陆(telnet ,ssh等)后创建的控制台设备文件所在的目录。由于可能有好几千个用户登陆 ,所以/dev/pts其实是动态生成的 ,不象其他设备文件是构建系统时就已经产生的硬盘节点(如果未使用devfs)

不知道是不是动态建立的?但是在制作文件系统的时候,需要自己手工建立/dev/pts设备目录。

mkdir -p /dev/pts
mkdir -p /dev/shm
/bin/mount -n -t devpts none /dev/pts -o mode=0622
/bin/mount -n -t tmpfs tmpfs /dev/shm

代码来自于mini2440的rootfs中。

第一个用户登陆 ,console的设备文件为/dev/pts/0 ,第二个为/dev/pts/1 ,以此类推。这里的0、1、2、3不是具体的标准输入或输出 ,而是整个控制台。你可尝试 echo "aaaaaa" > / dev/pts0、1、2……。

/dev/tty指的是当前所处的终端 ,输出到此的内容只会显示在当前工作的终端显示器上

/dev/console就是 tty0

/dev/pts是远程登陆(telnet ,ssh等)后创建的控制台设备文件所在的目录

/dev/null是个空设备,也称为“位桶bit bucket”。所有写向这个设备的输出都将被丢弃,而如果你读/dev/null,则会立即得到一个文件尾标志而返回。

在shell中,通常将不需要的东西重定向到/dev/null中。

猜你喜欢

转载自blog.csdn.net/mayue_web/article/details/129896989
Dev