深入理解Linux文件系统

本文详细介绍了Linux文件系统的核心概念,包括inode与block的结构和作用,inode的内容和大小,以及如何处理inode耗尽的故障。此外,还讨论了硬链接和软链接的区别,以及日志文件的分类和分析,强调了日志在系统管理和安全监控中的重要性。

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

深入理解Linux文件系统

一、inode与block详解

崭新的操作系统的文件数据除了实际内容外,通常含有非常多的属性,例如Linux操作系统的文件权限(rwx)与文件属性(属主、属组等)。文件系统通常会将这两部分分别存在inode和block中。

1、inode和block概述

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

操作系统读取磁盘时,是一次性读取由多个扇区组成的“块”(block),这种由多个扇区组成的“块”是文件存储的最小单位。最常见的“块”由8个扇区组成,大小为4KB。

文件数据存储在“块”中,而存储文件元信息(文件的创作者、文件的创建日期、文件的大小等,类似于Windows中文件的属性)的区域叫做inode,中文名“索引节点”,也称为“i节点”。

一个文件必须占用一个inode,至少占用一个block。

2、inode的内容

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

  • 文件的字节数

  • 文件拥有着的UserID

  • 文件的GroupID

  • 文件的读、写、执行权限

  • 文件的时间戳

  • 等等

    使用stat命令可以查看文件inode信息。

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

  • ctime是最后一次改变文件或目录(属性)的时间,如执行chmod、chown等命令。
  • ctime是最后一次访问文件或目录的时间。
  • mtime是最后一次修改文件或目录(内容)的时间。

3、inode的内容

inode并不包括文件名,因为文件名是存放在目录当中的,linux系统中,目录也是一种文件。每个文件名对应一个inode,而每个inode都有一个号码,操作系统通过inode号码来识别不同的文件。对于操作系统,文件名是inode号便于识别的别称。

4、inode的号码

用户通过文件名打开文件在系统内部分为三个过程如下:

1)系统找到这个文件名对应inode号。

2)通过inode号,获取inode信息。

3)根据inode信息,找到文件数据所在的block,读取数据。

在Linux基础命令讲解中,命令“ls -i”可以直接查看到文件名对应的inode号码;stat命令是通过查看文件inode信息而查看到inode号码。

5、inode的大小

inode也会消耗硬盘空间,每个inode的大小,一般为128字节或256字节。inode的总数,在格式化时就给定。执行“df -i”命令可查看每个硬盘分区的inode总数和已使用的数量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值