mknod命令用于创建一个设备文件,即特殊文件

首先要明白什么是设备文件,简单的我们说 操作系统与外部设备(入磁盘驱动器,打印机,modern,终端 等等)都是通过设备文件来进行通信的,在Unix/Linux系统与外部设备通讯之前,这个设备必须首先要有一个设备文件,设备文件均放在/dev目录下

一般情况下在安装系统的时候系统自动创建了很多已检测到的设备的设备文件,但有时候我们也需要自己手动创建,命令行生成设备文件的方式有 insf,mksf,mknod等等

根据mknod命令的使用参数来看【mknod Name { b | c } Major Minor 】,使用mknod之前,至少要明白以下几点:

设备文件类型:分为块设备和字符设备。ls -l /dev 结果显示第一个字段有b*** 和 c****,这里即标识了块设备和字符设备。

字符设备文件----字符设备文件传送数据给设备的时候,一次传送一个字符,终端,打印机,绘图仪,modern等设备都经过字符设备文件传送数据

块设备---系统通过块设备文件存取一个设备的时候,先从内存中的buffer中读或写数据,而不是直接传送数据到物理磁盘,这种方式能有效的提高磁盘和CD-ROMS的I/O性能。磁盘和CD-ROMS即可以使用字符设备文件也可使用块设备文件。

主号和次号:

主号:当在任意目录使用ls -l 时,结果的第5个字段就是主号,设备主号代表了这个设备使用的是哪个设备驱动程序

次号:次号是一个24位的十六进制数字,定义了设个设备在系统中的物理的位置

挂接移动硬盘

对linux系统而言,USB接口的移动硬盘是当作SCSI设备对待的。插入移动硬盘之前,应先用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。

[root at pldyrouter /]# fdisk -l

Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

255 heads, 63 sectors/track, 8924 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 4 32098+ de Dell Utility

/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

/dev/sda3 2555 7904 42973875 83 Linux

/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

/dev/sda5 7905 8924 8193118+ 82 Linux swap在这里可以清楚地看到系统有一块SCSI硬盘/dev/sda和它的四个磁盘分区/dev/sda1 -- /dev/sda4, /dev/sda5是分区/dev/sda4的逻辑分区。接好移动硬盘后,再用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况

[root at pldyrouter /]# fdisk -l

Disk /dev/sda: 73 dot 4 GB, 73407820800 bytes

255 heads, 63 sectors/track, 8924 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 1 4 32098+ de Dell Utility

/dev/sda2 * 5 2554 20482875 7 HPFS/NTFS

/dev/sda3 2555 7904 42973875 83 Linux

/dev/sda4 7905 8924 8193150 f Win95 Ext'd (LBA)

/dev/sda5 7905 8924 8193118+ 82 Linux swap

Disk /dev/sdc: 40.0 GB, 40007761920 bytes

255 heads, 63 sectors/track, 4864 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sdc1 1 510 4096543+ 7 HPFS/NTFS

/dev/sdc2 511 4864 34973505 f Win95 Ext'd (LBA)

/dev/sdc5 511 4864 34973473+ b Win95 FAT32

大家应该可以发现多了一个SCSI硬盘/dev/sdc和它的两个磁盘分区/dev/sdc1?、/dev/sdc2,其中/dev/sdc5是/dev/sdc2分区的逻辑分区。我们可以使用下面的命令挂接/dev/sdc1和/dev/sdc5。

#mkdir -p /mnt/usbhd1

#mkdir -p /mnt/usbhd2

注:建立目录用来作挂接点(mount point)

#mount -t ntfs /dev/sdc1 /mnt/usbhd1

#mount -t vfat /dev/sdc5 /mnt/usbhd2

注:对ntfs格式的磁盘分区应使用-t ntfs 参数,对fat32格式的磁盘分区应使用-t vfat参数。若汉字文件名显示为乱码或不显示,可以使用下面的命令格式。

linux创建设备 mknod,linux用mknod创建设备(节点)相关推荐

  1. Linux驱动编程 step-by-step (四) 字符设备的注册与设备节点的自动创建

    字符设备的注册与设备节点的自动创建 cdev 结构 内核内部使用struct cdev<linux/cdev.h>来表示一个字符设备 struct cdev {     struct ko ...

  2. linux 驱动命令 mknod,linux中的mknod命令的详细解释

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

  3. linux创建根目录代码,Linux文件系统之目录的建立

    一:前言 在用户空间中,建立目录所用的API为mkdir().它在内核中的系统调用入口是sys_mkdir().今天跟踪一下 函数来分析linux文件系统中目录的建立过程. 二:sys_mkdir() ...

  4. linux 线程编译指令i,linux线程篇之(一):线程的创建与应用

    #include#include void thread1(void)//线程1 { int i=0; for(i=0;i<6;i++) { printf("this is a pth ...

  5. linux系统创建lvm卷,LVM逻辑卷创建管理

    一.简介 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵 ...

  6. linux删除配置信息,Linux LVM逻辑卷配置过程详解(创建、扩展、缩减、删除、卸载、快照创建)...

    一.预备知识 LVM全称为Logical Volume Manager逻辑卷管理器,LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上.文件系统之下的一个逻辑层,可提高磁盘分 ...

  7. Linux下C语言编程-进程的创建

    Linux下C语言编程-进程的创建 作者:hoyt 1.进程的概念 Linux操作系统是面向多用户的.在同一时间可以有许多用户向操作系统发出各种命令.那么操作系统是怎么实现多用户的环境呢?在现代的操作 ...

  8. Linux RH5平台下使用Oracle ASM创建数据库

    一.安装配置先决条件 1.安装oracleasm支持包 创建asm数据库,首先需要ASMLib驱动程序包,可以从相关的网站下载到和操作系统对应的rpm文件,分别为oracleasm-support-2 ...

  9. linux命令创建硬链接,Linux终端命令接口(十一)硬链接与软连接

    一.进入终端 输入 使用  ls -l  即可. 示例: $ touch file1      # 创建新文件 file1 $ touch file2      # 创建新文件 file2 $ ln ...

最新文章

  1. 定义和使用含有泛型的接口
  2. 多行并一行显示的两种方式(DB2)
  3. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](5)
  4. typora导出word指定样式_(二)最简洁的Markdowd编辑器:Typora
  5. react学习(70)--拼接方式
  6. SEO的十种赚钱方式
  7. 页面在360浏览器下的兼容性问题解决
  8. 541页《利用Python进行数据分析》分享(附源码下载)
  9. scala代码示例_Scala元组和地图示例
  10. 【剑指offer】31、栈的压入和弹出序列
  11. xen服务器不能挂载iso文件,Citrix XenCenter安装VM之挂载ISO详解
  12. 【Google浏览器无法登录账号】为安全起见,您无法从此设备登录。请稍后重试,或从其他设备登录
  13. linux怎么设置文件访问权限,Linux文件和目录访问权限设置
  14. PLC属于电子计算机吗,plc是什么
  15. 大型机、小型机、x86架构以及ARM架构服务器的区别大型机、小型机、x86架构以及ARM架构服务器的区别
  16. 公众号多题库查题系统
  17. window系统CMD查看内存使用情况
  18. 国产光谱共焦位移传感器能侧哪些地方
  19. 字符串拆分 split()方法
  20. 【RegExp】正则表达式

热门文章

  1. fileinput基本使用
  2. thinkPHP5 - 二维码的生成
  3. Problem1:将x的平方赋值给y
  4. 监督学习方法与无监督学习方法总结
  5. spring官方免费下载教程
  6. MongoDB Capped集合 使用注意事项
  7. 如何实现JavaScript猜数字小游戏
  8. java中数组如何从大到小排序?
  9. rational故障_Rational Performance Tester和Citrix故障排除和最佳实践
  10. 【neo4j忘记密码】neo4j忘记密码的处理方法