
1.硬链接硬链接实际上就是文件的备份文件之所以能够在操作系统保存就是因为有文件名与inode之间存在映射关系而这个映射关系通常会被保存在目录中可以用readdir系统调用进行调试观察下面是展示运行该系统调用后样子:可以看到存在文件名与inode之间的映射而硬链接就是创建一个新文件例如code.hard来保存code.cpp所对应的inode,并将该对应关系保存在当前文件夹中隐含的必须用readdir才能看见也就是说硬链接后文件夹会保存2份文件code.cpp与code.hard,但是它们对应的inode都是相同的。如下图所示:通过ls -ln创建了code.hard为code.cpp硬链接后其inode结果一样。且引用计数为2ubuntu前面当删除任意一个之后引用计数-1但是文件依旧保留只有当删除全部文件后系统发现该inode引用计数为0才会删除inode结构体里保存的内容释放资源。2.软链接符号链接硬链接是通过inode引⽤另外⼀个⽂件软链接是通过名字引⽤另外⼀个⽂件但实际上新的⽂件和被引⽤的⽂件的inode不同应⽤常⻅上可以想象成⼀个快捷⽅式。在shell中的做法当删除code.cpp后。code.soft就会发生悬空悬空不会发生太大危险。只是占用资源。可以看到code.soft与code.hard引用计数都是1且各自inode是不一样的。