inode
每个文件都会有一个inode,即索引节点,里面包含了文件所有的属性信息,系统是引用inode来完成文件的增、删、改、查操作,而不是文件名
文件分为两类数据:
元数据(即inode):存放文件的属性信息,包括文件大小,属主属组,权限,时间戳,inode号,链接数,所占用的磁盘块等信息
数据:存放文件的原始数据
文件cp原理:生成一个新的inode,在inode表中添加新条目,分配可用数据块空间,并把目录中的文件名称和inode编号关联起来,把源文件数据填充至数据块中
mv:删除原文件名和inode对应关系,而后在新生成一个同名的inode对应关系即可,数据未动
rm:生一个新的inode条目,分配可用磁盘块,并把文件名和inode关联起来,把数据填充至磁盘块,而后删除原inode条目,并把原来的磁盘块数据标记为不可用
硬链接:两个或多个inode同时指向磁盘块上的数据,一个数据多个访问路径,删除硬链接不会影响数据正常访问
特性:
不可对目录创建硬链接
不可跨文件系统
创建硬链接会增加文件的链接次数
创建硬链接:ln [OPTIONS] SRC LINK_FILE
符号链接:指向另一个文件的访问路径,删除原文件,符号链接将失效,而删除符号链接不会影响原文件
特性:
可对目录创建符号链接
可跨文件系统
创建符号链接不会增加文件链接次数
其大小是指定路径的字符个数
创建符号链接:ln -s SRC LINK_FILE