Linux VFS文件系统


父目录:linux文件系统

Linux VFS文件系统

回到顶部

linux传统的标准文件系统是ext家族,包括早期的ext2,以及增加了日志功能的ext3/ext4。 事实上,Linux支持的文件系统可不止ext文件系统,linux可以支持非常多的文件系统,常见的有:
传统文件系统:ext2、minix、MS-DOS、FAT(通过vfat 模块)、iso9660(光盘)等;
日志式文件系统: ext3、ext4、ReiserFS、Windows' NTFS、IBM's JFS、SGI's XFS、ZFS等;
网络文件系统: NFS、SMBFS等。
inode结构示意图 可通过如下方式查看linux支持的文件系统:

            [root@initroot ~]# ls -l /lib/modules/$(uname -r)/kernel/fs
            
/proc/filesystems文件记录了目前系统中已经安装的文件系统:
              [root@initroot ~]# cat /proc/filesystems
              nodev	sysfs
              nodev	rootfs
              nodev	ramfs
              nodev	bdev
              nodev	proc
              nodev	cpuset
              nodev	cgroup
              nodev	cgroup2
              nodev	tmpfs
              nodev	devtmpfs
              nodev	configfs
              nodev	debugfs
              nodev	tracefs
              nodev	securityfs
              nodev	sockfs
              nodev	dax
              nodev	bpf
              nodev	pipefs
              nodev	hugetlbfs
              nodev	devpts
                ext3
                ext2
                ext4
                squashfs
                vfat
              nodev	ecryptfs
                fuseblk
              nodev	fuse
              nodev	fusectl
              nodev	pstore
              nodev	mqueue
                btrfs
              nodev	autofs
              nodev	vboxsf
            
原来linux支持的文件系统那么多。每个文件系统存取文件的方式都不一样, 那么为什么我们在操作linux下的文件和目录的时候,并没有感觉到不同文件系统的差异呢? 这是因为linux(Virtual Filesystem Switch)内核通过VFS隐藏了不同文件系统的差异, VFS通过对不同文件系统的抽象,为用户提供统一的文件系统操作接口。 有了VFS的管理,我们在读取文件系统的时候就不需要特别指定读取的方式了。 linux下所有的文件系统都通过VFS进行管理,包括下面即将介绍的XFS文件系统。

initroot编辑整理,转载请注明www.initroot.com

100次点赞 100次阅读