Linux文件系统与日志分析
一、Linux文件系统
1.1 inode与block
1.概述:
- 文件数据包括元信息与实际信息;
- 文件存储在硬盘上,硬盘最小存储单位是“扇区”,每个扇区存储512字节。
- block:(块)
- 连续的八个扇区组成一个block(4k);
- 是文件存取的最小单位。
- inode:(索引节点)
- 中文译名为“索引节点”,也叫i节点;
- 用于存储文件元信息
2.inode和block的关系
-
文件数据包括实际数据与元信息(类似文件属性)。文件数据存储在“块"中,存储文件元信息(比如文件的创建者、创建日期、文件大小、文件权限等)的区域就叫做inode。 因此,一 个文件必须占用一个inode, 并且至少占用一个block.
-
inode不包含文件名。文件名是存放在目录当中的。Linux系统中一切皆文件,因此目录也是一种文件。结构如下图所示:
-
每个inode都有一个号码,操作系统用inode号码来识别不同的文件。Linux系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于识别的别称,文件名和inode号码是一 一对应关系,每个inode号码对应一个文件名。.
查看文件名对应的inode号码有两种方式:
1. 查看文件名对应的inode号码
ls -i 文件名
2. 查看文件inode信息中的inode号码
stat 文件名
3.inode包含文件的元信息
- 文件的字节数
- 文件拥有者的User ID
- 文件的Group ID
- 文件的读、写、执行权限
- 文件的时间戳等
4.Linux系统文件三个主要的时间属性 - ctime(change time):最后一次改变文件或目录(属性)的时间
- atime(access time):最后一次访问文件或目录的时间
- mtime(modify time):最后一次修改文件或目录(内容)的时间
5.用户通过文件名打开文件时,系统内部的过程
- 系统找到这个文件名对应的inode号码
- 通过inode号码, 获取inode信息
- 根据inode信息,找到文件数据所在的block,读出数据
6.硬盘分区后的结构
7.访问文件的简单流程
8.inode的大小
- inode也会消耗硬盘空间:每个inode的大小一般是128字节或者256字节;
- 格式化文件系统时确定inode的总数;
- 使用
df -i
命令可以查看每个硬盘分区的inode总数和已经使用的数量(如下图)。
9.inode特点
由于inode 号码与文件名分离,导致Linux系统具备以下几种特有的现象:
- 文件名包含特殊字符,可能无法正常删除。这时直接删除inode,能够起到删除文件的作用;
删除inode号的方法:
[root@cheng0307 tmp</