Linux创建特殊设备文件

linux下的设备很特别,系统总是以总一的方式读取设备,而设备间的差别由设备驱动程序来负责完成。正因为如此,设备管理起来非常地容易。linux也提供了虚设备文件,即无实际物理硬件相对应的设备,它们在实际的工作学习中会经常用到,现介绍如下

(一)-首先说的当然是回环设备,loop device,这是什么呢?就是把文件模拟成设备,然后就可以像实际设备那样进行相关的操作啦,是大家所熟悉的就是挂载光盘镜象啦,比如说挂载CentOS-5.2-i386-bin-DVD.iso 这个,那么在SHELL中输入 并用ls看其内容

[[email protected] ~]# mount -o loop /mnt/iso/CentOS-5.2-i386-bin-DVD/CentOS-5.2-i386-bin-DVD.iso /media
[[email protected] ~]# ls /media -l

[[email protected] ~]# dd if=/dev/zero of=hd.img bs=1k count=10000
10000+0 records in
10000+0 records out
10240000 bytes (10 MB) copied, 0.0853896 seconds, 120 MB/s
[[email protected] ~]# file hd.img
hd.img: data

由file命令hd.img的是数据文件,现在用loop device把它挂成一虚拟的硬盘

losetup /dev/loop1 hd.img

[[email protected] ~]# losetup -a
/dev/loop0: [0805]:1245190 (/mnt/iso/CentOS-5.2-i386-bin-DVD/CentOS-5.2-i386-bin-DVD.iso)
/dev/loop1: [fd00]:2586037 (hd.img)

可知,hd.img 对应着loop1,而 CentOS-5.2-i386-bin-DVD/CentOS-5.2-i386-bin-DVD.iso对应着loop0,

现在我们就可以通过/dev/loop1 来操作hd.img啦,,它就象一个真实的设备一样,可以进行分区,创建文件系统等

用fdisk进行分区,然后创建文件系统:

二、创建分区:mkfs -t ext2 /dev/loop1

三、挂载: mount -t ext2 /dev/loop1  /mnt

四、解挂:umount -l /mnt

五、卸载:losetup -a  可以查看/dev/loop1 正在使用,使用 losetup -d /dev/loop1进行卸载。

时间: 2024-10-07 10:46:38

Linux创建特殊设备文件的相关文章

LINUX中块设备文件和字符设备文件的本质区别

在LINUX系统文件类型分类的文章中我们提到了 块设备 和 字符设备文件,那么什么是块设备 字符设备文件呢?他们之间有什么本质上的区别呢? 设备文件分为 Block(块) Device Driver 和 Character(字符)Device Drive 两类.Character Device Drive又被称为字符设备或裸设备 raw  devices. Block Device Driver称为块设备. 区别: Block Device Driver 是以固定大小长度来传送转移资料,Char

Linux磁盘管理——设备文件

在Linux环境中,设备文件都在/dev目录下,这些设备文件并不占用磁盘块来存储数据,因此设备文件没有大小,只是在inode表上标识一下元数据.元数据存有设备的设备号. 设备号分为主设备好.次设备号,主设备号表示设备类型.设备文件分块设备文件(b).字符设备文件(c). 块设备  按块为单位 随机访问设备 字符设备 以字符为单位 线性访问 b 硬盘 c 键盘 主设备号 major number 用于标识设备类型 次设备号 ninor number  用于标识同一类型的不同设备 块设备 [[ema

linux 创建 bootable iso 文件

windows制作iso文件通过ultraiso可以实现. linux下用mkisofs这个命令就可以 最简单的用法 mkisofs -o target.iso source 要制作可以启动的iso文件用如下命令 mkisofs -r -J -T -V "Custom RHEL4 Build" -o /c5.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-in

Linux 设备文件的创建和mdev

引子 本文是嵌入式企鹅圈开篇--<linux字符设备驱动剖析>的姐妹篇,在上述文章里面我们具体描写叙述了字符设备驱动框架涉及的驱动注冊.通过设备文件来訪问驱动等知识.并明白通过device_create接口并结合mdev来创建设备文件.但没有展开这个知识点. 本文将从代码级去理解Linux设备类和设备文件的创建过程. 通过这两篇文章,我们将能够对linux字符设备驱动的机制和脉络有全面的认识. 下面程序分析没有缩进,编辑了好几次都不行,耐心点才干跟踪完整个代码:-) 一.设备类相关知识 设备类

class_create(),device_create自动创建设备文件结点

class_create(),device_create自动创建设备文件结点 从linux 内核2.6的某个版本之后,devfs不复存在,udev成为devfs的替代.相比devfs,udev有很多优势,在此就不罗嗦了,提醒一 点,udev是应用层的东东,不要试图在内核的配置选项里找到它;加入对udev的支持很简单,以作者所写的一个字符设备驱动为例,在驱动初始化的代码里调用class_create为该设备创建一个class,再为每个设备调用 class_device_create创建对应的设备.

class_create(),device_create自动创建设备文件结点【转】

本文参考来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhenwenxian/archive/2010/03/28/5424434.aspx 本文转自:http://www.cnblogs.com/hnrainll/archive/2011/06/24/2088576.html 从linux 内核2.6的某个版本之后,devfs不复存在,udev成为devfs的替代.相比devfs,udev有很多优势,在此就不罗嗦了,提醒一 点,udev是应用层的东东,不要试图在内

磁盘管理-软硬链接及创建设备文件

磁盘管理: 常见的机械硬盘: U盘,光盘,软盘,硬盘,磁带 硬链接:只能对文件使用.原因:避免循环链接. 不能跨文件系统. 创建硬连接会增加文件被硬链接的次数 符号链接:可应用于目录 可以跨文件系统 不增加被链接次数 其大小为指定的路劲所包含的字符个数 创建硬连接 ln: -s创建软连接 -v 复制etc/rc.d/rc.sysinit文件到/tmp/abc下 并在qwe目录下创建rc.sysinit文件的硬链接,为sy [[email protected] ~]# mkdir /tmp/abc

Linux磁盘设备文件(sda,sdb,sdc…)变化问题

在Linux下往往会碰到这样的问题,磁盘的设备文件,比如/dev/sda, sdb, sdc等等在某些情况下会混乱掉,比如sda变成了sdb或者sdc变成了sdb等等,这样无形中会导致磁盘设备管理的混乱,最常见的比如Linux文件系统的启动问题.很多人在遇到这种问题的时候都去找磁盘.阵列厂家,怀疑是他们的问题,其实这种底层的磁盘(单个磁盘或者RAID阵列)和Linux下磁盘设备文件的映射并不是磁盘.阵列厂家来决定的,而是Linux内核自身的原因. 目前Linux内核对于这种磁盘设备的映射基本上取

linux kernel 字符设备详解

有关Linux kernel 字符设备分析: 参考:http://blog.jobbole.com/86531/ 一.linux kernel 将设备分为3大类,字符设备,块设备,网络设备. 字符设备是指只能一个字节一个字节读写的设备, 常见的外设基本上都是字符设备. 块设备:常见的存储设备,硬盘,SD卡都归为块设备,块设备是按一块一块读取的. 网络设备:linux 将对外通信的一个机制抽象成一个设备, 通过套接字对其进行相关的操作. 每一个字符设备或块设备都在/dev目录下对应一个设备文件.l