认识Ext2文件系统
先复习下前面讲到的基础
扇区(Sector)为最小的物理储存单位,每个扇区为 512 bytes;
将扇区组成一个圆,那就是磁柱(Cylinder),磁柱是分割槽(partition)的最小单位;
第一个扇区最重要,里面有:(1)主要开机区(Master boot record, MBR)及分割表(partition
table), 其中 MBR 占有 446 bytes,而 partition table 则占有 64 bytes。
各种接口的磁盘在 Linux中的文件名分别为:
- /dev/sd[a-p][1-15]:为 SCSI, SATA, USB, Flash 随身碟等接口的磁盘文件名;
- /dev/hd[a-d][1-63]:为 IDE 接口的磁盘文件名;
复习完物理组成后,来复习一下磁盘分区吧!所谓的磁盘分区指的是告诉操作系统『我这颗磁盘在此分
割槽可以存取的区域是由 A 磁柱到 B 磁柱之间的区块』, 如此一来操作系统就能够知道他可以在所指定
的区块内迚行档案资料的读/写/搜索等操作了。 也就是说,磁盘分区意即指定分割槽的起始与结束磁
柱就是了。
那举指定分割槽的磁柱范围是记录在哪里?就是第一个扇区的分割表中!但是因为分割表仅有
64bytes 而已, 因此最多叧能记录四笔分割槽的记录,这四笔记录我们称为主要 (primary) 或延伸
(extended) 分割槽,其中延伸分割槽还可以再分割出逻辑分割槽 (logical) , 而能被格式化的则仅有主
要分割与逻辑分割而已。
最后,我们再将第三章关于分割的定义拿出来说明一下啰:
割槽可以存取的区域是由 A 磁柱到 B 磁柱之间的区块』, 如此一来操作系统就能够知道他可以在所指定
的区块内迚行档案资料的读/写/搜索等操作了。 也就是说,磁盘分区意即指定分割槽的起始与结束磁
柱就是了。
那举指定分割槽的磁柱范围是记录在哪里?就是第一个扇区的分割表中!但是因为分割表仅有
64bytes 而已, 因此最多叧能记录四笔分割槽的记录,这四笔记录我们称为主要 (primary) 或延伸
(extended) 分割槽,其中延伸分割槽还可以再分割出逻辑分割槽 (logical) , 而能被格式化的则仅有主
要分割与逻辑分割而已。
最后,我们再将第三章关于分割的定义拿出来说明一下啰:
- 主要分割与延伸分割最多可以有四笔(硬盘的限制)
- 延伸分割最多只能有一个(操作系统的限制)
- 逻辑分割是由延伸分割持续切割出来的分割槽;
- 能够被格式化后,作为数据存取的分割槽为主要分割与逻辑分割。延伸分割无法格式化;
- 逻辑分割的数量依操作系统而不同,在Linux 系统中,IDE硬盘最多有59个逻辑分割(5号到 63号), SATA 硬盘则有11个逻辑分割(5号到 15号)。
文件系统特性
操作系统的文件数据,除了数据内容外,还有包括文件权限(rwx)和文件属性(拥有着、群组、时间参数)。文件系统会将这些数据存放在不同的地方。
权限与属性放置到inode中,而实际的数据文件放到data block 区块中。另外,还有一个超级区块(superblock)会记录整个文件系统的整体信息,包括inode和data block的总量,使用量和剩余量。
每个inode和block 都有编号,三个数据的含义如下:
- superblock:记录此 filesystem 的整体信息,包括 inode/block 的总量、使用量、剩余量,以及文件系统的格式等相关信息等;
- inode:记录档案的属性,一个档案占用一个 inode,同时记录此档案的数据所在的 block 号码;
- block:实际记录档案的内容,若档案太大时,会占用多个 block 。
文件系统的存取方式又有两种:
1、索引式文件系统(indexed allocation)inode 4一次读取出所有block位置
2、类似链表型、闪存没有inode,使用FAT格式,只有当读取完一个block以后才能读取到下一个block内容
磁盘碎片整理:由于block块分散的太厉害,读取时候太慢,因此FAT格式时需要不时的进行磁盘碎片整理,磁盘碎片整理的目的就是将同属一个文档的blocks汇整到一起,这样数据读取的时候会比较容易。
由于EXT2/3是使用索引式的文件系统,因此不太需要进行碎片整理。
Linux的EXT2文件系统(inode)
inode记录文件的权限与相关属性、block记录文件的实际内容。当我们的文件系统包含几百Gb时,将所有的inode和block放在一起是很不明智的,这很不方便管理。因此。EXT2文件系统在格式化的时候基本上区分为多个区块群组(block group),每个区块群组有独立的inode/block/superblock。
整体来说,EXT2文件系统格式化后有点像下图
block group 主要包括以下6个内容
1、data block (资料区块)
2、inode table (inode 表格)
3、superblock (超级区块)
4、FileSystem Description(文件系统描述说明)
5、block bitmap (区块对照表)
6、inode bitmap(inode 对照表)
可使用df 命令查询出挂载的设备
然后使用dumpe2fs 来查询 superblock 和 block group信息。
实体链接与符号链接ln
在linux系统下,链接文件有两种,一种是类似于windows系统中的快捷方式的文件,可以让你快速的打开文件或者目录;另外一种则是通过文件系统的inode来产生新的文件名,而不是产生新的文件。这种称谓实体链接(hard link)。
实体链接(hard link)
Symbolic Link(符号链接,快捷方式)