假设我想创建/dev/cosole
。使用mknod
命令执行以下操作
mknod -m 666 /dev/console c 5 1
字符串
如果我想在C代码中执行,我必须执行以下操作
#include <sys/stat.h>
static inline void (){
mknod("/dev/console", 0600, __dev_t __dev);
}
型
如何创建__dev
参数,文档说明
创建一个名为PATH的设备文件,带有权限和特殊位MODE和设备号DEV(可以使用上面的makedev'宏从主设备号和次设备号构造)。 我知道字符设备是
S_IFCHR类型。我知道
/dev/console有major
5和minor
1。如何按照文档的建议使用
makedev`宏生成__dev参数。如何说明它是块设备还是字符设备?
1条答案
按热度按时间dw1jzc5e1#
mknod()
的第三个参数是使用makedev()
宏创建的,它包含主设备号和次设备号。设备的类型-如果是字符或块设备(对于其他文件类型,忽略该参数),包含在第二个参数中,它是与文件类型按位或运算的权限位组合-字符设备为S_IFCHR
,块设备为S_IFBLK
(它也可以用来创建常规文件,FIFO和unix套接字,但更常见的是使用其他函数创建,如open()
,creat()
,mkfifo()
,bind()
等)。所以你会这样做字符串