`

linux命令-mknod

阅读更多
个人觉得linux的软件设计思想异常强大,比如把所有的设备都当做文件来处理,大大简化了程序员的负担,向提出这个思想的大神s致敬!!

先来看看linux系统中设备管理的基本知识:

      我们的linux操作系统跟外部设备(如磁盘、光盘等)的通信都是通过设备文件进行的,应用程序可以打开、关闭、读写这些设备文件,从而对设备进行读写,这种操作就像读写普通的文件一样easy。linux为不同种类的设备文件提供了相同的接口,比如read(),write(),open(),close()。

      所以在系统与设备通信之前,系统首先要建立一个设备文件,这个设备文件存放在/dev目录下。其实系统默认情况下就已经生成了很多设备文件,但有时候我们需要自己手动新建一些设备文件,这个时候就会用到像mkdir, 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命令大全,以及例子

    以下是一份详尽的Linux命令大全,包括了系统启动、用户管理、设备处理、磁盘管理和工作进程信息等相关命令。 1. **系统启动与管理** - `reboot`:重启系统。 - `halt`:关闭系统。 - `shutdown`:安全关机或重启...

    Linux实验-文件系统管理及使用

    - `mknod`命令用于创建特殊文件,如设备文件,`mknod /dev/sdb_1 b 8 0`创建一个块设备文件。 - `mkfifo`命令创建命名管道,如`mkfifo mypipe`。 - `df`命令显示磁盘空间使用情况,如`df -h`以人性化格式显示。 - `...

    mknod命令 创建字符设备文件和块设备文件

    Linux一切皆文件,系统与设备通信之前,要建立一个存放在/dev目录下的设备文件,默认情况下就已经生成了很多设备文件,有时候自己手动新建一些设备文件,这就会用到mknod。 语法格式:mknod [参数] 常用参数: -Z...

    linux 命令英文全称

    ### Linux命令英文全称解析 Linux作为一款强大的开源操作系统,其命令行工具是进行系统管理、软件开发等工作的核心组成部分。对于初学者来说,理解这些命令的英文全称及其背后的含义,有助于更好地记忆和掌握它们的...

    linux-device-drivers.rar_Device-Drivers_linux_linux源码

    通过mknod()创建设备文件,并设置相应的主设备号和次设备号,以关联到对应的驱动程序。 六、实例分析 压缩包中的"www.pudn.com.txt"可能包含了一些设备驱动程序的示例代码或教程链接,而"examples"目录则可能包含...

    linux基本命令大全.pdf

    Linux 基本命令大全 本文档旨在总结 Linux 系统中常用的基本命令,涵盖用户管理、文件管理、目录管理、权限管理、磁盘管理、进程管理、网络管理等方面。 用户管理 * useradd 创建用户 * usermod 修改用户信息 * ...

    windows dos环境下直接运行linux命令集合

    使用方法,解压到本地目录,配置path,即可在dos下使用linux命令。 windows下能直接执行的linux命令,基本包括日常所有,如:[.exe grolbp.exe regtool.exe a2p.exe grolj4.exe rm.exe a2p5.10.0.exe grops.exe ...

    mtd-utils-交叉编译与使用2正解

    `mtd-utils` 是一组用于管理内存技术驱动(Memory Technology Driver)的实用程序,它包含了诸如 `flash_eraseall`、`mknod` 和 `mkfs.jffs2` 等命令。本文主要介绍如何在 Ubuntu 10.04 上,使用 `arm-none-linux-...

    Linux文件系统命令

    本篇文章将深入探讨Linux文件系统命令,包括`mke2fs`、`mkfs`、`mknod`、`mktemp`、`dump`和`restore`,这些命令在日常系统管理中起着至关重要的作用。 1. `mke2fs`:这个命令用于创建ext2、ext3或ext4类型的文件...

    linux-2.6.35内核的编译和配置

    使用 `makemenuconfig` 命令来配置内核。在 `Kernel Features` 中启用 ARM EABI 支持,并允许旧的 ABI 二进制文件运行(实验性)。 ``` make menuconfig Kernel Features --> [*] Use the ARM EABI to compile the ...

    linux常用命令大全

    ### Linux常用命令详解 #### 一、用户与权限管理 **1. useradd命令** - **功能**: `useradd` 命令用于在 Linux 系统中创建新用户。 - **基本语法**: `useradd [选项] 用户名` - **常见选项**: - `-c`: 指定用户...

    让windowscmd也用上linux命令.pdf

    标题中的“让windowscmd也用上linux命令.pdf”指的是在Windows命令行环境下使用Linux命令,这一操作通常是通过安装模拟Linux环境的工具来实现的。描述中提到的问题是用户需要查看大文件的内容,但在Windows中直接...

    linux常用命令源码(ls,cp,chmod,df等一百多个命令)

    linux下大部分常用命令源码,偶正要开始学习-_- base64.c basename.c c99-to-c89.diff cat.c chcon.c chgrp.c chmod.c chown.c chown-core.c chown-core.h chroot.c cksum.c comm.c copy.c cp.c cp-hash.c csplit.c ...

    linux命令知识点知识点

    ### Linux命令知识点详解 #### 一、目录与文件操作 **cd 命令** - **功能**: 改变当前工作目录。 - **语法**: `cd [目录]` - `cd "MyDocuments"`:将当前目录切换到"MyDocuments"目录。 - `cd /`:切换到系统根...

    嵌入式linux驱动开发教程--源代码.rar

    - **mknod命令**:创建设备节点,指定设备类型(字符设备或块设备)和主次设备号。 4. **字符设备驱动开发** - **字符设备驱动结构**:包括open、close、read、write等函数,对应设备的打开、关闭、读取和写入...

    linux的常用命令

    ### Linux的常用命令详解 #### 一、基本操作命令 1. **`ls`命令**: - **功能**:列出目录中的文件列表。 - **语法**:`ls [选项] [目录]` - **常用选项**: - `-a`:显示所有文件及目录,包括隐藏文件(以`.`...

    附录二linux常用命令

    熟练掌握Linux命令对于提高工作效率、优化系统性能至关重要。下面,我们将深入解析一系列常用的Linux命令,帮助你更好地理解和运用这些工具。 #### 1. 文件列表 – `ls` `ls` 命令用于显示目录中的文件和子目录...

    linux简易介绍

    ##### 一、Linux命令格式 Linux操作系统提供了丰富的命令行功能,这使得用户能够通过简单的文本输入来完成各种复杂的操作。以下是Linux命令格式的一些基本介绍: 1. **Linux命令提示符**: - 在命令行下,操作系统...

Global site tag (gtag.js) - Google Analytics