创建字符设备文件

创建字符设备文件

如何创建字符设备文件?

我努力了cat > xxx^c

但我无法创建字符设备文件

答案1

mknod您可以使用linux提供的命令创建设备文件。

mknod <name> <type of device c:- character b:- block device etc> <major> <minor>

例子:

mknod test_device c 89 1

对于您的情况,您必须提供 c ,因为您正在创建字符设备文件。创建设备文件后,如果您想将来操作文件,还必须更改文件的权限。

答案2

mknod

mknod <name> c <major> <minor>

阅读“linux 设备驱动程序”(免费书籍)以了解有关字符设备的所有详细信息。

答案3

查找字符设备号/proc/devices

对于动态分配设备编号的字符设备(这是避免冲突的规范),找到带有 的编号cat /proc/devices,其中包含如下行:

195 nvidia-frontend

自动化:

insmod /device_name.ko
dev="device_name"
major="$(grep "$dev" /proc/devices | cut -d ' ' -f 1)"
mknod "/dev/$dev" c "$major" 0

下面是一个示例,其中还包含一个供您试用的模块:了解字符设备(或字符特殊)文件

答案4

当您有一个带有“在其中指定字符特殊文件”的 cpio 文件时,您将需要使用 root 来解压(sudo cpio -idmv),否则将不会创建字符特殊文件。

所以是的,创建字符特殊文件的另一种方法(通过从现有字符特殊文件复制):

A。创建列出要复制的文件的文件:

在此输入图像描述

b.创建 cpio 文件本身(必须以 root 身份运行):

在此输入图像描述

(请注意,“cpio -it”只是列出并验证)

C。从 cpio 文件中,在另一个目录中重新创建字符文件:

在此输入图像描述

(这里需要以root身份运行,我们可以看到“cpio”本身正在使用mknod命令来创建特殊文件)。

相关内容