深入理解Linux文件系统

本文详细介绍了Linux文件系统中的inode和block,包括它们的概述、内容、号码和大小。此外,还讨论了inode耗尽的故障处理方法,以及硬链接和软链接的区别。同时,文章提供了误删文件的恢复技巧,特别是针对xfs文件系统的恢复操作,并分析了日志文件的分类和管理策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.inode与block详解

1.1 inode和block概述

 1.2 inode的内容

1.3 inode的号码

1.4 inode的大小

2.inode耗尽故障处理

3.硬链接与软链接

3.1 硬链接

3.2 软链接

4.恢复误删除的文件

4.1 恢复xfs类型的文件

4.2 模拟删除并执行恢复操作

5.分析日志文件

5.1 日志文件的分类

5.2 日志文件分析

1.inode与block详解

1.1 inode和block概述

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

操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个“块”(block)。这种由多个扇区组成的“块”,是文件存取的最小单位。“块”的大小,最常见的是4KB,即连续八个sector组成一个block。

文件数据存储在“块”中,那么还必须找到一个地方存储文件的元信息,这种存储文件元信息的区域就叫做inode,因此一个文件必须占用一个inode,但至少占用一个block。

 1.2 inode的内容

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

文件的字节数,文件拥有者的UserID,文件的GroupID,文件的读、写、执行权限,文件的时间戳等。

使用start命令即可查看某个文件的inode信息。

Linux系统文件有三个主要的时间属性,分别是ctime、atime、mtime。

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

atime是最后一次访问文件或目录的时间。

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

1.3 inode的号码

表面上,用户是通过文件名来打开文件,实际上,在系统内部这个过程分为三步:

①系统找到这个文件名对应的inode号码。

②通过inode号码,获取inode信息。

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

使用ls -i命令,可以直接查看到文件名所对应的inode号码;使用stat命令,则是可以通过查看文件inode信息而查看到inode号码。

1.4 inode的大小

inode也会消耗硬盘空间,每个inode的大小,一般是128字节或256字节。执行命令“df -i”即可查看每个硬盘分区的inode总数和已经使用的数量。查看每个inode的大小,可以用命令“dumpe2fs -h /dev/mapper/VolGroup-lv_root | grep "Inode size"”查看。

2.inode耗尽故障处理

例:i 节点耗尽故障

新建一个约32MB大小的EXT4文件系统(如/dev/sdb7),将其挂载到/data目录下。并使用带”-i”选项的df命令确认该文件系统中i 节点的使用情况。

[root@localhost ~]#mkdir /data
[root@localhost ~]#mount /dev/sdb7 /data
[root@localhost ~]#df -i /data

当i 节点耗尽以后,在该文件系统中再创建新的文件时,将会出现“设备上没有空间”的错误假象。通过df命令可以查看到该分区中实际上还有可用的剩余空间,但是因为i 节点数已经用完,所以无法创建新的文件。

[root@localhost ~]#touch /data/newfile
touch:无法创建"/data/newfile
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值