CentOS下创建有上限大小的文件夹

创建有配额的文件夹主要是利用Linux下的loop设备

Linux中有一种特殊的块设备叫loop device,这种loop device设备是通过影射操作系统上的正常的文件而形成的虚拟块设备。也就是说loop设备是一个虚拟设备,是用于把某个文件虚拟成一个磁盘介质设备的.关联之后对loop可以格式化,实际就是对关联文件进行某种操作,能够让这个文件像磁盘一样被mount,并且使用。

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

以下是创建配额文件夹的具体步骤:

1. 先用dd命令创建一个20M大小的配额文件

  dd if=/dev/zero ibs=2M count=10 of=/usr/local/test.img

  if=/dev/zero:表示输入文件为/dev/zero,也可以用/dev/null

  ibs=2M: IBlockSize表示块大小为2M
  of=/usr/local/test.img:输出文件  

2. 将test.img文件与loop设备进行关联

  losetup /dev/loop0 /usr/local/test.img

3. 在虚拟设备上创建文件系统,实际上是针对test.img的操作,因为已经将它关联给了/dev/loop0

  mkfs /dev/loop0

4. 将文件设备挂载到目标文件夹上,就完成了文件夹(/usr/local/test02)的配额功能

  mount /dev/loop0 /usr/local/test02


CentOS下创建有上限大小的文件夹
 

5. 不再使用时需要释放资源

  umount /usr/local/test02

  losetup -d /dev/loop0

设备文件一般存放在/dev目录下,以下是常见设备文件和简单说明:
  /dev/hd[a-t]:IDE设备
  /dev/sd[a-z]:SCSI设备
  /dev/fd[0-7]:标准软驱
  /dev/md[0-31]:软raid设备
  /dev/loop[0-7]:本地回环设备
  /dev/ram[0-15]:内存
  /dev/null:无限数据接收设备,相当于黑洞
  /dev/zero:无限零资源
  /dev/tty[0-63]:虚拟终端
  /dev/ttyS[0-3]:串口
  /dev/lp[0-3]:并口
  /dev/console:控制台

相关推荐