文件基本操作¶
首先,我们基于文件系统逻辑组成部分对常见的文件操作进行深入理解:
创建文件
:文件名为/etc/rc.d/init.d- 先在磁盘上找一段空闲的磁盘块,在inode区建立其磁盘块地址与新建inode号的对应表
- 然后找到存放rc.d目录内容(该内容是一个文件名与inode号组成的索引表)的磁盘块
- 在该目录索引表中添加init.d文件名和新建inode号的对应关系
不彻底删除文件
- 删除inode区的文本内容存放块地址与inode号的对应关系
- 删除文件上一级目录文件(索引表)中的待删除文件的文件名与inode号的对应关系
- 文件本身存储在数据区的内容不做改变。
粉碎文件
- 删除inode区的文本内容存放块地址与inode号的对应关系
- 删除文件上一级目录文件(索引表)中的待删除文件的文件名与inode号的对应关系
- 将文件本身存储在数据区块中的数据用其他数据覆盖填充,破坏原来的数据。
同分区下的复制文件
:将/etc/fstab复制到/etc/Fstab- 在inode区新建一个inode号与存储/etc/fstab内容的块地址相对应
- 在etc目录文件(索引表)中添加Fstab文件名与新建inode号的对应关系
同分区下的移动文件
:将/etc/fstab移动到/etc/Fstab- 先删除etc目录索引表中fstab文件名与inode号(该inode号与存放fstab文件内容的磁盘块地址相对应)的对应关系
- 然后在home目录索引表中添加该inode号与Fstab文件名的对应关系
跨分区复制文件
:将/etc/fstab复制到/home/Fstab- 先在目标分区上划分一段空闲的磁盘块,建立好Fstab文件名与inode号,inode号与块地址的对应关系
- 然后访问/etc/fstab文件,将其内容复制到之前划分好的磁盘块中
跨分区移动文件
:将/etc/fstab移动到/home/Fstab- 先在目标分区上划分一段空闲的磁盘块,建立好Fstab文件名与inode号,inode号与块地址的对应关系
- 然后访问/etc/fstab文件,将其内容复制到之前划分好的磁盘块中
- 最后将fstab文件名与inode号,inode号与磁盘块地址之间的对应关系删除
综上所述,对文件的管理基本上是对inode区以及目录索引表的操作,磁盘块中存放的文本数据要么不动,要么就是对其进行数据覆盖。
注意:以上所有关于删除inode号与磁盘块地址的对应关系可以直接通过将inode位图中该inode号对应的位置0实现,表示该inode号是空闲的,可以随意对其对应的磁盘块进行数据覆盖;每新建一个inode号与磁盘块地址的对应关系时,需要将inode位图中该inode号对应的位置1,表示该inode号已被占用。