linux 驱动命令 mknod,linux中的mknod命令的详细解释
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命令的详细解释相关推荐
- linux mkfs 源码,Linux系统下移植busybox中mkfs.vfat命令
为了延长磁盘寿命来存储音视频文件,打发在格式化磁盘过程中将簇的大小设置大点.因为存储的音视频文件现对较大,那么将簇大小设置得尽可能大,这样可以增强磁盘读取数据的性能,同时也不会浪费太多空间. 但发现我 ...
- linux驱动程序设计21 Linux设备驱动的调试
本章导读 "工欲善其事,必先利其器",为了方便进行Linux设备驱动的开发和调试,建立良好的开发环境很重 要,还要使用必要的工具软件以及掌握常用的调试技巧等. 21.1节讲解了Li ...
- Linux驱动 简单的Linux驱动基础知识
Linux驱动 简单的Linux驱动基础知识 一.简述 记--Linux驱动学习笔记. Linux驱动程序初始化硬件设备,并提供硬件控制接口给更上一层的应用调用. 例如使用QT应用程序 ...
- 昊鼎王五:Windows运行中的所有命令_Windows快捷命令_运行中的所有命令
昊鼎王五:Windows运行中的所有命令_Windows快捷命令_"运行"中的所有命令 winver 检查Windows版本 wmimgmt.msc 打开Windows管理体系结构 ...
- 在windows的命令窗口cmd中 添加curl命令
在windows的命令窗口cmd中 添加curl命令 第一步:下载curl.exe 下载地址 http://download.csdn.net/detail/taoshujian/9766612 第二 ...
- Spring中IOC和AOP的详细解释(转)
原文链接:Spring中IOC和AOP的详细解释 我们是在使用Spring框架的过程中,其实就是为了使用IOC,依赖注入,和AOP,面向切面编程,这两个是Spring的灵魂. 主要用到的设计模式有工厂 ...
- unix和linux命令_Linux / UNIX中的cp命令
unix和linux命令 In this guide, we focus on cp command in Linux/Unix systems. cp command – short for cop ...
- linux 修改proc目录,Linux_Linux中系统参数修改命令sysctl的使用讲解,sysctl配置与显示在/proc/sys目录 - phpStudy...
Linux中系统参数修改命令sysctl的使用讲解 sysctl配置与显示在/proc/sys目录中的内核参数.可以用sysctl来设置或重新设置联网功能,如IP转发.IP碎片去除以及源路由检查等.用 ...
- linux脚本添加source,shell中的source命令的巧妙用法
首先,通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录.例如,当我们修改了/etc/profile文件,并想让它立刻生效,而不用重新登录,就可以使用source命令,如sourc ...
- linux驱动画点函数,linux中使用gnuplot使您的数据可视化
linux中使用gnuplot使您的数据可视化 基础 通过在 shell 命令提示符中输入 gnuplot 启动 gnuplot.您首先看到提示符号 >.该提示符是进入 gnuplot 的输入点 ...
最新文章
- Hello world!
- Junit实现接口类测试
- 微信和QQ消息撤回可见app(仅限安卓手机系统的童鞋哟,本人亲测有效)
- 一行代码取出HTML页面某个按钮的css属性,比如margin
- java 类说明,java基础类型说明
- Docker最全教程——从理论到实战(九)
- Windows XP下Service的编程入门[2]
- 数据结构与算法——二分查找与二叉查找树汇总整理
- sql date时间加减几天几小时
- Win10怎么备份系统
- 网上开零食店3个月销100万的传奇创业
- 实例 -- Loadrunner实现Android / IOS 手机APP压力测试
- 真鱼游来游去动态壁纸_真鱼动态壁纸
- Java利用poi-tl实现富文本HTML转Word
- 函数图像计算器java版下载_Mathlab图形计算器(Graphing Calculator Mathlab)无广告版下载-Mathlab图形计算器专业版下载v4.14.159-西西软件下载...
- windows聚焦壁纸不更新_如何解决Win10聚焦锁屏壁纸不自动更新的问题
- 为什么变形兄弟只有四人拿到bilibili百大UP主?【B站数据分析】
- puppet自动化部署
- mod函数在vb中怎么用?
- 2019领克车展 Max Co币机诞生记