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

文章目录

  • 前言
  • 一、Ext4文件系统?
  • 二、Ext4文件系统如何工作?
    • 1.Inode
    • 2.Block
  • 总结

前言

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。
}

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

  1. Linux自学之旅-基础命令(locate命令)

    Linux自学之旅-基础命令(locate文件搜索命令) 文章目录 前言 一.locate使用 二.locate查找过程 总结 前言 1.上一节我们讲述了whereis和which搜索命令,主要说了两 ...

  2. Linux自学之旅-基础命令(shutdown关机重启命令)

    Linux自学之旅-基础命令(shutdown) 文章目录 前言 一.shutdown能做什么? 二.shutdown使用 1.关机 2.重启 总结 前言 1.上一节我们讲述了tar命令用来打包并压缩 ...

  3. Linux自学之旅-基础命令(压缩解压缩命令之bzip2命令)

    Linux自学之旅-基础命令(bzip2命令) 文章目录 前言 一.bzip2命令 二.bunzip2命令 总结 前言 1.上一节我们讲述了第二个压缩包格式gz,还没看的可点击下方链接进入观看:gzi ...

  4. Linux自学之旅-基础命令(mount挂载FAT32文件系统U盘设备文件)

    mount挂载U盘设备文件 文章目录 前言 一.前言 二.挂载使用 前言 1.上一节我们讲述了mount对光盘设备文件进行一个挂载,还没看的可点击下方链接进入观看:mount挂载光盘设备文件 2.这一 ...

  5. Linux自学之旅-基础命令(挂载命令之mount)

    mount挂载命令 文章目录 前言 一.mount命令格式 二.mount特殊选项 三.mount使用 前言 1.上一节我们讲述了查看系统错误登录信息的命令lastb,还没看的可点击下方链接进入观看: ...

  6. Linux最常用的基础命令

    Linux最常用的基础命令个人总结 计算机基础知识: 32bit和64bit系统的区别.系统运行机制 32bit=内存的最大寻址空间是2**32,也就是说最大只能使用4GB的内存 64bit=内存的最 ...

  7. Linux最常用的基础命令 下篇

    Linux最常用的基础命令个人总结 shell脚本 脚本就是:写一堆指令存成一个文本,用于完成一些小任务 a="123" linux中定义一个变量 echo $a echo $b ...

  8. Linux自学笔记 | 10 常用命令 - 压缩解压类

    Linux自学笔记 | 10 常用命令 - 压缩解压类 Linux自学笔记 | 01 文件系统和目录结构 Linux自学笔记 | 02 VIM编辑器的安装与使用 Linux自学笔记 | 03 Linu ...

  9. Linux最常用的基础命令 上篇

    Linux最常用的基础命令个人总结 计算机基础知识 32bit和64bit系统的区别.系统运行机制 1989年python 诞生 C语言是编译型的语言,不太支持跨平台 Django 江购 32bit= ...

  10. Linux让命令居中,Linux 中常用的基础命令

    Linux 中常用的基础命令 ============================================================================== 概述: == ...

最新文章

  1. 获取后台集合并遍历_java集合类汇总,终于出总结了,再也不用担心混淆了
  2. 日志服务Flink Connector《支持Exactly Once》
  3. python文件粉碎传输_python使用stuck 实现scoket编程实现文件传输
  4. Windows 技术篇-设置dns提升网速,刷新dns缓存
  5. python游戏开发工程师_Python开发工程师-入门与实战视频课程
  6. 【转】 VC MFC 钩子 实现 自绘 窗体 标题栏 非客户区
  7. python面试必备-基础篇
  8. 【人脸识别】VGGFace2数据集介绍
  9. SAP License:ABC作业成本法-平行记帐
  10. 怎样打开android设备,在app中打开android设备的存储
  11. SQL Server 2008 修改安装路径
  12. solidworks工程图剖视图没有从默认的A开始解决办法
  13. ArcGIS/ArcMAP操作录屏视频及相关实验数据(行政界线、地名点、道路路网、水系、乡镇/街道面等)
  14. 阿里云服务器DDoS基础防护设置及常见问题
  15. Centos7安装HighGo DB V6企业版
  16. pip3在Ubuntu下的安装、升级、卸载
  17. PHP实现生成推广海报的方法详解
  18. 【电子电路】五款单按键开关机电路图
  19. AE 多进程渲染-命令行-aerender-多cmd窗口实现
  20. 离线识别率高达99%的Python人脸识别系统,开源~

热门文章

  1. 阿里巴巴P3C java编程规范(最新版github下载)
  2. IDE、SCSI、SATA、USB、并口和串口
  3. 运动控制卡应用开发教程之C#
  4. 超市管理系统java_java实现超市管理系统
  5. NSIS 注册DLL OCX
  6. 内连接和外连接的区别和详解(全)
  7. JDK如何安装与配置环境变量
  8. 企业如何从CMMI3升级为CMMI5,有哪些优势?
  9. 录屏音画不同步的快速解决办法
  10. java入门-dos窗口的用法