(15)——文件系统
最后更新于:2022-04-01 14:44:41
## 一、文件结构
为了能在设备上存储与读取文件,我们需要在分区上创立文件系统
文件系统记录目录与文件我们称之为文件结构
每一个文件系统在Linux里都被解释成由一个根目录为起点的目录结构
Linux将各个文件系统挂载在系统目录树中使用
## 二、文件系统
对应不同的操作系统与设备,计算机里有许许多多文件系统
不同的文件系统存放、搜索文件的方式都有不同,所以Windows不能使用Linux硬盘数据。
Linux支持多种文件系统的读写 ,ext2 ext3 MS-DOS VFAT FAT BSD 部分也支持NTFS
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-06-14_575f8bb7c405c.jpg)
df 命令:文件系统的磁盘空间使用情况报告
-T :printType 文件系统类型
-h :磁盘容量以易读的方式显示
还可以列出指定的文件系统类型
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-06-14_575f8bb7d9741.jpg)
Linux自身最主要使用的是ext2/ext3文件系统
整个Linux认识的文件系统其实都是VFS在管理,用户并不需要知道每个分区上的文件系统是什么,VFS会主动帮我们做好读取操作。
## 三、ext2/ext3文件系统
ext2/ext3文件系统支持rwx权限及文件属性
ext2/ext3文件系统采用block+inode的方式存放文件
ext2/ext3文件系统上有一块空间被称为超级块(superblock)用于存放文件系统的元数据,诸如卷标名、block数、inode数等等。
inode存放文件的元数据,包含文件权限、属性、更改时间等等数据(相当于文件或目录的指针)
## 四、ReiserFS文件系统
一个非常优秀的文件系统
可轻松管理上百G的文件系统
先进的日志机制
高效的磁盘空间利用
独特的搜寻方式
## 五、文件属性
在ext2/3文件中,对每一个文件,还提供了额外的属性支持
用户可以用lsattr来检查文件的属性
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-06-14_575f8bb7f048a.jpg)
系统用户可以用chattr来改变文件的属性 + 添加 - 删除
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-06-14_575f8bb80fb2f.jpg)
添加了 i 属性则文件不可以被更改、不可以被重命名、不可以被删除
## 六、ext3文件系统
ext3文件系统即一个添加了日志功能的ext2,可与ext2文件系统无缝兼容
ext2文件系统可以通过增加日志的方式简单的升级为ext3文件系统
ext3文件系统支持三种日志模式
规则(默认,仅记录元数据)
日志化(将数据像元数据一样记录日志)
写回(只在fsck时发生)
## 七、使用文件系统
为了使用一个文件系统,往其中存读文件,用户需要先挂载该文件系统。
挂载文件系统的指令是mount
语法:mount -t 文件系统类型 [其他参数] 设备 挂载点
-t :文件系统类型,用于指定挂载文件系统的类型,现在不需要了,内核可以自动识别
-o:补充追加的参数
ext2文件系统默认采用的参数:rw、suid、dev、exec、auto、nouser、asyno
## 八、/etc/fstab
配置文件系统挂载信息
mount文件系统时若出现的参数不全,系统会从/etc/fstab中读取参数补全
系统启动会参考/etc/fstab中的配置项自动加载文件系统
也被fsck、dump、quotaon、swapon等程序使用
## 九、当前挂载文件系统
用户可以通过直接键入mount后回车来检查当前挂载中的文件系统
用户也可以通过查看/etc/mtab文件来查看当前挂载中的文件系统
由于时间原因,最后这几篇写的比较粗糙,望读者见谅,后面会及时补充。