losetup命令:设置循环设备

循环设备可以把文件虚拟成块设备(block device),以便模拟整个文件系统,这样用户可以将其看作是硬盘驱动器,光驱或软驱等设备,并挂入当作目录来使用。

比较常用的是将.iso文件当作循环设备加载并访问。

1、命令参数

losetup:设定与控制循环(loop)设备。

语法:

losetup 循环设备

参数:

循环设备可以是/dev/loop0, /dev/loop1 ... /dev/loop7

-a 显示所有循环设备的状态。

-d 卸除设备

-e <加密选项> 启动加密编码 

-f 寻找第一个未使用的循环设备

-o <偏移量>设置数据偏移量,单位是字节。

例:

(一)将1.iso文件虚拟成循环设备

在shell下输入:

losetup /dev/loop0  1.iso

然后在shell下

losetup /dev/loop0

会得到一些相关的信息。

(二)卸作循环设备/dev/loop0

losetup -d /dev/loop0

在运行losetup /dev/loop0 可以看出,设备已经被卸除了。

(三)查找第一个未使用的循环设备

losetup -f

(四)显示所有已经使用的循环设备状态

losetup -a

实战:

创建一个5M的文件,并虚拟成循环设备进行操作。

1、创建一个文件5M的文件,5120个扇区,每个扇区大小1k

dd if=/dev/zero  of=abc  bs=1k  count=5120

2、虚拟成循环设备

losetup -f abc   //把abc虚拟成一个循环设备,具体在哪个循环设备上用-f自动查找。

3、格式化虚拟磁盘文件

mkfs.ext4 /dev/loop0

4、挂载虚拟磁盘文件

mount /dev/loop0  /mnt/iso

5、可以复制文件到里面或删除(测试成功)

6、卸载文件系统

umount /mnt/iso

7、将循环设备卸除。

losetup -d /dev/loop0

给我的感觉好比loop好比是光驱,而文件就像光盘,放到loop中,之后挂载一下就可以访问了,不知道这么理解对不。