深入理解文件系统和软硬链接

1.再谈文件系统

下面的这个图我觉得对于我们建立对于文件系统的整体的认识是非常重要的,从上到下是环环相扣的,分别是:

1)磁道,扇区,柱面之间的关系的理解

2)扇区作为数组里面的数据的时候,实际上这个就是 LBA 地址,就是通过下标找到对应的扇区

3)几个扇区可以组成一个块

4)不同的块我们可以拼接成为一个分区,也就是一个分区里面可以包含很多块

5)针对于分区里面,我们可以划分不同的组,每一个组内部的事情搞清楚了,那么进行迁移,这个分区以及其他的分区我们都搞清楚了;

下面我们了解一个组里面的具体的属性信息:

1)disk 就是磁盘,磁盘里面存在着不同的分区,比如我们的笔记本上面的 CD 实际上就是不同的分区,只有一块磁盘实际上

2)然后就是针对于一个分区里面有很多组,每一组里面有很多的属性

3)重点标注的 GDT 以及 inode,inode table,实际上 inode 代表的就是一个文件的相关的属性的即可,table 表示的是聚集的所有的文件的 inode;

4)两个位图我们需要注意

block 位图:记录我们的 block 里面的块占用的情况;

inode 位图:记录的是我们的文件 table 里面 inode 的空间是不是可用的;

我们想要删除文件,只需要把这个 inode 问题里面的指定数值进行修改即可,我们想要删除数据,只需要把这个 block 问题里面的指定数值进行修改即可,这样我们的系统就找不到了;

2.关于目录

磁盘上面的文件系统,只认识 inode,至于上面说的这个目录,实际上在 linux 里面也是被映射成为 inode,也就是说,目录也是存在对应的 inode 和数据的;

之所以我们使用文件名,而不是 inode,是因为我们使用的文件名和 inode 之间存在设映射关系,我们通过输入文件名字,系统会自动进行这个映射关系的解析,找到这个对应的 innode 属性信息,找到对应的文件;

文件名没有保存到这个 inode 里面,实际上这个文件的名字保存在这个文件的所属的目录的数据内容 block 里面的某一个块里面呢;

3.软链接和硬链接

下面的这个是相关的笔记,软链接和硬链接相关的:

1)软链接类似于我们的 windows 上面的快捷方式

2)硬链接实际上就是建立新的映射关系,因为硬链接和原来的文件的 inode 是一样的,不是独立的文件,主要的作用就是对于文件进行备份;

其次就是我们在 linuxlimiande.和..表示的是当前文件夹和上一个文件夹,实际上都是硬链接,我们可以通过这个判断出来这个文件夹下面的文件的数量根据这个打印出来的数据减去 2 即可;

相关推荐
武子康1 天前
大数据-209 深度理解逻辑回归(Logistic Regression)与梯度下降优化算法
大数据·后端·机器学习
maozexijr1 天前
Rabbit MQ中@Exchange(durable = “true“) 和 @Queue(durable = “true“) 有什么区别
开发语言·后端·ruby
源码获取_wx:Fegn08951 天前
基于 vue智慧养老院系统
开发语言·前端·javascript·vue.js·spring boot·后端·课程设计
独断万古他化1 天前
【Spring 核心: IoC&DI】从原理到注解使用、注入方式全攻略
java·后端·spring·java-ee
毕设源码_郑学姐1 天前
计算机毕业设计springboot基于HTML5的酒店预订管理系统 基于Spring Boot框架的HTML5酒店预订管理平台设计与实现 HTML5与Spring Boot技术驱动的酒店预订管理系统开
spring boot·后端·课程设计
不吃香菜学java1 天前
spring-依赖注入
java·spring boot·后端·spring·ssm
ja哇1 天前
Spring AOP 详细讲解
java·后端·spring
南部余额1 天前
Spring Boot 整合 MinIO:封装常用工具类简化文件上传、启动项目初始化桶
java·spring boot·后端·文件上传·工具类·minio·minioutils
海南java第二人1 天前
Spring Bean生命周期深度剖析:从创建到销毁的完整旅程
java·后端·spring
QQ19632884751 天前
ssm基于Springboot+的球鞋销售商城网站vue
vue.js·spring boot·后端