小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
七、文件系统
在每个分区中,文件都是按照一定方法被存储和组织起来的,这种方法我们称为“文件系统”(File System)。
用户使用文件系统来保存数据时,不必关心数据实际保存在硬盘(或者光盘)的地址为多少的数据块上,只需记住这个文件的所属目录和文件名。文件系统还规定谁有权利访问这个或那个文件。
现代的文件系统有不少都是日志文件系统(Journaling File System),在文件系统发生故障(如内核崩溃或突然停电)时,日志文件系统更容易保持一致性,并且可以较快恢复。
严格地说, 文件系统是一套实现了数据的存储、分级组织、访问和获取等操作的抽象数据类型(Abstract Data Type),是操作系统提供的一种抽象,是介于应用程序软件和磁盘硬件之间的界面。
Note:很重要的一条规则:每个分区只能有一种文件系统!
7.1 Linux 的文件系统
- ext2:这个文件系统在 Linux 下使用了很久。ext 是英语 Extended 的前三个字母,是“扩展的”意思。由法国程序员 Remy Card 设计,他也是 ext(第一代扩展文件系统)的设计者。
- ext3:ext3 和 ext2 很接近,不过 ext3 是日志型文件系统,所以比起 ext2(不是日志型),ext3 在故障时可以恢复数据,ext3 和 ext2 高度兼容。
- ext4:ext3 的演进,扩大了磁盘分区的大小。
ext2、ext3 和 ext4 分别是 Second Extended Filesystem(第二代扩展文件系统),Third Extended Filesystem(第三代扩展文件系统)和 Fourth Extended Filesystem(第四代扩展文件系统)的缩写。