在实际应用中硬连接和符号连接(即软连接)很难区分,但它们的确是有区别的:
硬连接,只能应用于文件,而不能应用于目录,并且不能跨文件系统(即分区);
符号连接,能够应用于文件,并且能够应用于目录和可跨文件系统(分区);
这是它们在应用上的区别;
底层的区别:
当咱们建立了一个文件的硬连接时,硬连接会使用和文件相同的inode号,此时咱们发现,原来的文件的inode链接数由最初的1变为了2,实际上硬连接和文件使用了相同的inode,只不过是inode链接数增长了,删除文件不会影响硬连接,硬连接的inode数会从2变为1;
看一下演示:
而在建立文件的软连接时,软连接会使用一个新的inode,因此软连接的inode号和文件的inode号不一样,软连接的inode里存放着指向文件的路径,删除文件,软连接也没法使用了,由于文件的路径不存在了;当咱们再次建立这个文件时(文件名与以前的相同),软连接又会从新指向这个文件(inode号与以前的不一样了),而硬连接不会受其影响,看演示: