文件系统的作用
文件系统存在于系统的内核层,向下屏蔽不同物理设备的差异,向上给操作系统提供数据存储接口。
磁盘中可以存取的最小单位是扇区。
常见的文件系统
- NTFS
- FAT
- ext
FAT
文件系统使用类似链表的数据结构存储,一个数据节点包含两部分,数据块和下一个数据节点的地址,一个连一个,组成一条数据链,硬盘读取的时候必须是串行读取,劣势就是读取效率较低,寻址时间长。
ext
文件系统会在格式化分区时,创建好一堆inode和一堆block。inode默认128byte。一个文件的多个数据块同时存储在一个inode节点中,磁盘寻址时可以不按数据读取数据,寻址时可以根据地址的远近调整读取顺序,文件的读取效率高。
每个文件至少包含一个inode和一个block。inode中存储文件的权限信息,和时间信息等。
block中存储文件数据,ext4格式的block默认4k。
分区
由于历史原因,系统中最多只支持4个主分区,不够用时,可以将一个主分区调整为扩展分区,这个扩展分区可以创建出逻辑分区。一块硬盘的前2048字节存储的就是主分区的分区信息,而扩展分区的前1M存储的是逻辑分区的分区信息。
linux系统的设备潜规则
硬盘设备默认sd开头,第一块硬盘的第一个主分区就是/dev/sda1,第二块硬盘的第一个主分区就是/dev/sdb5
串行读取设备如U盘,默认fd开头。
格式化命令
fdisk是一个命令集,可以使用sudo fdisk /dev/sda 命令对第一块硬盘进行管理
具体用法参考fdisk 帮助
挂载
linux系统中一切皆是文件,我们要操作设备首先要把设备挂载到系统中,挂载的含义实际是分配inode节点给设备
mount /dev/sda1 /mnt/sda1
卸载
umount /dev/sda1