#IT技术 #信息技术
什么是文件系统?
理解文件系统的定义
文件系统可能是计算机用户天天接触,又比较容易忽略的一个部分。它其实非常基础也非常重要。
我们来看看文件系统的定义:
文件系统用于确定文件在存储介质上是如何定位,命名,存储和读取的一种组织结构。
这样的定义比较抽象,也许难以理解。其本质是为了避免文件在磁盘或其它存储介质上被堆成一坨,以至于杂乱无章,读取和修改的时候很费事。就像一本没有目录的书要定位中间的内容一样。
进一步理解文件系统
在Windows下,目前最常见的文件系统是NTFS,我们也叫它NTFS格式,几乎是我们每天都在用的文件系统格式。
如果想要直观地感受一下NTFS文件系统,我们可以从一个熟悉的词开始——格式化。可能一般理解格式化就是指把磁盘清空,资料全部删掉。
但更准确的理解是:格式化其实是一个建立文件系统的过程,格式化的对象是分区,换句话就是说我们可以对磁盘的一个分区进行格式化,这个过程会将分区上以前存储文件的方式全部改写,所以顺带地把文件也弄没了。
打个比方,就像是我们在一本不需要的书上将所有的文字部分全部涂上涂改液,画好间隔线,就可以当一个空白记事本来用。
一般情况下我们的格式化是快速格式化,可以当成系统是“偷懒”先只把书的目录给涂掉,这样会比较快。后面的正文部分,我们哪天我们写到一页再涂一页。这种情况下造就了我们的硬盘在格式化之后,使用文件恢复工具,还是有一定可能性将文件找回来,但要在“正文”部分还没有被覆写的时候。
常见文件系统类型
不同的操作系统支持的文件系统也不一样。如今在Windows下我们常见到的文件系统类型可能有:
- NTFS:New Technology File System
- FAT32:File Allocation Table(32bit)
- exFAT:Extended FAT(FAT64)
- ReFS:Resilient File System
Linux系统下常见的文件系统有:
- EXT4:Fourth Extended File System (前面有3代)
- XFS:Linux下新一代日志文件系统
MacOS系统:
- APFS:Apple File System
- HFS+:Hierarchical File System Extended,是早期HFS的增强版
VMware虚拟化平台:
- VMFS: VMware Virtual Machine File System
光盘文件系统:
- CDFS
关于文件系统的实用问题
普通计算机用户可能无需再深入了解,但IT技术人员或许很有必要,在理解了文件系统的基本概念之后,通过一些问题来进一步探索相关问题。
其中一个比较核心的问题可能是——我们在现实场景中如何选择文件系统。
要回答这个问题,可能要进一步细分问题:
- 什么情况下我们需要关注文件系统?
- 可选的文件系统分别有什么特性?
- 如何比较文件系统的优缺点,进而解决选择的问题?
什么情况下我们需要关注文件系统?
对新添加到计算机的磁盘,新购的U盘或移动硬盘进行格式化的时候,我们通常面临选择文件系统的场景。
早期的Windows下还有FAT的文件系统,FAT就是File Allocation Table的简写,文件分配表的意思,这个意思可以辅助我们理解文件系统就是帮助文件分布到磁盘上。 我们比较熟悉的是FAT32。
但是因为早期的文件系统都存在自己的限制,特别是在容量和文件大小上的限制而逐渐淘汰了。比如,FAT32文件系统支持最大的单个文件不可以超过4GB,单个分区不能超过2TB,这在早些年可能还不是什么问题,但是随着信息技术飞速发展,这些限制就成了大问题了。有些用户可能有过这样的经验,在FAT32格式的U盘下面拷贝一个DVD镜像文件,大概4GB出头,就会报错了。
另外、不同的操作系统支持的文件系统也不一样。苹果的Mac OS操作系统,还有Linux上支持的文件系统就完全不一样。Mac OS是APFS,Linux下目前常用的是ext4 和 XPS。这就造成了一种系统下格式化的磁盘到另一种系统下不认识,比如NTFS格式的移动硬盘在苹果电脑上无法正常打开的问题,Linux分区的磁盘挂在Windows下系统也不认。
所以微软又开发了exFAT(扩展FAT), 其实也可以理解为FAT64,可以支持更大的文件和分区,我们暂时不用担心会受到限制了。而且exFAT能够被多个平台兼容,适用于需要用大容量U盘在不同的平台之间拷贝数据的常见。