inode

每个文件都会有一个inode,即索引节点,里面包含了文件所有的属性信息,系统是引用inode来完成文件的增、删、改、查操作,而不是文件名


文件分为两类数据:

        元数据(即inode):存放文件的属性信息,包括文件大小,属主属组,权限,时间戳,inode号,链接数,所占用的磁盘块等信息

        数据:存放文件的原始数据


文件cp原理:生成一个新的inode,在inode表中添加新条目,分配可用数据块空间,并把目录中的文件名称和inode编号关联起来,把源文件数据填充至数据块中

mv:删除原文件名和inode对应关系,而后在新生成一个同名的inode对应关系即可,数据未动

rm:生一个新的inode条目,分配可用磁盘块,并把文件名和inode关联起来,把数据填充至磁盘块,而后删除原inode条目,并把原来的磁盘块数据标记为不可用


硬链接:两个或多个inode同时指向磁盘块上的数据,一个数据多个访问路径,删除硬链接不会影响数据正常访问

特性:

    不可对目录创建硬链接

    不可跨文件系统

    创建硬链接会增加文件的链接次数

创建硬链接:ln [OPTIONS] SRC LINK_FILE

wKiom1eeKlzAz9I3AAAhjmi-7yY561.png


符号链接:指向另一个文件的访问路径,删除原文件,符号链接将失效,而删除符号链接不会影响原文件

特性:

    可对目录创建符号链接

    可跨文件系统

    创建符号链接不会增加文件链接次数

    其大小是指定路径的字符个数

创建符号链接:ln -s SRC LINK_FILE

wKioL1eeKuCyUxzCAAAsRi10Skc858.png