Unix/Linux文件系统
什么是文件系统?
文件系统是以合理有效的层次结构组织的文件和目录的集合。
Linux系统特性
- “一切皆是文件”,在Linux系统中,无论是普通文件、目录、设备(字符设备、块设备)、套接字,都是文件。
- 类型不同的文件都通过相同的API操作。
- Unix/Linux允许不同的文件系统共存,常见的文件系统(ext2/ext3/ext4/xfs/btrfs)
- 跨文件系统
cp
Linux和windows的比较和区别
虚拟文件系统vfs
vfs是Linux内核中的一个软件层;vfs是应用层和不同文件系统之间的一个桥梁 ,其定义了所有文件系统都支持的抽象接口和数据结构,对于不同的文件系统(ext2,ntfs等),.实现vfs定义的抽象接口和数据结构,将自身的诸如文件、目录等概念在形式上与vfs定义的保持一致,在统一的接口和数据结构下隐藏了具体实现的细节。
- 对内部文件系统实现抽象,允许不同的文件系统共存;
- 对外部应用层体统一个统一的操作文件的接口。
例如,有三个分区,每个分区的文件系统不同,当用户使用read()
等应用层的函数操作文件的时候,并不需要知道操作的分区使用的文件系统类型,通过vfs提供的API操作文件,vfs根据用户操作分区的类型,完成对应文件的操作。
vfs的数据结构
- 超级快
- 索引节点
- 目录项
- 文件对象
更多关于文件系统的注册和卸载等查阅相关的书籍或者观看Linux教学视频。