深入理解Linux文件系统及日志分析 超简单易懂

深入理解Linux文件系统及日志分析一、INODE与BLOCK1.1、inode与block概述1.2、inode的内容二、软连接与硬链接2.1、连接文件三、恢复误删除的文件3.1、EXT类型文件恢复1、下面将介绍使用extundelete工具如何恢复误删除的文件。一、INODE与BLOCK1.1、inode与block概述文件是存储在硬盘上的,硬盘最小存储叫做扇区,每个扇区512字节操作系统读取硬盘信息,不会一个一个扇区读取。实际情况一下连续读取多个扇区,一次性读取多个扇区,叫做块(Block)
摘要由CSDN通过智能技术生成

一、INODE与BLOCK

1.1、inode与block概述

文件是存储在硬盘上的,硬盘最小存储叫做扇区,每个扇区512字节
操作系统读取硬盘信息,不会一个一个扇区读取。实际情况一下连续读取
多个扇区,一次性读取多个扇区,叫做块(Block),这种多个扇区组成的“块”是文件存取的最小单位,最常见的4K,就是8个扇区组成的一个Block块,
512字节*8=4096字节

######为什么说要固态盘要4k对齐####
那为什么有4K对齐?绝大多数机械硬盘默认为512字节扇区,SSD扇区为4K。为了确保与操作系统的兼容性,硬盘制造商还将扇区模拟为512字节扇区。
存在4K扇区和4K簇未对齐的情况。因此,有必要通过4K对齐将硬盘模拟扇区对准到4k扇区。4K对齐的作用是将硬盘扇区与8的整数模拟扇区对齐,即512Bit×8= 4096Bit,4096字节是4K。严格来说,只要它是8的倍数,就可以实现4K对齐。

##############################
文件数据是存储在“块中”,那还必须找一个地方存储文件的元信息。
元信息主要包括文件创建者、文件的创建日期、文件的大小等,这种元信息的区域叫做inode节点也叫做‘索引号’也叫作i节点号,一个文件必须占用一个i节点,至少一个block。

文件的数据包括二部分:1、元信息(inode)2、实际数据(block)

1.2、inode的内容

1)inode包含文件的元信息
●文件的字节数
●文件拥有者的User lD
●文件的Group lD
●文件的读、写、执行权限
●文件的时间戳

2)用stat命令可以查看某个文件的inode信息
●示例: stat aa.txt
在这里插入图片描述
3)Linux系统文件三个主要的时间属性

octime(change time)
◆最后一次改变文件或目录(属性)的时间

atime(access time)
◆最后一次访问文件或目录的时间

omtime(modify time)
◆最后一次修改文件或目录(内容)的时间

4)iniode目录结构
iniode中并不包括文件名,其实文件名是放在目录中的,linux系统中一切皆文件,因此目录也是文件。
文件名1-------inode号码1
文件名2-------inode号码2

5)inode的号码
用户在访问问件时候,表面上是用户通过文件名打开的,而实际系统内部的过程分成三步完成的
1、系统找到文件名的inode号码
2、通过inode号码,获取inode信息
3、根据inode信息,找到文件所在的block,并读取数据
文件名-----对应的inode号码-----inode信息-----找到文件所在的block,读取数据

6)查看inode的号码方式
i-i命令:直接查看当前目录文件名的所对应的inode信息
ls-ai命令:直接查看当面目录的文件及隐藏文件的所对应的inode信息
stat命令:通过查看文件inode信息而查看到inode号码

7)inode的大小
1、inode也会消耗硬盘空间
●每个inode的大小
●—般是128字节或256字节
2、格式化文件系统时确定inode的总数
3、使用df -i命令可以查看每个硬盘分区的inode总数和已经使用的数量

8)indode的特殊作用
1、由于inode号码与文件名分离,导致一些Unix/Linux系统具有以下的现象
●当文件名包含特殊字符,可能无法正常删除文件,直接删除inode,也可以删除文件
●移动或重命名文件时,只改变文件名,不影响inode号码
●打开一个文件后,系统通过inode号码来识别该文件,不再考虑文件名

二、软连接与硬链接

2.1、连接文件

在这里插入图片描述
在这里插入图片描述

三、恢复误删除的文件

3.1、EXT类型文件恢复

删除一个文件,实际上并不清除 inode节点和 block 的数据,只是在这个文件的父目录里面的 block中,删除这个文件的名字。Linux 是通过Link的数量来控制文件删除的,只有当一个文件不存在任何Link 的时候,这个文件才会被删除。在Linux系统运维工作中,经常会遇到因操作不慎、操作错误等导致文件数据丢失的情况,尤其对于客户企业中一些新手。当然,这里所指的是彻底删除,即已经不能通过“回收站”找回的情况,
比如使用“rm -rf”来删除数据。针对Linux下的EXT文件系统,可用的恢复工具有debugts、ext3grep、extundelete等。其中 extundelete是一个开源的Linux数据恢复工具,支持ext3、ext4文件系统。
在数据被误删除后,第一时间要做的就是卸载被删除数据所在的分区,如果是根分区的数据遭到误删,就需要将系统进入单用户模式,并且将根分区以只读模式挂载。这样做的原因很简单,因为将文件删除后,仅仅是将文件的inode 节点中的扇区指针清零,实际文件还存储在磁盘上,如果磁盘继续以读写模式挂载,这些已删除的文件的数据块就可能被操作系统重新分配出去,在这些数据库被新的数据覆盖后,

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值