文件系统与日志分析
概述
inode与block
硬链接与软连接
恢复误删除的文件
分析日志文件
inode和block概述
- 文件数据包括元信息与实际数据
- 文件储存在硬盘上,硬盘最小储存单位是“扇区”每个扇区储存512字节
- block(块)
1)连续的8个扇区组成的一个block(4k)
2)是文件存取的最小单位 - inode(索引节点)
1)中文译名为“索引节点”也叫i节点
2)用于存储文件源信息
一、文件系统
首先文件是一定存储在硬盘上的,但是linux系统中文件和硬盘中又分别细分出其他的概念,下面我们开始详细的了解这些。
1、扇区(sector)
- 扇区是硬盘的最小存储单位,每个扇区可以存储512个字节
快(block)
- 操作系统读取硬盘的时候,是一次性连续读取多个扇区,及一次性读取一个或多个快,
- 一个快一般是由连续的八个扇区组成,所以一个块是4k大小,这是文件存取的最小单位。
3、文件数据
- 文件数据包括实际数据与元信息(比如文件的创建、创建日期、文件大小、文件权限等)。
- 文件数据存储在“块”中,而存储文件元信息的区域叫inode.
4、inode (索引节点或i节点)
- 一个文件必须占用一个inode
- inode不包含文件名。文件名是存放在目录当中。linux系统中一切皆为文件,因此目录也是一种文件。
- 每个inod都有一个号码,操作系统用inode号码来识别不同文件。linux系统内部不使用文件名,而使用inode号码来识别文件,对于系统来说,文件名只是inode号码便于识别的别称,文件名和inode号码是 对应的关系,每个inode号码对应一个文件名。
5、相关概念中总结
用户访问文件的步骤(系统中)
第一步:用户在linux系统中访问一个文件
第二部:系统根据文件名查找对应的inode号码
第三部:通过inode号码,获取inode信息
第四部:根据inode信息,看该用户是否具有访问这个文件的权限,如果有,就指向相对应的数据block,并读取数据
inode包含文件的元信息
- 不包含文件名
- 文件的字节数
- 文件拥有者的User ID( 不包含文件名)
- 文件的Group ID
- 文件的读、写、执行权限
- 文件的时间戳
用stat命令可以查看某个文件的inodex信息
示例:
stat aa.txt
inode的大小
inode也会消耗硬盘空间,所以格式化的的时候,操作系统自动将硬盘分成两个区域。一个是数据库区,存放文件数据,另一个是inode区,存放inode所包含的信息。每个inode的大小,一般是128字节或256字节。
- 在格式化文件系统的时候就确定了inode的总数
- df - i命令可查看每个硬盘分区对应的inode总数和已经使用的inode数量。
3、inode号的查询
查看文件名对应 inode 号码有两种方式
ls -i 文件名 #差普通文件
stat 文件名 # 查普通文件和目录(推荐使用)