文章目录
一.inode与block
1.inode与block概述
在文件存储硬盘上,硬盘的最小存储单位叫做“扇区”,每个为512字节。
操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块" ( block )。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小 ,最常见的是4KB ,即连续八个扇区组成一个块。
文件数据存储在"块”中,那么还必须找到一个地方存储文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种存储文件元信息的区域就叫做inode(索引节点),也叫i节点。
文件数据存储在block块中,文件属性存储在inode
2.inode
inode内存储的元信息:
文件大小、文件拥有者(UID)、文件所属组(GID)、权限、时间戳、文件类型、连接数、其它文件属性信息。
inode的元信息包含文件的所有属性信息,除了文件名外!
查询inode元信息:stat +文件或目录
[root@xiayan mnt]# stat a.txt
File: ‘a.txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 33554501 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:mnt_t:s0
Access: 2022-04-09 17:45:08.042234086 +0800
Modify: 2022-04-09 17:45:08.042234086 +0800
Change: 2022-04-09 17:45:08.042234086 +0800
Linux文件系统时间戳:
atime(access time):最近一次访问文件或目录的时间
mtime(modify time):最后一次修改文件或目录(内容)的时间
ctime(change time):最后一次改变文件或目录的时间
2.1inode号
文件系统在读取文件时,并不是通过文件名去查找文件数据,而是通过inode号
查询inode号:
方法一:
stat +文件或目录名
方法二:
ls -i
#查询磁盘inode号总数
df -i
[root@xiayan csdn]# ls -i
102285248 a
2.2inode的大小
inode也会消耗硬盘空间,每个inode的大小,一般是128字节或256字节,磁盘的inode号总数,在格式化分区的时候就已经确定
[root@xiayan csdn]# df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
devtmpfs 120203 403 119800 1% /dev
tmpfs 124459 1 124458 1% /dev/shm
tmpfs 124459 907 123552 1% /run
tmpfs 124459 16 124443 1% /sys/fs/cgroup
/dev/mapper/centos-root 24637440 170777 24466663 1% /
/dev/sda1 524288 341 523947 1% /boot
tmpfs