文章目录
本人在进行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中。