linux系统上的文件管理
admin
2023-02-25 18:00:02
0

一、 inode、data block与super block

1. inode用于记录文件的属性与权限等信息;一个文件占用一个inode,同时inode还记录了该文件的data block的位置。inode的大小有128、256字节两种规格。

2. data  block:用于存储文件的实际内容。块大小为1K、2K、4K字节三种规格。

3. super block: 记录文件系统的整体信息,包括了inode与data block的总量、已使用量、剩余的旦、卷标、文件系统格式等相关的信息。可以使用tune2fs -l  Partition_Name来查看。


注意:以ext2文件系统为例,对于128字节的inode,除了存储文件的权限属性等信息外,只能存12个4字节的文件指向的数据块号码。那对于一个大文件来呢,需要几十上百万个数据块来存放文件内容。这个怎么弄?其中inode除了12个直接的数据指向以外,还有一个间接、一个双间接、一个三间接的记录区。所谓间接的意思就是inode的直接指向会指向一个数据block,这个block不存数据,而是存放的文件的数据块的号码。对于1K大小的数据块,可以存储256个指向。而256个数据区块,可以存储的文件大小为256KB;双间接可以存储64MB数据,三间接可以存储16G大小的文件;     对于2K和4K大小以及其他文件系统,算法不相同。但都借用了数据区块来存放数据区块号。



二、 文件是如何存取的

每个文件系统在其内部划分了多个block group,而每个block group内又包括了以下几个内容:

1. super block:   inode与数据区块的总量,剩余的数量,inode与数据区块的大小,保留等信息。第一个块组肯定有超级块,后续的块组,有的有,有的没有。

2. 文件系统描述: 描述区块群组的开始与结束的区块,以及说明每个区段(超级区块、对照表、inode对照表、数据区块)分别介于哪一个区块之间,这部分也能用dumpe2fs来查看。

3. block bitmap:用于记录哪些block是空的,哪些是已经使用的。

4. inode bitmap:  用于记录哪些inode是空的,哪些是已经使用的。

5. inode table:  用于存储文件属性以及该文件数据区块号码

6. data block: 用于存储文件的实际内容。


存取文件时,先检查用户对目录是否有写和执行权限;接着系统通过inode bitmap查询哪些inode表是空的,将新文件的属性写入空的inode表;根据block bitmap查找哪些data block是空的,是空的则可以将文件内容写入到这些block中;更新inode bitmap以及block bitmap,并更新超级块的信息。


三、 系统如何通过路径读取文件内容

举例说明,查找/etc/passwd文件

1. 先查找/的inode号码,/的inode里有记录/对应的data block;

2. 在/的data block中找到etc目录对应的inode

3.  读取etc目录对应的inode表中,找到etc目录的数据块

4. 在etc目录的数据块中,找到passwd文件的inode号码

5. 读取passwd文件的inode中数据块指向,并将内容读取出来。


总结: 从根目录开始,先找inode,通过inode找到对应的数据区块;在数据区块中,分两种情况:1. 该文件是目录,则数据区块记录了其下属子目录及文件的文件名以及对应的inode; 2. 该文件是非目录文件,则数据区域记录了文件的内容。   通过inode--->block--->inode--->block依次循环来读取文件。在这个过程中,需要检查用户对目录及文件的权限。



四、 硬链拉与软链接

1. 硬链接是指向同一个inode的多个文件路径; 目录不支持硬链接,不能跨文件系统,创建硬链接会增加inode计数。

2. 软链接指向的是文件实际的访问路径,可以跨文件系统,支持对目录创建软链接,删除软链接不会影响原文件。


五、 MBR

存储设备的第一个扇区,也就是最前面的512字节,叫做入引导记录


1. 主引导记录的结构

主引导记录只有512字节,放不了太多东西,它的主要作用是告诉计算机到硬盘的哪一个位置去找操作系统。

主引导记录由以下3个部分组成:

A. 第1-446字节:调用操作系统的机器码

B. 第447-510字节:分区表 (Partition  table)

C. 第511-512字节:主引导记录签名(0X55和0XAA)


2. 分区表

硬盘分区有很多好处,考虑到每个区可以安装不同的操作系统,主引导记录呢须知道 将控制权转交给哪个区。

分区表的长度只有64字节,里面又分成4项,每项16字节。所以一个硬盘 最多只能分4个一级分区,又叫作主分区。每组的记录区主要记录了该区段的起始与结束的柱面号码。

每个主分区的16个字节由以下6部分组成:

A. 第1个字节,如果为0X80,就表示该主分区是激活分区,控制权要转交给这个分区。4个主分区里面只能有一个分区是激活的。

B. 第2-4字节:主分区第一个扇区的物理位置(柱面、磁头、扇区号等)

C. 第5字节:主分区类型

D. 第6-8字节:主分区最后一个扇区的物理位置

E. 第9-12字节:该主分区第一个扇区的逻辑地址

F. 第13-16字节:主分区的扇区总数。


最后的4字节(主分区的扇区总数)决定了这个主分区的长度,也就是说,一个主分区的扇区总数最多不超过2的32次方。

如果每个扇区为512字节,则意味着单个分区最大不超过2TB。再考虑到扇区的逻辑地址也是32位,所以单个硬盘可利用的最大空间也不超过2TB。如果想再使用更大的硬盘,只有两个方法:一是提高每个扇区的字节数,二是增加扇区总数。


六、 文件名存储在哪里,文件的属性存储在哪里

1. 目录也是文件;

2. 文件的文件名存储在目录的数据块中;

3. 文件的属性,权限等信息存储在inode中;

相关内容

热门资讯

人民日报刊文:扫码用餐 吃得“... 河南信阳推进公务接待改革扫码用餐 吃得“明白”(厉行节约 反对浪费)本报记者 王乐文 毕京津《人民日...
活动回顾:心灵律动·刚柔共生 心灵律动 - 活动回顾 - “五一”期间, 东莞市工人文化宫连续举办了两场 “心灵律动·刚柔共生”心...
商业航天政策利好 全国首个卫星... 来源:21世纪经济报道 21世纪经济报道记者周慧 5月6日,工业和信息化部官网消息称,工业和信息化部...
伊朗确认前往美国参加世界杯:将... 当地时间5月6日,伊朗国家足球队主教练在接受采访时表示,伊朗国家足球队将于美加墨世界杯开始前14天抵...
雷达、机库、营房、燃料库、飞机... 据《华盛顿邮报》5月6日报道,通过卫星影像分析发现,自2月28日战事爆发以来,伊朗空袭已在中东美军军...
从买买买到租租租,“租用一代”... “五一”假期还在路上,年轻人已经“租”起来了。 “租三天,不到300块钱。”五一放假前一周,清清已给...
【品牌】摩托罗拉大折叠屏新机定... 此前联想预热将于5月19日19点举行联想天禧AI一体多端全场景新品超能之夜活动,届时将带来多款新品,...
常州欣隽益取得接线端子用快速冲... 国家知识产权局信息显示,常州欣隽益科技有限公司取得一项名为“接线端子用快速冲切装置”的专利,授权公告...
美媒:特朗普在结束伊朗战争问题... 据“国会山”网站5月6日报道,周二晚间,美国总统特朗普突然宣布终止旨在打破伊朗对霍尔木兹海峡掌控的军...
和创硅材料取得熔融石英制品擦洗... 国家知识产权局信息显示,东海县和创硅材料有限公司取得一项名为“一种熔融石英制品的擦洗脱泥装置”的专利...