linux 笔记 / 2.文件系统

上一篇介绍了分区格式,相比于主流的分区格式 MBR 和 GPT,文件系统的格式要多很多。

在完成磁盘分区后,每个空白的分区就是给操作系统保存文件的仓库,操作系统为了管理文件需要以特定的格式保存文件,这个格式需要支持文件的读写,检索,权限,日志记录等功能,也就是为操作系统提供管理磁盘空间以及其中的文件的机制。

下表列举了常用操作系统使用的文件系统。

文件系统 开发者发布年份原操作系统
FAT32Microsoft1996Windows 95
exFATMicrosoft2006Windows CE 6.0 / XP SP3 / Vista SP1
NTFSMicrosoft1993Windows NT 3.1
ext4开源2006Linux
HFS+Apple1998Mac OS 8.1
常见的文件系统

常见文件系统的特性

分区格式最大单个文件最大支持分区
FAT324G2TB
exFAT127 PB64 ZB
NTFS16 EB16 EB
ext416 TB1 EB
HFS+8 EB8 EB
常见文件系统特性,在不同簇大小以及不同版本上上述参数可能会不一样,且部分数据仅为理论值


1ZB = 1024EB,1EB = 1024PB,1PB = 1024TB,1TB = 1024GB

FAT (File Allocation Table)

FAT文件系统系列包括 FAT、FAT16、FAT32 和 exFAT ,目前仍旧常见的是FAT32 和 exFAT,源于它良好的兼容性目前在U盘上用的比较多。其中exFAT 就是一种适用于闪存的文件系统。2019年8月,微软公开了exFAT 的技术文档,并支持将 exFAT 功能集成到 Linux内核中。Linux内核于版本5.4中提供初步支持。

NTFS (New Technology File System)

NTFS 包含多个版本,最早为 1993 年发布的 1.0 版本,以及最新的于 Window XP 发布的 3.1 版本,对应系统中 NTFS.sys 文件的版本号 5.1,需要注意区别。
在 linux 系统上,完整并安全的对 NTFS 的读写功能由 NTFS-3G 驱动程序提供。这是一个由 Tuxera 公司开发并维护的自由软件项目,采用GNU通用公共许可证发布,旨在为非微软Windows NT 系的操作系统提供安全快速、具备读写功能的NTFS文件系统驱动程序。

ext (extended filesystem)

ext 系列文件系统包括 ext、ext2、ext3 和 ext 4。其中的 ext或ext1 发表于1992年4月,它是第一个利用虚拟文件系统实现出的文件系统,在linux核心0.96c版中首次加入支持,最大可支持2GB的文件系统。后续版本特性如下表,

名称开发者发布时间最大文件最大分区
ext2Rémy Card19932TB32TB
ext3Stephen Tweedie19992TB32TB
ext4多人[1]200616 TB1 EB

其中 ext4 于 2008年12月25日在 Linux 2.6.29 版公开发布之后成为 Linux 官方建议的默认文件系统。

参考资料
文件系统的对比 – 维基百科,自由的百科全书 (wikipedia.org)
NTFS – 维基百科,自由的百科全书 (wikipedia.org)
exFAT – 维基百科,自由的百科全书 (wikipedia.org)
ext4 – 维基百科,自由的百科全书 (wikipedia.org)

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注