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

文章介绍了Linux系统中的几个关键设备文件,如/dev/tty表示当前终端,/dev/console是系统控制台(通常是tty0),/dev/pts是用于远程登录(如telnet,ssh)时创建的动态设备文件。/dev/pts目录下的设备文件按登录顺序编号,例如第一个远程用户登录对应/dev/pts/0。此外,文章还提到了/dev/null作为丢弃输出的空设备。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

本人在进行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中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值