注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

itoedr的it学苑

记录从IT文盲学到专家的历程

 
 
 

日志

 
 

linux mknod命令  

2013-07-30 16:28:41|  分类: linux行命令 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

********************************


mknod 用指定名称产生一个FIFO(命名管道),字符专用或块专用文件。


名字:mknod - 建立块专用或字符专用文件  

mknod 总览

mknod [options] name {bc} major minor
       mknod [options] name p  


GNU 选项(缩写):

[-m mode] [--help] [--version] [--]  


描述

mknod 用指定名称产生一个FIFO(命名管道),字符专用或块专用文件。

        文件系统中的一个专用文件存贮着三种信息(布朗型、整型、整型)。布朗型在字符文件与块文件之间作出选择,两个整型是主、次设备号。通常,一个专用文件并不在磁盘上占用空间,仅仅是为操作系统提供交流,而不是为数据存贮服务。一般地,专用文件会指向一个硬件设备(如:磁盘、磁带、打印机、虚拟控制台)或者操作系统提供的服务(如:/dev/null, /dev/random)。块文件通常类似于磁盘设备(在数据可以被访问的地方赋予一个块号,意味着同时设定了一个块缓存)。所有其他设备都是字符文件。(以前,两种文件类型间是有差别的。比如:字符文件I/O没有缓存,而块文件则有。)

mknod命令就是用来产生这种类型文件的。

********************************


Linux 的设备管理是和文件系统紧密结合的,各种设备都以文件的形式存放在/dev目录下,称为设备文件。

应用程序可以打开、关闭和读写这些设备文件,完成对设备 的操作,就像操作普通的数据文件一样。

为了管理这些设备,系统为设备编了号,每个设备号又分为主设备号和次设备号。

主设备号用来区分不同种类的设备,而次 设备号用来区分同一类型的多个设备。

对于常用设备,Linux有约定俗成的编号,如硬盘的主设备号是3。

     Linux为所有的设备 文件都提供了统一的操作函数接口,方法是使用数据结构structfile_operations。这个数据结构中包括许多操作函数的指针,如 open()、close()、read()和write()等,但由于外设的种类较多,操作方式各不相同。Structfile_operations 结构体中的成员为一系列的接口函数,如用于读/写的read/write函数和用于控制的ioctl等。打开一个文件就是调用这个文件 file_operations中的open操作。不同类型的文件有不同的file_operations成员函数,如普通的磁盘数据文件,接口函数完成 磁盘数据块读写操作;而对于各种设备文件,则最终调用各自驱动程序中的I/O函数进行具体设备的操作。这样,应用程序根本不必考虑操作的是设备还是普通文 件,可一律当作文件处理,具有非常清晰统一的I/O接口。所以file_operations是文件层次的I/O接口。

mknod

定义:mknod - make block or character special files

语法:mknod /dev/ttyUSBn c Major Minor

    1,n要等于次设备号Minor,且要小于主设备号Major.

   2, c:面向字符设备(b:面向块设备,如:磁盘、软盘、磁带;其他设备基本都为字符设备).

实例:

   ls -la /dev/ttyUSB*

       crw-rw—- 1 root dialout 188, 0 2008-02-13 18:32 /dev/ttyUSB0

   mknod /dev/ttyUSB32c 18832


具体用法:

mknod [options] name {bc} major minor
       mknod [options] name p
       GNU 选项(缩写): 


       [-m mode] [--help] [--version] [--]

  
描述
mknod 用指定名称产生一个FIFO(命名管道),字符专用或块专用文件。
文件系统中的一个专用文件存贮着三种信息(布朗型、整型、整型)。布朗型在字符文件与块文件之间作出选择,两个整型是主、次设备号。

通常,一个专用文件并不在磁盘上占用空间,仅仅是为操作系统提供交流,而不是为数据存贮服务。一般地,专用文件会指向一个硬件设备(如:磁盘、磁带、打印机、虚拟控制台)或者操作系统提供的服务(如:/dev/null, /dev/random)。

块文件通常类似于磁盘设备(在数据可以被访问的地方赋予一个块号,意味着同时设定了一个块缓存)。所有其他设备都是字符文件。(以前,两种文件类型间是有差别的。比如:字符文件I/O没有缓存,而块文件则有。)

mknod命令就是用来产生这种类型文件的。

文件的类型:

p  --------------  FIFO型
b --------------- 块文件
c --------------- 字符文件
GNU版本还允许使用u('unbufferd'非缓冲化),以保持与C语言的一致。

当创建一个块文件或字符文件时,主、次设备号必须在文件类型参数后给出。(十进制或八进制以0开头;GNU 版本还允许使用以0x开头的十六进制)缺省地,所产生的文件模式为0666('a+rw')。

选项
-m mode, --mode=mode
为新建立的文件设定模式,就象应用命令chmod一样,以后仍然使用缺省模式建立新目录。



GNU 标准选项
--help
在标准输出上显示使用信息并顺利退出。
--version
在标准输出上显示版本信息并顺利退出
--
终端选项列表。
  评论这张
 
阅读(70)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017