1。Linux链接概念Linux链接有两种,一种称为硬链接(HardLink),另一种称为符号链接(SymbolicLink)。默认情况下,ln命令会生成硬链接。【硬链接】硬链接是指通过索引节点的连接。在Linux文件系统中,无论磁盘分区中存放什么类型的文件,都被分配了一个编号,称为索引节点编号(InodeIndex)。在Linux中,存在指向同一个inode的多个文件名。一般这种连接都是硬连接。硬链接的作用是让一个文件有多个有效的路径名,这样用户就可以对重要的文件建立硬链接,起到防止“误删”的作用。原因如上所述,因为目录的inode连接不止一个。只删除一个连接不会影响索引节点本身和其他连接。只有当最后一个连接被删除时,文件的数据块与目录的连接才会被释放。也就是说,一个文件真正被删除的条件是,与其相关的所有硬链接文件都被删除。【软链接】还有一种链接叫做符号链接(SymbolicLink),也叫软链接。软链接文件具有类似Windows的快捷方式。它实际上是一个特殊的文件。在符号链接中,文件实际上是一个文本文件,其中包含有关另一个文件位置的信息。2.通过实验加深理解[oracle@Linux]$touchf1#创建测试文件f1[oracle@Linux]$lnf1f2#创建f1的硬链接文件f2[oracle@Linux]$ln-sf1f3#创建f1的符号连接文件f3[oracle@Linux]$ls-li#-i参数显示文件>f1的inode节点信息从上面的结果可以看出硬链接文件f2和原文件的inode节点f1一样,都是9797648,只是符号链接文件的inode节点不同。[oracle@Linux]$echo"Iamf1file">>f1[oracle@Linux]$catf1Iamf1file[oracle@Linux]$catf2Iamf1file[oracle@Linux]$catf3Iamf1file[oracle@Linux]$rm-ff1[oracle@Linux]$catf2Iamf1file[oracle@Linux]$catf3cat:f3:Nosuchfileordirectory通过上面的测试可以看出,删除原文件f1时,硬链接f2不受影响,但是符号链接f1文件无效3.总结基于对此,你可以做一些相关的测试,你可以得到以下结论:1)。删除符号链接f3对f1和f2没有影响;2).删除硬链接f2对f1和f3没有影响;3).删除原文件f1对硬链接f2没有影响,导致符号链接f3失效;4).同时删除原文件f1和硬链接f2,真正删除整个文件。
