Linux自学之旅-基础命令(Ext4文件系统)

Linux自学之旅-基础命令(Ext4文件系统)


前言

1.上一节我们讲述了文件操作命令的head、tail、ln命令,顺带讲述了什么是硬链接和软链接,而且我在上一节中有讲到Inode和Block。

2.这一节我们暂时不讲命令,先来讲讲Linux下的Ext4文件系统,它的工作原理,还有Inode和Block暂时了解一下这两个是什么


提示:以下是本篇文章正文内容

一、Ext4文件系统?

还记得我们的硬盘嘛,是不是刚拿到的时候要先进行磁盘分区,然后分区完之后,我们是不是要格式化,格式化的作用是什么呢?是不是写入文件系统,我们Centos7.x以下的版本中都是使用的“Ext”文件系统,而在我们Centos6.6中使用的是Ext4的文件系统。
所以可以理解为我们Centos6.6中格式化写入的是Ext4的文件系统。
(具体Linux各种文件系统对比或者好处,得等我们稍微学深入一点再去了解更好)

二、Ext4文件系统如何工作?

首先我们的Ext4文件系统会将分区划分为两个区域,小部分用来保存Inode,大部分用来保存Block,如图,虽然画工有点渣,不过大概可以看成是Ext4文件系统的格式
在这里插入图片描述

1.Inode

Inode默认大小是128字节,Inode主要是用来存储{

1.文件的权限(权限过几节再说)
2.文件的所有者
3.文件的所属组
4.文件的大小
5.文件的(最后一次)访问时间、数据修改时间、状态修改时间
6.Block编号
(每个文件都对应一个Inode)
}

2.Block

(通过Inode找到)

文件的实际数据都保存在我们的Block中,每个Block拥有自己的Inode,每个Block大小在我们Ext4中默认为4KB
(举个例子,当我们要存储一个10KB的数据时候,我们知道了一个Block大小是4KB,所以我们要存储这个10KB的数据的话,必须要用到3个Block,那么这时候,我们发现3个Block是12KB,而我们的数据只有10KB,这时候的话剩下的2KB实际上是不能存储数据的了,就是说下次存储数据的时候,会优先选择新的Block,而不是接着这个没用完的Block继续用。)------然后这里提一下,Block存数据的话不一定是顺序存的,就是你这个10KB的数据可能并不是一排连续的Block一起存的,可能存的时候是分散的,一个在第一个,一个在第四个都可能。


总结

那么我们可以总结一下{

1.我们知道了每个文件都有一个自己对应的Inode,只有通过Inode才能找到Block,知道了Block才能知道实际的数据。

2.然后还有一个点,就是我前面没提到的文件名称,我们的文件名名称都是保存在当前目录下的Block中(就是比如说你的当前目录是在/tmp/下,然后你目录下有个文件叫se.txt,那么你这个文件的文件名称是保存在你的tmp目录的Block中的)

3.所以我们要想在某个目录中找到一个文件,我们可以通过你这个目录的Block中的对应文件名称得知我要找的这个文件的Inode,然后通过这个知道的Inode我们就可以找到我们想要的文件的Block。
}

猜你喜欢

转载自blog.csdn.net/qq313088385/article/details/112701336
今日推荐