linxu下的mknod命令主要是用于创建Linux中的字符设备文件和块设备文件。下面由学习啦小编为大家整理了linux的mknod命令的详细解释的相关知识,希望对大家有帮助!

一、linux中的mknod命令的详细解释

mknod命令用于创建Linux中的字符设备文件和块设备文件。

语法

mknod(选项)(参数)

选项

-Z:设置安全的上下文;

-m:设置权限模式;

-help:显示帮助信息;

--version:显示版本信息。

参数

文件名:要创建的设备文件名;

类型:指定要创建的设备文件的类型;

主设备号:指定设备文件的主设备号;

次设备号:指定设备文件的次设备号。

二、Linux中的mknod命令用法详解

mknod 的标准形式为: mknod DEVNAME {b | c} MAJOR MINOR

1,DEVNAME是要创建的设备文件名,如果想将设备文件放在一个特定的文件夹下,就需要先用mkdir在dev目录下新建一个目录;

2, b和c 分别表示块设备和字符设备:

b表示系统从块设备中读取数据的时候,直接从内存的buffer中读取数据,而不经过磁盘;

c表示字符设备文件与设备传送数据的时候是以字符的形式传送,一次传送一个字符,比如打印机、终端都是以字符的形式传送数据;

3,MAJOR和MINOR分别表示主设备号和次设备号:

为了管理设备,系统为每个设备分配一个编号,一个设备号由主设备号和次设备号组成。主设备号标示某一种类的设备,次设备号用来区分同一类型的设备。linux操作系统中为设备文件编号分配了32位无符号整数,其中前12位是主设备号,后20位为次设备号,所以在向系统申请设备文件时主设备号不好超过4095,次设备号不好超过2^20 -1。

.

下面,我们就可以用mknod命令来申请设备文件了。

mkdir -p /dev/cobing

mknod /dev/cobing/mydev1 c 128 512

三、Linux中的mknod命令知识扩展

Linux的设备管理是和文件系统紧密结合的,各种设备都以文件的形式存放在/dev目录 下,称为设备文件。应用程序可以打开、关闭和读写这些设备文件,完成对设备的操作,就像操作普通的数据文件一样。

为了管理这些设备,系统为设备编了号,每 个设备号又分为主设备号和次设备号。主设备号用来区分不同种类的设备,而次设备号用来区分同一类型的多个设备。对于常用设备,Linux有约定俗成的编 号,如硬盘的主设备号是3。

Linux为所有的设备文件都提供了统一的操作函数接口,方法是使用数据结构struct file_operations。这个数据结构中包括许多操作函数的指针,如open()、close()、read()和write()等,但由于外设 的种类较多,操作方式各不相同。Struct file_operations结构体中的成员为一系列的接口函数,如用于读/写的read/write函数和用于控制的ioctl等。

打开一个文件就是调用这个文件file_operations中的open操作。不同类型的文件有不同的file_operations成员函数,如普通的磁盘数据文件, 接口函数完成磁盘数据块读写操作;而对于各种设备文件,则最终调用各自驱动程序中的I/O函数进行具体设备的操作。这样,应用程序根本不必考虑操作的是设 备还是普通文件,可一律当作文件处理,具有非常清晰统一的I/O接口。所以file_operations是文件层次的I/O接口。

linux 驱动命令 mknod,linux中的mknod命令的详细解释相关推荐

  1. linux mkfs 源码,Linux系统下移植busybox中mkfs.vfat命令

    为了延长磁盘寿命来存储音视频文件,打发在格式化磁盘过程中将簇的大小设置大点.因为存储的音视频文件现对较大,那么将簇大小设置得尽可能大,这样可以增强磁盘读取数据的性能,同时也不会浪费太多空间. 但发现我 ...

  2. linux驱动程序设计21 Linux设备驱动的调试

    本章导读 "工欲善其事,必先利其器",为了方便进行Linux设备驱动的开发和调试,建立良好的开发环境很重 要,还要使用必要的工具软件以及掌握常用的调试技巧等. 21.1节讲解了Li ...

  3. Linux驱动 简单的Linux驱动基础知识

    Linux驱动 简单的Linux驱动基础知识 一.简述         记--Linux驱动学习笔记. Linux驱动程序初始化硬件设备,并提供硬件控制接口给更上一层的应用调用. 例如使用QT应用程序 ...

  4. 昊鼎王五:Windows运行中的所有命令_Windows快捷命令_运行中的所有命令

    昊鼎王五:Windows运行中的所有命令_Windows快捷命令_"运行"中的所有命令 winver 检查Windows版本 wmimgmt.msc 打开Windows管理体系结构 ...

  5. 在windows的命令窗口cmd中 添加curl命令

    在windows的命令窗口cmd中 添加curl命令 第一步:下载curl.exe 下载地址 http://download.csdn.net/detail/taoshujian/9766612 第二 ...

  6. Spring中IOC和AOP的详细解释(转)

    原文链接:Spring中IOC和AOP的详细解释 我们是在使用Spring框架的过程中,其实就是为了使用IOC,依赖注入,和AOP,面向切面编程,这两个是Spring的灵魂. 主要用到的设计模式有工厂 ...

  7. unix和linux命令_Linux / UNIX中的cp命令

    unix和linux命令 In this guide, we focus on cp command in Linux/Unix systems. cp command – short for cop ...

  8. linux 修改proc目录,Linux_Linux中系统参数修改命令sysctl的使用讲解,sysctl配置与显示在/proc/sys目录 - phpStudy...

    Linux中系统参数修改命令sysctl的使用讲解 sysctl配置与显示在/proc/sys目录中的内核参数.可以用sysctl来设置或重新设置联网功能,如IP转发.IP碎片去除以及源路由检查等.用 ...

  9. linux脚本添加source,shell中的source命令的巧妙用法

    首先,通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录.例如,当我们修改了/etc/profile文件,并想让它立刻生效,而不用重新登录,就可以使用source命令,如sourc ...

  10. linux驱动画点函数,​linux中使用gnuplot使您的数据可视化

    linux中使用gnuplot使您的数据可视化 基础 通过在 shell 命令提示符中输入 gnuplot 启动 gnuplot.您首先看到提示符号 >.该提示符是进入 gnuplot 的输入点 ...

最新文章

  1. Hello world!
  2. Junit实现接口类测试
  3. 微信和QQ消息撤回可见app(仅限安卓手机系统的童鞋哟,本人亲测有效)
  4. 一行代码取出HTML页面某个按钮的css属性,比如margin
  5. java 类说明,java基础类型说明
  6. Docker最全教程——从理论到实战(九)
  7. Windows XP下Service的编程入门[2]
  8. 数据结构与算法——二分查找与二叉查找树汇总整理
  9. sql date时间加减几天几小时
  10. Win10怎么备份系统
  11. 网上开零食店3个月销100万的传奇创业
  12. 实例 -- Loadrunner实现Android / IOS 手机APP压力测试
  13. 真鱼游来游去动态壁纸_真鱼动态壁纸
  14. Java利用poi-tl实现富文本HTML转Word
  15. 函数图像计算器java版下载_Mathlab图形计算器(Graphing Calculator Mathlab)无广告版下载-Mathlab图形计算器专业版下载v4.14.159-西西软件下载...
  16. windows聚焦壁纸不更新_如何解决Win10聚焦锁屏壁纸不自动更新的问题
  17. 为什么变形兄弟只有四人拿到bilibili百大UP主?【B站数据分析】
  18. puppet自动化部署
  19. mod函数在vb中怎么用?
  20. 2019领克车展 Max Co币机诞生记

热门文章

  1. SQL Server(三)-查询数据(2)
  2. java数据脱敏处理,手机号,身份证号和银行卡号打码展示
  3. CSDN【精品专栏】第26期
  4. 7-3 将x的平方赋值给y
  5. matlab 2fsk系统仿真,基于MATLAB的2FSK数字通信系统仿真
  6. java questionbank_一个小小的单机英语测试程序(Java)
  7. 部分ADSL路由器默认帐号密码
  8. 突破算法,横扫金融界、IT圈
  9. Euklid.v2004
  10. inspect python_python的inspect模块