什么是索引节点
中文意思是索引节点(index node)是磁盘上的一块【存储空间】。一个inode大小256字节。
看到形态是一个串数字。
索引节点作用
存储文件的属性信息(大小、用户、组、修改时间ls -l的信息都在里面放着)。还存放一个重要的东西,指向文件真正实体的位置信息(指针)。
inode的特点
1.是文件的唯一标识
2.存放文件属性信息及之指向文件所在位置信息
3.大小256字节
4.创建文件的时候就分配inode
5.一个文件有且只有一个inode(分区或一个磁盘内)
6.多个文件有相同的inode,是同一个文件的不同文件名,这样的文件被称为硬链接文件。
inode是怎么产生的
inode是在磁盘格式化,创建[文件系统]的时候产生的。Linux文件系统ext4,xfs,windows文件系统, ntfs, fat32创建[文件系统]的时候就会生成inode和block.
inode和block都是磁盘空间的组成。
数据分为两种形式
元数据就要放在inode里。
真正数据就放在block里。
创建文件的原理
1.文件名放到/下block里。
2.分配inode (256字节),放文件属性。
3.分配block,放文件内容(多个block) 。
什么是block
1.存放文件实体内容的空间
2.默认大小1 2 4 k
3.一个block只能被一个文件占有,一个block不能放两个文件
如果文件大小0.1K,也会占一个block。剩余3.9K浪费了。
block是文件系统存储大小的基本单位
删除文件原理
磁盘空间不够时,若发现所使用的内存比实际的内存空间小,有可能是inode没有被删除掉 ,可能是某个进程在调用,只有把这个进程停止了 ,这个文件才会真正的删除。
给文件加锁
chattr
a 只能追加内容,不能删除
i 不能修改,不能删除
chattr +i 文件名 #增加i属性
chattr -i 文件名 #去掉i属性
lsattr 查看chattr设置的属性
umask 权限掩码
控制系统的文件和目录的默认权限
针对文件来说
umask
0022
6 6 6
0 2 2 - 这里是umask
6 4 4 ###系统的文件默认权限
umask掩码的3位每一位数字是否有【奇数】,如果有奇数(奇数位加1)
umask 021
umask
0021
touch f021
ls -l f021
-rw-r--rw-. 1 root root 0 5月 21 10:40 f021
6 6 6
0 2 1 -
6 4 5 ###系统的文件默认权限
0 0 1
6 4 6 文件的权限
权限从666开始计算。
如果偶数,正常做减法。
如果是奇数,奇数位加一。
针对于目录
针对目录默认权限。
1.权限从777开始计算。
2.和掩码正常做减法。
特殊权限位