inode table是data area的索引表;
inode table保存着系统所含文件信息列表;每个项目都称为inode(每个128btye),可以通过对应的inode号码来调用。
1。inode包含的信息有:
*文件类型(文件、目录等)
*文件权限
*链接计数:和inode号码相关联的文件名的数量
*文件所有者的用户ID,相关群组的ID
*时间戳:最后存取时间、修改时间和最后一次inode改变时间
*数据在硬盘上的位置:所以当Linux 在读取数据的时候,首是先查询 inode table 以得到数据是放在硬盘上的位置,然后再去该位置读取真正的数据内容!
*其他一些信息
2。cp、mv、rm对inode的影响:
cp和inode:
1)分配一个未使用的inode号码,在inode 表中添加一个新项目;
2)在目录中创建一个目录项,关联文件名和inode号码;
3)把数据复制到新文件中。
rm和inode:
1)减少链接数量,释放inode号码(号码可以被重新使用);
2)数据块放到可用空间列表中;
3)删除目录中的目录项;-----实际文件内容并没有被删除,知道被别的文件覆盖
mv和inode:
如果mv命令的目标和源文件所在的文件系统相同:
1)使用新文件名建立目录项;
2)删除带有原来文件名的目录项;
备注:该操作对inode表没有影响(除时间戳),对数据的位置也没有影响,不移动任何数据。
如果目标和源文件所在文件系统不相同,就是cp和rm;
二:硬链接和软连接:
1。硬链接:
*同一个inode号码使用多个文件名来和他对应;
*用rm来删除硬链接文件:
1)仅仅是减少链接数量;
2)只要有一个链接存在文件就存在;
3)当链接数为零,文件就被删除了。
*无法跨越分区;
*建立硬链接文件:ln 文件名 链接名
2。软连接(符号链接):
指向目标文件的符号链接,文件类型: l 表示链接符号;符号链接的内容就是它所指向的文件名;
*软连接文件有自己的inodes,适合原文件不同的单独文件;
*符号链接文件的权限无关紧要,主要是他所链接的文件的权限;
*rm删除的话只是删除这个链接文件。
*建立软链接文件:ln –s 文件名 链接名
本文出自 “努力学习,天天向上” 博客,谢绝转载!