1.文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。
可以用stat命令,查看某个文件的inode信息:
1)基本指令:stat + 路径
[root@zcf home]# stat /home
File: ‘/home’
Size: 198 Blocks: 0 IO Block: 4096 directory
Device: fd01h/64769d Inode: 64 Links: 8
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:home_root_t:s0
Access: 2022-07-20 20:06:20.289286618 +0800
Modify: 2022-07-20 20:06:19.175283579 +0800
Change: 2022-07-20 20:06:19.175283579 +0800
Birth: -
inode包含文件的元信息,具体来说有以下内容:
* 文件的字节数
* 文件拥有者的User ID
* 文件的Group ID
* 文件的读、写、执行权限
* 文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间。
* 链接数,即有多少文件名指向这个inode
*文件数据block的位置
2.inode也会消耗硬盘空间,所以硬盘格式化的时候,操作系统自动将硬盘分成两个区域。 一个是数
据区,存放文件数据;另一个是inode区(inode table),存放inode所包含的信息。
inode |
data |
查看每个硬盘分区的inode总数和已经使用的数量,可以使用df -i命令。
1)基本指令:df -i
[root@zcf home]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
devtmpfs 120191 392 119799 1% /dev
tmpfs 124459 1 124458 1% /dev/shm
tmpfs 124459 975 123484 1% /run
tmpfs 124459 16 124443 1% /sys/fs/cgroup
/dev/mapper/centos-root 9025536 160934 8864602 2% /
/dev/sda1 153600 340 153260 1% /boot
/dev/mapper/centos-home 256000 831 255169 1% /home
tmpfs 124459 18 124441 1% /run/user/1000
tmpfs 124459 1 124458 1% /run/user/0
使用ls -i命令,可以看到文件名对应的inode号码:
1)基本指令:ls -i
[root@zcf home]# ls -i
75 aaa 6085 cal2.txt 6093 mydate.txt 67 zcf
6101 apple.tar.gz 6063 cal.tar.gz 6100 mytest1
115 apple.zip 6083 home 6091 pc.tar.gz
325024 bbb 6060 ip.txt 108 test