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

inode与block概述

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

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

block(块)

连续的八个扇区组成一个block

是文件存取的最小单位

inode(索引节点)

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

用于存储文件元信息

文件的各种信息:权限、属主、属组、创建日期、文件大小等,但不包含文件名

数据:文件编写的内容

一个文件必须至少有一个blok,必须占用一个inode(索引节点),不包含文件名

inode的内容

 

inode包含文件的元信息

文件的字节数

文件拥有者的User ID

文件的Group ID

文件的读、写、执行权限

文件的时间戳

…………(同样当然不包括文件名

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

 也可以用ls -i查询inode号

显示总的inode 号信息

 

总结:

inode 节点元信息(文件属性:文件大小、权限、时间戮)block块的大小数据文件:编写文件的内容文件数据 存在块中文件元信息 存在inode 

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

ctime(change time)

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

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

 mtime(modify time):最后一次修改文件或目录(内容)的时间(这两个都会改变)

 cp复制后inode改变

 mv移动后inode不变

 目录文件的结构

目录也是一种文件              

文件名1inode号码1
文件名2inode号码1          
................这边每一行称为一个目录项

目录文件的结构

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

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

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

inode的号码

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

  1. 系统找到这个文件名对应的inode号码
  2. 通过inode号码,获取inode信息
  3. 根据inode信息,找到文件数据所在的block,读取数据

查看inode号码的方法

ls -i命令:查看文件名对应的inode号码

stat命令:查看文件inode信息中的inode号码(上方已演示)

访问数据走向的流程

 删除inode号是否能删除文件

 第二种删除(delete)

注:(无法用rm直接删除) 

文件存储小结

硬盘分区后的结构

访问文件的简单流程

 

 系统找到这个文件名对应的inode号码,判断用户是否有权限,若有权限则通过inode值, 获取inode信息,根据inode信息,找到文件数据所在的block,读出数据;若没有权限则会给出拒绝访问回馈。

inode的大小

inode也会消耗硬盘空间

每个inode的大小

一般是128字节或256字节

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

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

inode的特殊作用

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

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

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

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

磁盘空间满后的实验

1、搞一个磁盘

 2、格式化并挂载,然后查看一下是否挂载成功

 

3、切换到目录,创建文件,超出(1-7700) 

 

 

 

 

 因为磁盘分区的空间满了无法创建

4、随机删除一些文件

 5、删除一个即可以创建一个新的

 

链接文件

为文件或目录建立连接文件

连接文件分类

软链接硬链接
删除原始文件后失效仍旧可用
使用范围适用于文件或目录只可用于文件
保存位置与原始文件可以位于不同的文件系统中必须与原始文件在同一个文件系统(如一个Linux分区)内

 硬链接
ln 源文件 目标位置

软链接
ln -s 源文件或目录… 链接文件或目标位置

 案例:恢复EXT类型的文件

编译安装extundelete软件包

安装依赖包
   e2fsprogs-libs-1.41.12-18.el6.x86_64.rpm
   e2fsprogs-devel-1.41.12-18.el6.x86_64.rpm
配置、编译及安装
extundelete-0.2.4.tar.gz2

模拟删除并执行恢复操作

 p看一下

 

 

 

 

解压

 切换到这个包

 

 

 

 

 

 

 

 

 

 

 

 

 

 案例:恢复XFS类型的文件

xfsdunp命令格式

xfsdump -f备份存放位置,要备份的路径或设备文件

xfsdump备份级别(默认为00)

0:完全备份
1-9:增量备份
xfsdump常用选项

-f:指定备份文件目录
-L:指定标签session label
-M:指定设备标签media label
-s:备份单个文件,-s后面不能直接跟路径
xfsrestore命令格式

xfsrestore -f 恢复文件的位置 存放恢复后的文件的位置
xfsdump使用限制

只能备份已挂载的文件
必须使用root的权限才能操作
只能备份XFS文件系统
备份后的数据只能让xfsrestore解析
不能备份两个具有相同UUID的文件系统(可用blkid命令查看)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值