linux创建文件系统,linux文件查找/创建/删除/移动/复制概念介绍

2023年 7月 16日 44.2k 0

创建文件系统:
要在一个分区实现文件管理,能够把每一个存储在这些空间中的数据流单独区隔开来,以文件方式进行管理,就需要在磁盘上面创建文件系统。创建文件系统也就是对磁盘的格式化
格式化分为两类:高级格式化,和普通格式化
高级格式化也就是我们创建文件系统的过程,大多数普通格式化都不需要用户手动进行,而是由磁盘厂商定义好的
高级格式化会将磁盘分成两个区:数据区域/原数据区
原数据区(类似索引目录):存储目录索引,而数据是存放在数据区域的,每一个文件大多数都有磁盘块对应存储数据的,目录也有
一个文件查找的过程
/var/logs/messages
根的inode --> 根目录对应的磁盘块 --> var对应的inode编号 --> 查inode table, 找到编号对应的inode --> var目录的磁盘块 --> logs 的inode编号 --> 查inode table, 找到logs目录的inode --> logs目录的磁盘块 --> 找到messages文件名对应的inode编号 -->查inode表,找到messages的inode编号对应的inode --> messages的磁盘块

一个文件的创建过程
当我们在创建一个文件时,这个文件一定是建在某一个目录之上的,文件有文件名,所以,先找到那个准备创建文件的目录的磁盘块,在这个目录上把这个文件名存放下来,接着,这个文件名应该存放的inode编号,如果没有编号,回到inode表中找到一个空闲的inode存储,这个文件的属组属主数据存放此inode,在之后找空闲磁盘块存放数据,一次分八个磁盘块,导入数据,如果没有使用完八个将退回多余的,把此次导入的大小位置存放于inode表中。这个文件以及存储完毕。意味着创建完成

一个文件的删除过程

为了加速整个文件的创建和回收过程,inode表条目都存在,没被分配出去只是空的没有存储数据而已,数量大小已经划分完毕的。块也一样,分占用和空闲。由此,删除便是把inode指为空闲,把inode指向的磁盘块,标为空闲就OK了。 当我们复制一个文件需要几分钟或者更长或更短,而删除只需要一瞬间就是这个道理,当我们在向里面写入数据时,之前的数据将被覆盖掉了。磁盘块也一样,删除仅仅是把磁盘块标记空闲,磁盘块的数据并没有动过。这便是为什么数据删除之后还能被恢复回来的原因。但是,就算在写入数据,有些高级技术还是可以恢复的,陈老师的磁盘就是一个例子。这个故事告诉我们数据的恢复取决于对数据的兴趣。

复制移动的过程:
同分区:
复制一个文件相当于新建一个文件,并向里面填充原有数据的过程。不是同一个inode的。
移动一个文件,先复制后移动并创建inode,磁盘块不变,再删除原文件inode。
不同分区:
跨分区移动相当于新建一个文件的过程。

 

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论