详解linux系列之磁盘分区及磁盘配额
大家都知道在windows系统安装好以后我们觉得有的分区比较大,而我们用不了这么大的,可以把磁盘再分点出来,在linux下我们也可以这样对磁盘进行分区。那分区有什么前提条件呢?1、首先要有空闲的空间  2、磁盘必须被系统识别。
在windows里可以针对用户进行设置,可以限制用户,但是在windows只能针对对磁盘的利用大小进行限制而不能针对文件个数进行设置,linux可以针对磁盘的大小也可针对文件个数来设置。磁盘配额指的是特定用户在指定分区下使用磁盘空间大小和文件个数的限制。       
在windows里对磁盘分区的命令也是fdisk,linux也是一样的命令,但是命令只是一样,步骤是截然不同的。
接下来我们先来加一块硬盘,启动计算机,开始对这块新硬盘分区。
大致步骤是:
1、划分分区
2、格式化这个分区
3、创建卷标
4、创建挂载点
5、修改一个配置文件使分区开机自动挂载
6、挂载分区
7、手工删除分区
先看一下系统是否识别了我们加的这块硬盘用命令fdisk  -l,系统发现了一个/dev/sdb的硬盘。
1、划分分区
1
系统识别了硬盘,用fdisk  /dev/sdb对这块硬盘分区
2
输入m(m for help)可以得到帮助如图所示,n新建、d删除分区、p显示已有分区、w保存并退出、q不保存退出。
3
我们要新建一个分区输入n
4
输入n后会问你是主分区还是扩展分区,我们选择主分区输入p
5
是第一个主分区的第一个分区大小为100M
6
输入w保存退出
7
  2、格式化这个分区
格式化的命令是mkfs  -t  ext3  /dev/sdb1
8
格式化完成后再用fdisk  -l可以看见我们新建的分区
9
  3、创建卷标
4、创建挂载点
为什么要创建卷标呢?
大家想一想如果我们新建了一个分区与一个心挂载点,当这个分区不够了我们要删除这个分区,我们新划分的这个大点的分区再挂载到这个挂载点时系统会分不清楚的,所以我们来创建一个卷标来区分不同的分区。
输入e2label  /dev/sdb1  /test(挂载点的名称)
10 
然后创建挂载点mkdir  /test
11
5、修改一个配置文件使分区开机自动挂载
这个配置文件在/etc/fstab下,那我们来编辑一下vi  /etc/fstab
12
添加一条如图的命令
13
6、挂载分区
挂载我们新划分的分区
mount  /test
挂载完并没有报错后用mount查看一下是否有我们创建的分区
14
7、手工删除分区
删除分区,我们要用这个分区进行磁盘配额的实验就不删除了,但是删除的命令是:先卸载umonut  /test 然后删除分区 fdisk  /dev/sdb1  d最后修改配置文件vi  /etc/fstab。
我们开始对磁盘进行配额
我们以刚建的那个/test来做特定的分区,以aa做特定的用户,开始修改一下我们刚才修改的/etc/fstab,vi /etc/fstab ,default是正常使用的意思后面加上“,usrquote”没有空格,在修改这个文件的时候一定要小心,不然系统会崩溃的。
15
修改完配置文件后我们要重新挂载一下
mount  -o  remount  /test
16
重新挂载好以后创建配额文件
quotacheck  -cmu  /test  u的意思是针对用户。
17
接下来创建我们要针对的用户我们用aa这个用户,创建aa用户并给这个用户设置密码如图:
18
针对用户进行配额
edquota  -u(用户)  aa
19
A指已经用的磁盘大小不能修改B指的是磁盘使用的软限制相当于windows里的报警C指的是硬限制相当于windows里的限制D指已经用的文件个数也是不能修改的E指文件个数的软限制F文件个数的硬限制。 记住单位是KB。
我们设置5KB报警并限制不能写入,5个文件报警并限制不能再创建文件
20
启用磁盘配额
quoteon  /test  反之quoteoff是关闭
21
切换到aa这个用户终端
su  -  aa
22
进入/test这个目录
写入dd  if=/dev/zero  of=/test/aa(创建一个aa文件并在里面不停写0)
23 
报错了,是aa这个用户的权限不够。
25 
26
  修改一下/test的权限,设置成最大的也就是777
27 
28
再来进入/test这个目录,写上dd  if=/dev/zero  of=/test/aa
报错了Disk quota  exceeded磁盘配额已满
29
删除aa来创建目录,创建了几个目录后就不能建了
30 
31
我们可以用echo  创建文件文件是可以创建5个的,但是不能超过5个哦!
在进行测试时要注意:切换用户、切换目录、设置权限。