系统自带的4个特殊设备
- cdrom,挂载光驱使用(光驱设备)
- null,丢弃一切数据(虚拟设备)
- zero,提供空的数据流文件(虚拟设备)
- loop,把文件仿真成块设备文件可以进行挂载(仿真设备)
cdrom
/dev/cdrom:光驱设备挂载到系统进行读取文件
- sr0是真实光驱块设备,而cdrom是软连接到了sr0
mount /dev/cdrom /mnt
mount /dev/sr0 /mnt
所以同样操作都是可以挂载光驱
umount /mnt #卸载
由于默认是挂载后是读权限,需要写权限,加上参数
mount -o rw /dev/cdrom /mnt #是否可写,看文件是否写保护
常见用处就是挂载系统镜像做本地yum源,那么就需要永久挂载
vi /etc/fstab
/dev/cdrom /mnt iso9660 defaults 0 0
null和zero
/dev/null :它丢弃一切写入其中的数据,读取就是空字符。
/dev/zero:提供空的数据流文件,可以理解就是把块设备写0操作(格式化)
- null,关于丢弃或者清空的操作都可以使用到null
- zero,关于填充文件或者创建空文件都可以使用zero
硬盘读写测试举例:
dd if=/dev/zero of=/data/test1 bs=4M count=100 #创建了一个400兆空文件,也就是写入了一个400兆的空文件
dd if=/data/test of=/dev/null bs=4M count=100 #丢弃了400兆数据,也就是读取了400兆文件数据
用处还有很对,比如清空文本内数据、脚本输入到丢弃null,填充文件实现安全格式化作用文件大小还不变等等
loop
/dev/loop:是使用文件来模拟块设备的一种技术,文件模拟成块设备后, 就像一个磁盘或光盘一样使用
linux默认可以支持到loop0-7,8个环回设备把文件仿真成块设备,可以进行挂载操作
介绍几种情况需要用到loop设备
- 由于分区类型错误选择了标准分区,后面需求需要共享存储,因为标准分区而无法创建磁盘,这样就无法满足固定大小的磁盘,可以利用loop实现
- 空间转换,由于根分区分配很大空间,导致其他分区不够用,可以使用loop挂载根分区文件进行空间转换使用
- 虚拟化磁盘查看文件,由于虚拟化常见虚拟机的硬盘实际存储的就是一个文件,而如果虚拟机无法开机的情况下,需要读取里面的文件,可以使用loop挂载读取文件
举例:
创建一个固定大小文件挂载后使用
dd if=/dev/zero of=/data/test bs=4M count=100 #创建一个400兆空间
mkfs.xfs /data/test #格式化文件
mount -o loop /data/test /media #挂载类型为loop的设备文件
配置永久挂载
vi /etc/fstab
/data/test /media xfs defaults,loop 0 0
注意/etc/fstab这里的配置千万不要错了,不然重启后会导致系统进不去,自动进入救援模式,不然需要进入救援模式后删除配置重启才行