indoe:(i节点)
xfs:512字节
ext4:256字节
block
链接
文件的恢复
日志
inode与block详解
inode和block概述
文件是储存在硬盘上的,硬盘的最小存储单位叫做扇区(sector),每个扇区存储512字节。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个“块”。这种块是文件 存取的最小单位。块的大小,最常见的是4KB,即连续8个扇区组成一个块。
存储文件元信息的区域就叫做inode,中文译名为“索引节点”,也叫i节点。因此一个文件必须占用一个inode,但至少占用一个block
2.inode的内容
▪ 文件的字节数
▪ 文件拥有者的UserlD
▪ 文件的GroupID
▪ 文件的读、写、执行权限
▪ 文件的时间戳
使用stat命令即可查看某个文件的inode信息
Linux系统文件有三个主要的时间属性,分别是ctime(change time)、aime(access time),mtime(modify time)。
▪ ctime(change time)是最后一次改变文件或目录(属性)的时间,例如执行chmod,chown等命令;
▪ aime(access time)是最后一次访问文件或目录的时间;
▪ mtime(modify time)是最后一次修改文件或目录(内容)的时间
▪ 目录文件结构
3.inode的号码
用户在访问文件时,表面上是用户通过文件名来打开文件,而实际系统内部的过程分为以下三步:
▪ 系统找到这个文件名对应的inode号码;
▪ 通过inode号码,获取inode信息;
▪ 根据inode信息,找到文件数据所在的block,并读出数据
常见的inode号码的方式有两种:
Is -i命令:直接查看文件名所对应的inode号码;
stat命令:通过查看文件inode信息而查看到inode号码。
当用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它对应的inode,看该用户是否具有访问这个文件的权限。如果有,就指向相应的数据block,如果没有,就返回Permission denied。而一块硬盘分区后的结构则是:
4.inode的大小
inode会消耗硬盘空间,所以格式化的时候,操作系统自动将硬盘分为两个区域。一个是数据区,存放文件数据;另一个是inode区,存放inode所包含的信息。每个inode的大小一般是128字节或256字节,执行“df -i”命令即可查看每个硬盘分区对应的inode总数和已经使用的inode数量。
由于inode号码与文件名分离,导致Unix/Linux系统 具备一下几种特有的现象
▪ 文件名 包含特殊字符,可能 无法正常删除。这时直接删除inode,能够起到删除文件的作用
▪ 移动文件或重命名文件,只是改变文件名,不影响inode号码;
▪ 打开一个文件后,系统就以inode号码来识别这个文件 ,不再考虑文件名
硬链接与软连接
▪ 可以快速连接到目标文件或目录,称之为软连接
▪ 通过文件系统的inode链接来产生的新文件名,而不是产生新文件,称之为硬链接
1.硬链接
In命令可以创建硬链接,命令格式为:In 源文件 目标
运行该命令以后,源文件与目标文件的inode号码相同,都指向同一个inode。inode信息中的链接数这时就会增加1。
当一个文件拥有多个硬链接时,对文件内容修改,会影响到所有的文件名:但是删除一个文件名,不影响另一个文件名的访问,删除一个文件名,只会使得inode中的“链接数”减1。需要注意的是不能对目录做硬链接。
2.软链接
软链接就是再创建一个独立的文件,而这个文件会让 数据的读取指向它连接的那个文件的文件名。软链接的创建命令的基本格式为: In -s 源文件或目录 目标文件或目录
EXT类型文件恢复
1.编译安装extundelete
2.模拟删除并执行恢复操作
(1)使用fdisk命令创建新分区,将其挂载到/tmp目录下,往该目录下新建一下文件或目录
(2)模拟误操作并恢复
xfs类型文件备份和恢复
xfsdump -f备份存放位置要备份路径或设备文件,常用的备份参数包括以下几种:
▪ -f:指定备份文件目录
▪ -L:指定标签session label
▪ -M:指定设备标签media label
▪ -s:备份单个文件,-s后面不能直接跟路径
使用xsfdump时,需要注意以下几个限制:
▪ xsfdump不支持没有挂载的文件系统备份,所以只能备份已挂载的;
▪ xsfdump必须使用root的权限才能操作(涉及文件系统的关系)
▪ xsfdump只能备份XFS文件系统
▪ xsfdump备份下来的数据(档案或储存媒体)整你让xfsrestore解析
▪ xsfdump是透过文件系统的UUID来分辨各个备份档的,因此不能备份两个具有相同UUID的文件系统。
分析日志文件
- 查询当前用户登录情况——users、who、w命令
- users,只简单地输出当前登录的用户名,每个显示的用户名对应一个登录会话
-
- who,用户报告登录到当前系统中的每个用户信息。管理员可以查看有哪些不合法用户登录。默认输出包括用户名、终端类型、登陆日期以及远程主机
-
- w,更详细的显示当前系统中每个用户及其所运行的进程信息
- 查询用户登录的历史纪录——last、lastb
- last命令用于查询成功登陆到系统的用户记录,最近的登陆情况将显示到最前面
-
- lastb命令用于查询失败登录的用户记录,如用户名的错误、密码错误等情况都会被记录在内。除了使用lastb命令查看外,还可以从安全日志文件/var/log/secure中获得相关信息
- 内核及系统日志
- 内核及系统日志内容主要由默认安装的rsyslog-7.4.7-16.el7.x86_64.rpm软件包提供。rsyslog服务所使用的配置文件为/etc/rsyslog.conf。通过查看/etc/rsyslog.conf文件内容,可以了解到系统默认的日志设置,具体操作如下:
主要日志文件