操作系统通过文件系统管理数据;
磁盘创建分区后并不能直接被操作系统使用,还需要创建文件系统;
格式化:创建文件系统的过程又称为格式化;
裸设备 (raw):没有文件系统的设备;
常见的文件系统有:fat32、NTFS、ext2、ext3、ext4、xfs、HFS等;
文件系统之间的区别:日志、支持的分区大小、支持的单个文件大小、性能等;
windows下的主流文件系统是 NTFS;
Linux下的主流文件系统是ext3、ext4;
1.创建文件系统
1)mke2fs
命令 mke2fs 用来创建文件系统;
例如:在第二块硬盘的1号分区建立ext4文件系统
mke2fs -t ext4 /dev/sdb1
常用参数:
-b blocksize 指定文件系统块大小;也就是最小单位;默认4096字节也就是4k;
-c 建立文件系统时检查块损坏;check的意思;防止创建好了文件系统而无法使用;
-L label 指定卷标;也就是给磁盘取名;例如windows中给c盘取名为系统盘;
-j 建立文件系统日志 ;ext3和ext4默认是带日志的,不需要单独指定该参数;
2)mkfs
命令mkfs也可以用来创建文件系统;
相对于mke2fs比较简单;支持的参数较少;无法做到精细化的控制;
例如:
mkfs.ext4 /dev/sdb2
2.查看文件系统
命令 dumpe2fs 可以用来查看分区的文件系统信息;
例如:
dumpe2fs /dev/sdb1
3.文件系统日志JOURNAL
日志可提高文件系统的稳定性;
带日志的文件系统会使用“两阶段提交”的方式进行磁盘操作:
1)文件系统将准备进行的操作写入日志;
2)进行系统操作;
3)操作成功后删除日志;
好处:当操作失败时,可查看日志知道失败原因,进行恢复操作;
缺点:日志操作需要一定的系统性能来支持;
4.文件系统标签 E2LABEL
文件系统可以在创建用参数 -L打上标签;
命令 e2label 也可以为文件系统添加标签;
例如:显示sda2的标签
e2label /dev/sda2
将sda2的标签设为games:
e2label /dev/sda2 games
5.检查修复文件系统
命令 fsck 用来检查修复文件系统;
检查文件系统时磁盘必须卸载;
fsck /dev/sda2
使用 -y 参数不提示而直接修复;不加-y每有一个错误会提示是否修复;在很多错误时,需要不停的确认很麻烦;
使用 -t 参数来指定文件系统类型;默认情况下fsck会自动判断文件系统类型,但是文件系统损坏严重时可能判断不出来,需要加上-t ext3 之类的;
对于识别为损坏的数据(文件系统无记录),fsck会将该文件放入lost+found目录;
系统启动时会自动对磁盘进行fsck操作;