Linux-(20)Linux的文件系统(2)


操作系统通过文件系统管理文件及数据,磁盘或分区需要创建文件系统后才能够为操作系统使用,创建文件系统的过程其实就是我们常说的格式化。没有文件系统的设备又称之为裸(raw)设备。
常见的文件系统有fat32、NTFS、ext2、ext3、ext4、xfs、HFS等。其中fat32、ntfs是windows下常见的文件系统,现在windows基本都是ntfs了。而Linux下的主流文件系统有:ext3、ext4等。ext3和ext4这两种文件系统是带日志的,而ext2是不带的。
除了ext3、ext4等常用文件系统外,Linux支持的文件系统主要有这些:ext2、ext3、ext4、fat(msdos)、vfat、nfs、iso9660、proc、gfs、jfs等。
创建文件系统
创建文件系统使用mke2fs命令,例如:mke2fs -t ext4 /dev/sda3
常用参数:
-b blocksize 指定文件系统块大小
-c 建立文件系统时检查坏损块
-L label 指定卷标
-j 建立文件系统日志
还有一个精简的创建文件系统的命令mkfs,这个命令支持的参数较少,不能对文件系统进行精细控制
mkfs ext3 /dev/sda3
查看分区的文件系统信息
dumpe2fs /dev/sda2
为文件系统添加标签
e2label /dev/sda2 XXX (将sda2的系统标签设置为XXX,标签通常为大写)
e2label /dev/sda2 (显示sda2的系统标签)

带日志的文件系统
下面介绍一下带日志的文件系统,带日志的文件系统(ext3、ext4),这个日志称为JOURNAL日志,此类文件系统拥有较强的稳定性,在出现错误时可以进行恢复。
使用带日志的文件系统,文件系统会使用一个叫做“两阶段提交”的方式进行磁盘操作,当进行磁盘操作时,文件系统进行以下几步的操作:
(1) 文件系统将准备执行的事务的具体内容写入日志
(2) 文件系统进行文件操作
(3) 操作成功后,将事务具体的内容从日志中删除
这样做的好处是,当事务执行的时候,如果出现意外(如断电或磁盘故障),可以通过查询日志进行恢复操作,缺点是会丧失一小部分性能。
命令fsck就是用来检查并修复损坏的文件系统的
fsck /dev/sda2
如果加上-y参数的话,就是不提示而直接进行修复
默认情况下,fsck会自动判断文件系统的类型,如果文件系统损坏较严重,那么就要使用-t参数指定文件系统的类型。对于识别为文件的损坏数据(文件系统无记录),fsck会将该文件放入lost+found目录

系统启动时会自动对磁盘进行fsck操作

相关内容