从inode结构区分硬链接和软连接

    技术2024-10-09  63

    //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内核构架》。

    最新回复(0)