深入理解Linux文件系统与日志分析

目录

inode和block概述

目录文件的结构

硬链接与软链接

案例:恢复EXT类型的文件

恢复XFS类型的文件

日志文件

inode和block概述

文件数据包括元信息与实际数据

文件存储在硬盘上,硬盘最小存储单位是“扇区”,每个扇区存储512字节

block(块)

连续的八个扇区组成一个 block(4096b)

示例:5Kb 就需要2个block

是文件存取的最小单位

inode(索引节点)

中文译名为“索引节点”,也叫i节点

用于存储文件元信息

CentOS 5→ext3

CentOS 6→ext4

CentOS7→xfs CentOS7系统中默认使用XFS类型格式

文件系统类型都是向下兼容

在系统中,不能直接将内容直接写入硬件设备文件,必须要通过挂载点将数据变相的写入文件

inode 包含很多的文件元信息,但不包含文件名

文件的字节数

该文件对应的节点号(inode号)

文件拥有者的 UserID(用户)

文件的GroupID (所属组)

文件的读、写、执行权限

文件的类型

文件的时间戳

该文件或某陆存放在磁盘的位置

stat命令可以查看某个文件的inode信息

如:stat aa.txt

ls -i a.txt 只查看这个a.txt对应的(inode)节点号

Linux 系统文件有三个主要的时间属性

ctime(change time);atime(access time);mtime(modify time)

ctime(change time) 是最后一次改变文件或目录(属性)的时间,例如执行 chmod,chown 等命令

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

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

目录文件的结构

创建目录的目的就是为了更好的组织文件

一般在linux系统中,系统识别每一个文件和目录的时候,识别的不是文件目录名,识别的是inode节点号,创建文件或目录时,系统会自动分配一个inode节点号

目录也是一种文件

目录文件的结构

每个inode都有一个号码,操作系统用inode号码来识别不同的文件

Linux系统内部不使用文件名,而使用inode号码来识别文件

对于用户,文件名只是inode号码便于识别的别称

用户通过文件名打开文件时,系统内部的过程

1.系统找到这个文件名对应的inode号码

2.通过inode号码,获取inode信息

3.根据inode信息,找到文件数据所在的block,读出数据

硬盘分区后的结构

访问文件的简单流程

inode也会消耗硬盘空间

每个inode的大小

一般是128字节或256字节

格式化文件系统时确定inode的总数

使用df -i命令可以查看每个硬盘分区的inode总数和已经使用的数量

inode的特殊作用

由于inode号码与文件名分离,导致一些Unix/Linux系统具有以下的现象

当文件名包含特殊字符,可能无法正常删除文件,直接删除inode,也可以删除文件

移动或重命名文件时,只改变文件名,不影响inode号码

打开一个文件后,系统通过inode号码来识别该文件,不再考虑文件名

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_841103495

你的鼓励将是我创作做大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值