目录
一、文件在磁盘当中是如何进行存储的(ext2)
-
1.1保存方式:
- 肯定不是线性保存,线性保存会产生内存碎片,一定是离散保存,文件在存储时会分成一小块一小块的碎片,在用的时候会拼接起来
-
1.2.ext2文件系统:
我们先来看看ext2文件系统里面的内容:
Block Group:
ext2文件系统会根据分区的大小划分为数个Block Group。而每个Block Group都有着相同的结构组成。类似于政府管理各区的例子

超级块(Super Block)

GDT,Group Descriptor Table:
- 块组描述符,描述块组属性信息
块位图(Block Bitmap):
- Block Bitmap中记录着Data Block中哪个数据块已经被占用,哪个数据块没有被占用
被占用的话:bit位为1
没有被使用的话:bit位为0

- inode位图(inode Bitmap):
- 每个bit表示一个inode是否空闲可用。
i节点表(inode table):ll -i 可查看inode节点号
- 存放文件属性 如 文件大小,所有者,最近修改时间等,存放文件到底存储在磁盘的Data blocks区域当中的哪些block当中。
- 数据区(Data blocks):
- 存放文件内容

二、如何取存储一个文件&如何获取一个文件

创建新文件的4个主要操作:

ls -i 命令能罗列出文件的inode节点号

有两部分有效信息,第一部分是inode节点号,第二部分是文件名称

我们在执行vim hello.c想打开这个文件的时候就是通过这个文件名去找到他的inode节点号,从而去磁盘中的进行搜索关于这个文件的内容,把文件内容读回来展示给我们。
三、.软链接文件:
软链接就相当于快捷方式
3.1.生成:
- ln -s 源文件 软连接文件
我们先来写一个1.txt文件


再执行软链接命令

可以发现生成的软链接文件 1.txt_ln文件是指向 1.txt的
3.2注意事项:
- 1.修改软连接文件,源文件也会被修改,修改源文件软链接文件也会被修改。
- 2.源文件如果被删除,软连接文件还在的话, 修改软连接文件,会重新建立源文件,源文件中的内容和修改的软连接内容一样,重新建立链接关系(这种要慎重)

四、硬链接文件:
硬链接文件其实就是目标文件的替身
-
4.1生成:
- ln 源文件 硬连接文件
4.2 特性:

1、我们可以发现,硬链接文件的inode节点号和源文件一致
2、硬链接文件的前面并不算l开头的,他本质上就是一个普通文件

3、先将源文件删除,再修改硬链接文件,源文件并不会重新生成
本文介绍文件在ext2文件系统中的存储原理,包括离散保存方式、超级块与块组描述符等内容。此外还讲解了如何存储及获取文件,并探讨了软链接与硬链接的创建方法及其特性。
1540

被折叠的 条评论
为什么被折叠?



