Linux文件系统
文件系统分类:
传统磁盘文件系统:ext2、ext3、ext4、XFS、Btrfs、JFS、NTFS等。
闪存文件系统:ubifs、JFFS2、YAFFS 等。
数据库文件系统
特殊用途的文件系统:procfs、sysfs、tmpfs、squashfs、debugfs 等。
文件系统介绍
文件系统 | 描 述 |
---|---|
Ext | Linux 中最早的文件系统,由于在性能和兼容性上具有很多缺陷,现在已经很少使用 |
Ext2 | Ext 文件系统的升级版本,Red Hat Linux 7.2 版本以前的系统默认都是 Ext2 文件系统。于 1993 年发布,支持最大 16TB 的分区和最大 2TB 的文件(1TB=1024GB=1024x1024KB) |
Ext3 | Ext2 文件系统的升级版本,最大的区别就是带日志功能,以便在系统突然停止时提高文件系统的可靠性。支持最大 16TB 的分区和最大 2TB 的文件 |
Ext4 | Ext3 文件系统的升级版。Ext4 在性能、伸缩性和可靠性方面进行了大量改进。Ext4 的变化可以说是翻天覆地的,比如向下兼容 Ext3、最大 1EB 文件系统和 16TB 文件、无限数量子目录、Extents 连续数据块 概念、多块分配、延迟分配、持久预分配、快速 FSCK、日志校验、无日志模式、在线碎片整理、inode 增强、默认启用 barrier 等。它是 CentOS 6.3 的默认文件系统 |
xfs | 被业界称为最先进、最具有可升级性的文件系统技术,由 SGI 公司设计,目前最新的 CentOS 7 版本默认使用的就是此文件系统。意外宕机时可以快速恢复可能被破坏的系统;强大的日志功能只要花费极地的计算和存储性能;最大可以支持18EB的存储容量 |
swap | Linux 中用于交换分区的文件系统,swap分区在系统的物理内存不够用的时候,把硬盘内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中 |
NFS | 网络文件系统(Network File System)的缩写,是用来实现不同主机之间文件共享的一种网络服务,本地主机可以通过挂载的方式使用远程共享的资源 |
iso9660 | 光盘的标准文件系统。Linux 要想使用光盘,必须支持 iso9660 文件系统 |
fat | Windows 下的 fatl6 文件系统,在 Linux 中识别为 fat |
vfat | Windows 下的 fat32 文件系统,在 Linux 中识别为 vfat。支持最大 32GB 的分区和最大 4GB 的文件 |
NTFS | Windows 下的 NTFS 文件系统,不过 Linux 默认是不能识别 NTFS 文件系统的,如果需要识别,则需要重新编译内核才能支持。它比 fat32 文件系统更加安全,速度更快,支持最大 2TB 的分区和最大 64GB 的文件 |
ufs | Sun 公司的操作系统 Solaris 和 SunOS 所采用的文件系统 |
proc | Linux 中基于内存的虚拟文件系统,用来管理内存存储目录 /proc |
sysfs | 和 proc —样,也是基于内存的虚拟文件系统,用来管理内存存储目录 /sysfs |
tmpfs | 也是一种基于内存的虚拟文件系统,不过也可以使用 swap 交换分区 |
overlay | overlayfs文件系统类似于aufs,相比aufs,overlay实现更简洁,很早就合入了linux主线, 合入主线后overlayfs修改为overlay。docker 使用overlay文件系统来构建和管理镜像与容器的磁盘结构。挂载命令:mount -t overlay overlay -o lowerdir=./lower,upperdir=./upper,workdir=./work ./merged |
NFS网络文件系统
是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,能使使用者访问网络上别处的文件就像在使用自己的计算机一样。对于目标板资源有限或者需要大量拷贝程序到目标板调试。
JFFS2文件系统
flash文件系统,基于MTD驱动程序,是第二代日志闪存文件系统,主要应用在NOR flash,并提供耗损均衡技术。缺点是当文件系统变满时,因为垃圾收集的增多导致运行速度会受影响。JFFS2文件系统挂载时会扫描整个flash中的内容。
cramfs文件系统
flash文件系统,基于MTD驱动程序,是一个简单小巧的文件系统,可以对文件进行压缩,很适合放到小容量的ROM中,Cramfs属于一种只读压缩文件系统。Cramfs速度快效率高,由于只读特性可以保护文件系统免受破坏。
Ext2文件系统
linux系统最常用的文件系统
Ext3文件系统
是一个强大、高性能和健壮的日志文件系统,Ext3是ext2的扩展,添加了日志功能。使用日志技术会对文件系统所做的每次操作都会记录到一个特殊的文件中,文件系统可以从已知的日志点恢复。
Ext4文件系统
是建立在ext3文件系统上,也是一个日志文件系统,针对ext3问题进行了一系列补丁。现在越来越多性能强的硬件搭载linux系统的文件系统选用ext4。Ext4文件系统大小可以达到1EB,并支持最大为1024GB的单个文件。如果你的嵌入式系统需要支持大型高效的日志文件系统,可以选择ext4。
linux系统框架