1.文件系统的特殊观察与操作
1.1 磁盘空间的浪费问题
在ext2数据区块中谈到一个区块只能放置一个文件,因此太多小文件将会浪费非常多的磁盘容量
使用【ls -l】查询某个目录下的数据时,第一行都会出现【total】字样,这是该目录下的所有数据所耗用的【实际区块数量×区块大小】的值
[root@study ~] ls -l
观察到上图中【.bash_logout】文件大小为220B,却占用了一个大小为4.0K的区块,造成了空间浪费
1.2 利用GNU的 parted 进行分区操作
利用【gdisk】命令对GPT的进行划分分区
利用【fdisk】命令对MBR的进行划分分区
而【parted】命令对GPT和MBR都支持
【parted】用法:
[root@study ~] parted [设备] [命令 [参数]]
选项与参数:
命令功能:
新增分区 : mkpart [primary | logical | Extended] [ext4 | vfat | xfs] 开始 结束
显示分区 : print
删除分区 : rm [partition]
范例1:
以【parted】列出目前本机的分区表信息
[root@study ~] parted /dev/sda print
[Number] [Start] [End] [Size] [File system] [Name] [Flags]
名称 | 含义 |
---|---|
Number | 分区的号码 (1号就是/dev/sda1) |
Start | 分区的起始位置在这块磁盘的多少MB处 (以容量为单位) |
End | 分区的结束位置在这块磁盘的多少MB处 |
Size | 分区的容量 |
File system | 文件系统类型 |
Name | 如同gdisk的System ID之意 |
上图中起始位置与结束位置的单位不同,如若都用MB:
[root@study ~] parted /dev/sda unit mb print
范例2:
建立一个约为 512MB 容量的分区
[root@study ~] parted /dev/vda print
......
Number Start End Size File system Name
......
6 35.4GB 36.0GB 537MB Linux-swap(v1) Linux-swap #要先找出下一个分区的起点
[root@study ~] parted /dev/vda mkpart primary fat32 36.0GB 36.5GB #mkpart为新增分区,具体查看手册 man mkpart
[root@study ~] parted /dev/vda print #显示分区
......
Number Start End Size File system Name Flags
7 36.0GB 36.5GB 522MB primary
[root@study ~] partprobe #更新Linux内核的分区表信息
[root@study ~] lsblk /dev/vda7 #列出/dev/vda7的磁盘列表
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda7 252:7 0 498M 0 part #确定vda7的存在
[root@study ~] mkfs -t vfat /dev/vda7 #将/dev/vda7格式化为vfat格式
[root@study ~] blkid /dev/vda7 #列出设备 /dev/vda7 的UUID等参数
/dev/vda7 : SEC TYPE="msdos" UUID="6032-BF38" TYPE="vfat"
[root@study ~] nano /etc/fstab #nano编辑器编辑启动时的配置文件
#[设备 / UUID等] [挂载点] [文件系统] [文件系统参数] [dump] [fsck]
UUID="6032-BF38" /data/win vfat defaults 0 0
[root@study ~] mkdir /data/win #创建空目录作为挂载点
[root@study ~] mount -a #依照配置文件 /etc/fstab 的数据将所有未挂载的磁盘都挂载上来
[root@study ~] df /data/win # df 主要读取的数据几乎都是针对整个文件系统,因此读取的范围主要是在超级区块内的信息
Filesystem 1K-blocks Used Available Use% Mounted On
/dev/vda7 509672 0 509672 0% /data/win