【AWSL】之Linux文件系统与日志分析(inode、恢复EXT类型的文件、恢复XFS类型的文件)
序言
这里我主要介绍Linux文件系统与日志分析
文件系统与日志分析
- 序言
- 一.inode与block
- 1. 概述
- ①inode的内容
- ②inode号码
- ③文件存储
- ④inode的大小
- ⑤inode的特殊作用
- 二.硬链接与软链接
- 三.恢复误删除的文件
- 1.恢复EXT类型的文件
- 2.恢复XFS类型的文件
- 四.分析日志文件
- 1.日志文件
- 总结
一.inode与block
1. 概述
■文件数据包括元信息与实际数据
■文件存储在硬盘上,硬盘最小存储单位是“扇区”,每个扇区存储512字节
■block(块)
连续的八个扇区组成一个block
是文件存取的最小单位
■inode(索引节点)
用于存储文件元信息
(文件的创建者、创建日期、文件大小、文件权限等)
先调用文件名匹配inode号码,再根据号码调用inode信息内的文件属性(包括文件大小、时间等)
ls -i 文件名 #查看节点号
stat 文件名 #查看节点号
一个文件必须占用一个inode,但至少占用一个(4k)block
①inode的内容
■inode包含文件的元信息
文件的字节数、文件拥有者User ID、文件的Group ID、文件的读写执行权限、文件的时间戳
■用stat命令可以查看某个文件的inode信息
stat aa.txt
■Linux系统文件三个主要的时间属性
ctime 最后一次改变文件或目录(属性)的时间
atime 最后一次访问文件或目录的时间
mtime 最后一次修改文件或目录(内容)的时间
■目录文件结构
目录也是一种文件
目录文件的结构,每一行称为一个目录项
■每一个inode都有一个号码,操作系统用inode号码来识别不同的文件
■Linux系统内部不使用文件名,而使用inode号码来识别文件
■对于用户,文件名只是inode号码便于识别的名称
②inode号码
■用户通过文件名打开文件时,系统内部的过程
系统找到这个文件名对应的inode号码
通过inode号码,获取inode信息
根据inode信息,找到文件数据所在的block,读出数据
■查看inode号码的方法
ls -i命令:查看文件名对应的inode号码:ls -i aa.txt
stat命令:查看文件inode信息中的inode号码:stat aa.txt
③文件存储
■硬盘分区后的结构
文件名➔目录项➔目录块
元信息➔inode➔inode表区块
数据➔block➔block数据块
■访问文件的简单流程
用户访问文件➔系统查看文件对应的inode➔判断用户是否具备访问权限(是➔指向对应的数据block,否➔返回Permission denied)
④inode的大小
■inode也会消耗硬盘空间
每个inode的大小,一般是128字节或256字节
■格式化文件系统时确定inode的总数
■使用df -i(df -iTh)命令可以查看每个硬盘分区的inode总数和已经使用的数量
⑤inode的特殊作用
■由于inode号码与文件名分离,导致一些Unix/Linux系统具有以下现象
当文件名包含特殊字符,可能无法正常删除文件,直接删除inode,也可以删除文件
移动或重命名文件时,只改变文件名,不影响inode号码
打开一个文件后,系统通过inode号码来识别该文件,不再考虑文件名
文件数据被修改保存后,会生成一个新的inode号码
删除包含特殊字符文件方法
:find ./ inum xxxxx(inode号) -exec rm -i {} ;
find ./ inum xxxxx(inode号) -delete
二.硬链接与软链接
符号链接(软硬链接)
硬链接:ln 源文件 目标文件
软链接:ln -s 源文件或目录 … 链接文件或目录位置
软链接 | 硬链接 | |
---|---|---|
删除原始文件后 | 失效 | 仍旧可用 |
使用范围 | 适用于文件或目录 | 只可用于文件 |
保存位置 | 与原始文件可以位于不同的文件系统中 | 必须与原始文件在同一个文件系统(如一个Linux分区)内 |
三.恢复误删除的文件
1.恢复EXT类型的文件
■编译安装extundelete软件包
安装依赖包:
e2fsprogs-libs-1.41.12-18.el6.x86_rpm
e2fsprogs-devel-1.41.12-18.el6.x86_rpm
配置、编译及安装:
extundelete-0.2.4.tar.bz2
■模拟删除并执行恢复操作
2.恢复XFS类型的文件
■xfsdump -f 备份存放位置 要备份的路径或设备文件
■xfsdump备份
级别(默认为0)
0:完全备份
1-9:增量备份
■xfsdump常用选项:-f、-L、-M、-s
■xfsrestore命令格式
xfsrestore -f 恢复
文件的位置 存放恢复后文件的位置
■模拟删除并执行恢复操作
四.分析日志文件
1.日志文件
■功能:
用于记录系统、程序运行中发生的各种事件
通过阅读日志,有助于诊断和解决系统故障
■分类:
内核及系统日志(由系统服务rsyslog统一进行管理,日志格式基本相似)
用户日志(记录系统用户登录及退出系统的相关信息)
程序日志(由各种应用程序独立管理的日志文件,记录格式不统一)
■保存
默认保存在/var/log目录下
总结
.
【AWSL】之Linux文件系统与日志分析(inode、恢复EXT类型的文件、恢复XFS类型的文件)相关推荐
- Linux文件系统与日志分析 ------ inode、block及日志
文件系统与日志分析 inode 与 block 介绍 inode的内容 inode 的号码 inode 的大小 inode的特殊作用 硬链接与软链接 软链接 硬链接 日志分析 日志的功能 日志文件的分 ...
- Linux文件系统与日志分析(inode、inode节点耗尽故障处理、文件备份和恢复、日志文件管理)
Linux文件系统与日志分析 一.inode和block概述 1.文件和扇区 2.块(block) 3.文件数据 二.inode(索引节点) 1.inode的内容 2.inode的号码 3.inode ...
- linux文件系统和日志分析!
linux文件系统和日志分析 一.inode和block block(块) inode(索引节点) inode的元信息 简述文件的读取过程 inode的特殊作用 stat命令 二.硬链接与软链接 硬链 ...
- Linux文件系统与日志分析(inode、文件备份和恢复、日志文件管理)
文章目录 一 . inode和block 1.文件和扇区 2.块(block) 3.文件数据 二 . inode(索引节点) 1.inode的内容 2. inode的号码 3.inode的大小 4.i ...
- Linux 文件系统与日志分析
文章目录 1.前言 2.深入理解 Linux 文件系统 2.1 inode 与 block 详解 (1) inode 和 block 概述 (2) inode 内容 (3) 查看文件的 inode 号 ...
- Linux/Centos7系统管理之深入理解Linux文件系统与日志分析
前言:inode(文件节点)与block(数据块)硬链接与软连接恢复误删除的文件 (即rm-rf 的操作,可以先进行备份的操作,然后可以进行恢复ext4和xfs文件系统皆可)日志文件的分类用户日志与程 ...
- 理论:深入理解Linux文件系统与日志分析
前言: inode(文件节点)与block(数据块) 硬链接与软连接 恢复误删除的文件 (即rm-rf 的操作,可以先进行备份的操作,然后可以进行恢复ext4和xfs文件系统皆可) 日志文件的分类 用 ...
- Linux文件系统与日志分析
文章目录 引言 一.inode和block 1.inode和block概述 2.inode的内容 2.1 inode包含文件的元信息(文件属性) 2.2 用stat命令查看某个文件的inode信息 2 ...
- Linux——(渗透理解)文件系统与日志分析
文件系统与日志分析超简单 一.Linux系统中的 inode 与 block 1.1 inode 和 block 1.2 查找文件对应的inode(内容) 1.3 inode的大小 inode总结 二 ...
最新文章
- 使用 IDEA 解决 Java8 的数据流问题,用过的都说好!!!
- python使用matplotlib可视化堆叠的直方图(stacked histogram plot)、多个类别的数据在直方图区间层面累积堆叠起来
- python提交spark_带有python入口点的sparksubmit
- C++ QT中的QSound使用方法
- Android ANR详解
- 【风控建模】风控分类模型种类(决策、排序)比较与模型评估体系(ROC/gini/KS/lift)
- 面试中常见的查找与排序
- CodeForces 1396E Distance Matching(构造+树的重心+dfs+set)
- OSPF的高级应用之地址汇总与虚链路的配置
- 2017.4.1 kth_number 思考记录
- java 异常哪个包,这个提示包不存在的异常是咋回事
- 除了定时器,真的没法在Simulation Node 类型的CAPL节点中实现延时了吗?
- ir2110s驱动工作原理
- Excel查看多列重复项
- this的三种用法 详解
- 【一次过】左旋转字符串
- 如何判断/获取屏幕的状态(亮屏已解锁,亮屏未解锁,黑屏)
- ug钣金冲压成型--混合折弯
- 解决本地新建项目推送到码云失败的问题
- 如何看电脑支持最大多少内存条?仅需一个命令
热门文章
- 汽车租赁php参考文献,求租赁或者汽车租赁的英文参考文献
- python3 安装pyinstaller_python3.7 打包(.exe)神器——pyinstaller 安装及用法
- java反射的编译过程_Java反射机制小结和实际操作
- 的union_C语言“隐秘的角落”——union没那么简单
- 浙江师范计算机考研怎么样,浙江师范大学考研难吗?一般要什么水平才可以进入?...
- 合肥中学计算机老师招聘,2019年合肥北城中学教师招聘公告
- php求平均值的函数_国二常用函数(二)
- 解决linux系统CentOS下调整home和根分区大小的方法
- 重磅!微软发布 vscode.dev,把 VSCode 带入浏览器!
- VIP到131970年过期就离谱~