【转】linux中硬链接和符号链接的区别

空扰寡人 提交于 2020-03-12 16:46:55
在实际应用中硬链接和符号链接(即软链接)很难区分,但它们的确是有区别的:
硬链接,只能应用于文件,而不能应用于目录,而且不能跨文件系统(即分区);
符号链接,可以应用于文件,而且可以应用于目录和可跨文件系统(分区);
这是它们在应用上的区别;
 
底层的区别:
当我们创建了一个文件的硬链接时,硬链接会使用和文件相同的inode号,此时我们发现,原来的文件的inode连接数由最初的1变为了2,实际上硬链接和文件使用了相同的inode,只不过是inode连接数增加了,删除文件不会影响硬链接,硬链接的inode数会从2变为1;
看一下演示:
 

 
而在创建文件的软链接时,软链接会使用一个新的inode,所以软链接的inode号和文件的inode号不同,软链接的inode里存放着指向文件的路径,删除文件,软链接也无法使用了,因为文件的路径不存在了;当我们再次创建这个文件时(文件名与之前的相同),软链接又会重新指向这个文件(inode号与之前的不同了),而硬链接不会受其影响,看演示:


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!