mknod指令详解

mknod指令详解mknod makeblockorc OPTION NAMETYPE MAJORMINOR nbsp nbsp option 有用的就是 m 了 nbsp nbsp name nbsp 自定义 nbsp nbsp type nbsp 有 b 和 c 还有 p nbsp nbsp 主设备号 nbsp nbsp 次设备号主设备号是由 linux major

假如有一个命令mknod doc b 62 0

其中的doc为定义的名字,b指块设备,0指的是整个DOC。如果把0换为1,1指的是DOC的第一个分区。2是第2个,对于块设备次设备号就表示该块设备上的分区号,依次类推。

至于mknod console c 5 1 的意思也很相似:
console是设备的名字
c指字符设备
5是该设备在major.h中定义的标记
1是第一个子设备



mknod console c 5 1
console
为设备文件名,自己随便取
c
是指字符型设备 (可选b,块设备)
5
是主设备号 /dev/devices里面记录现有的设备

找个没有用的就可以了
1
是次设备号,当你要给两个同样的设备上一个驱动的时候就要分了,从0开始,1就是第二个了 ,对于字符设备,次设备号就表示同类型设备的不同设备。

通常情况下,安装系统时已经创建了常用的设备文件,可以直接访问这些设备文件来访问 设备。但在用户重新定制内核,并添加了新硬件驱动程序之后,新驱动程序对应的设备文件就可能不存在。在FreeBSD中,最常见的例子就是在内核中增加声 卡的驱动程序时,就需要创建相应设备文件。

创建设备文件的基本方式是使用mknod,但是必须知道该设备的正确设备号才可以。 另一种简单的方式是使用/dev目录下的shell程序 MAKEDEV来完成,MAKEDEV实质上就是记录了很多设备的名字与其设备号之间的关系的程序,因此它能使用正确的设备号来创建设备。首先进入 /dev目录,然后再执行MAKEDEV

# cd /dev

# sh MAKEDEV snd0

MAKEDEV将使用设备名作参数创建设备文件,同时也创建这个设备文件依赖的其他 相关设备文件。MAKEDEV的参数,并不一定为创建的设备文件名。例如建立 “MAKEDEV vty8” 将建立ttyv0ttyv78个设备文件,使用 “MAKEDEV wd1s1a” 命令,将建立 wd1wd1s1wd1s2等,以及wd1s1awd1s1b等设备文件。也可以使用allMAKEDEV的参数,这将首先清除/dev目录下的 所有设备文件,然后MAKEDEV创建所有预设的设备文件。一般情况下这将创建足够多的设备文件,其中的大部分设备文件在具体的系统中不会用得到。

如果对一个系统中没有(或者即使有但内核没有支持或探测到)的设备对应的设备文件进行操作,则系统返回Device not configured的错误信息。

MAKEDEV将使用mknod和对应设备的正确参数,包括字符或块设备、主设备号 和从设备号来建立相应的设备文件。管理员也可以直接使用 mknod创建设备文件,但这就必须将这些设备参数统统指定正确才行。因此除非对系统中的硬件驱动程序特别熟悉,一般不直接使用mknod来创建设备文 件。
[root@can]# ll /dev/hd
hda   hda1  hda2  hda3  hda4  hda5  hdc
[root@can]# ll /dev/hda
brw-r—– 1 root disk 3, 0 2008-12-18 /dev/hda
[root@can]# ll /dev/hda4
brw-r—– 1 root disk 3, 4 2008-12-18 /dev/hda4
[root@can]#






用户还可以在命令行使用“mknod 管道名 p”来创建有名管道

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/211472.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午10:21
下一篇 2026年3月18日 下午10:21


相关推荐

  • Java内存管理-JVM内存模型以及JDK7和JDK8内存模型对比总结(三)

    勿在流沙住高台,出来混迟早要还的。做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!上一篇分享了JVM及其启动流程,今天介绍一下JVM内部的一些区域,以及具体的区域在运行过程中会发生哪些异内存常! 其实也就对应了内存管理的第一篇中 JVM的第三个阶段,程序运行内存溢出。知识地图:一、概述Java的内存管理采用[自动内存管理]机制,因为这个自动管理机制,Ja…

    2022年2月28日
    38
  • 企微怎么调用扣子智能体

    企微怎么调用扣子智能体

    2026年3月12日
    3
  • linux0.11_linux命令vim什么意思

    linux0.11_linux命令vim什么意思前言所有的UnixLike系统都会内建vi文书编辑器,其他的文书编辑器则不一定会存在。但是目前我们使用比较多的是vim编辑器。vim具有程序编辑的能力,可以主动的以字体颜色辨别语法的

    2022年7月31日
    9
  • 初识ABP vNext(8):ABP特征管理

    初识ABP vNext(8):ABP特征管理

    2020年11月20日
    233
  • PLSQL安装配置

    PLSQL安装配置安装配置 PLSQL1 官网下载 oracleclient 下载地址 https www oracle com database technologies instant client downloads html 这里以 11 2 xx 版本为示例 解压缩后 找到文件夹 instantclien 11 2 创建文件夹目录 NETWORK 及子目录 ADMIN 并且在目录 ADMIN 新建文件 tnsnames oratnsnames ora 内容示例 具体配置根据实际情况自定义 ORCL

    2026年3月18日
    2
  • 简单分析RLP编码原理

    简单分析RLP编码原理RLP 编码是以太坊数据序列化的主要方法 本文介绍 RLP 编码的主要规则和原理分析 RLP 编码具有较好的数据处理效率 尤其是将长度和类型统一作为前缀 实际上 RLP 是基于 ASCII 编码的一种结构化扩充 既能表示长度还能表示类型 是一种非常紧凑的结构化编码方案 RLP RecursiveLen 递归长度前缀 是一种编码算法 用于编码任意的嵌套结构的二进制数据 它是以太坊中数据

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号