//index 索引节点struct inode { struct hlist_node i_hash; struct list_head i_list; /* backing dev IO list */ struct list_head i_sb_list; struct list_head i_dentry; atomic_t i_count;//引用计数 unsigned int i_nlink; ......
void *i_private; /* fs or device private pointer */};
硬链接在本质上是将原始数据拷贝,生成一个新的inode节点,当原始文件删除的时候,硬链接文件仍然存在。
而软链接仅是inode结构的i_nlink变量增加,并不会创建新的inode节点,当原始文件删除的时候,软链接也就失效了。
如果需要更深入的了解处理流程,请参看《深入理解Linux内核》、《深入Linux内核构架》。