(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文件来查看当前挂载中的文件系统 由于时间原因,最后这几篇写的比较粗糙,望读者见谅,后面会及时补充。
';