2021-08-23

一.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目录下

总结    
 

文件日志也是很重要的一部分

猜你喜欢

转载自blog.csdn.net/Arlssaze/article/details/119878016