技术专栏
mknod 函数
mknod 函数用于创建各种类型的文件,包括普通文件、特殊文件以及设备文件。
因为普通文件可以使用 open 或 create 创建,FIFO 文件可以使用 pipe 函数创建,所以 mknod 函数主要用于设备文件的创建。
设备文件与普通文件的区别
设备文件是文件系统中代表设备的特殊文件。与普通的文件相比,设备文件在磁盘(或宿主文件系统所的在其它设备)上只占用一个索引节点,而没有任何用于存放数据的记录块与之相联系。当然,这是因为设备文件的目的并不在于存储和读取数据,而只在于为应用程序提供一条通向具体设备的途径,使应用程序可以跟具体设备建立起连接。
普通文件(以及某些特殊文件)可以通过系统调用 open 来创建,只要在调用参数中或上 O_CREAT 标志,就可以让open函数在目标文件不存在时先创建这个文件。当然也可通过调用 creat() 来直接创建文件,事实上 sys_creat() 就是通过 sys_open() 实现的。可是这两个系统调用都不能用来创建设备文件,因为设备文件的创建需要有一个参数来传递设备号,而 open 和 creat 函数都不包括这个参数。此时就是 mknod 函数存在的意义了。
头文件
#include sys/stat.h
path
设备所在目录
mode
指定设备的类型和读写访问标志,可能的类型有:
参数类型 含义
S_IFMT type of file 文件类型掩码
S_IFREG regular 普通文件
S_IFBLK block special 块设备文件
S_IFDIR directory 目录文件
S_IFCHR character special 字符设备文件
S_IFIFO fifo 管道文件
S_IFNAM special named file 特殊文件
S_IFLNK symbolic link 链接文件
dev
dev 表示设备,由makedev(1, 9) 函数创建,9为主设备号、1为次设备号,如果是普通文件此项直接设置为 0 即可。
声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包
3
收藏
评论
打赏
- 分享
- 举报
评论
0个
手气红包
暂无数据
相关专栏
-
2023-07-05 10:11:14
-
浏览量:3646次2020-09-07 13:50:25
-
浏览量:7249次2020-12-06 16:44:26
-
浏览量:2704次2020-10-28 16:15:45
-
浏览量:932次2023-05-06 13:40:15
-
浏览量:12730次2020-12-01 19:16:14
-
浏览量:762次2023-10-13 17:19:32
-
浏览量:6303次2020-12-20 20:54:26
-
浏览量:1956次2020-06-24 15:44:51
-
浏览量:1146次2023-09-08 15:20:45
-
浏览量:8992次2021-06-21 11:49:58
-
浏览量:11098次2021-07-23 15:56:25
-
浏览量:5261次2021-03-16 23:20:06
-
浏览量:2380次2020-08-03 20:16:34
-
浏览量:30017次2021-01-05 15:11:35
-
浏览量:2175次2022-07-08 09:47:17
-
浏览量:1707次2020-08-07 17:02:17
-
浏览量:1568次2023-01-21 10:13:45
-
2021-02-20 13:45:09
置顶时间设置
结束时间
删除原因
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
打赏作者
big_anana
您的支持将鼓励我继续创作!
打赏金额:
¥1
¥5
¥10
¥50
¥100
支付方式:
微信支付
打赏成功!
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
审核成功
发布时间设置
发布时间:
请选择发布时间设置
是否关联周任务-专栏模块
审核失败
失败原因
请选择失败原因
备注
请输入备注