linux中硬链接与软链接的区别

硬连接和软链接的区别

1、          首先,两者的作用对象不同:

硬链接,只能应用于文件,而不能应用于目录,而且不能跨文件系统(即分区)。

软(符号)链接,可以应用于文件,而且可以应用于目录和可跨文件系统(分区)。

2、          其次,两者的作用原理不同:

硬链接中,假如说A文件是B文件的硬连接文件,那么ABinode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,AB对文件系统来说是完全平等的,硬链接中一个inode号可以对应多个文件。如果删除其中任何一个文件,另外一个文件还能连接数据块,还是有效的文件,只是对应的inode节点号减少,其它并无影响。只有inode节点号减少到0,数据块才会被系统回收。

linux中硬链接与软链接的区别

而在软链接中,假如说A文件是B文件的软连接文件,则ABinode节点号不同,每创建一个新的软链接,就会有一个新的节点号。而A的数据块中存放的只是B的路径名(可以根据这个找到B的目录项)。AB之间是“主从”关系,如果B被删除了,A仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。

3、          语法不同:

硬链接的语法:ln  filename  [linkname ]

软链接的语法:ln  -s  filename  [linkname]

 

原创文章,作者:tianshichong,如若转载,请注明出处:http://www.178linux.com/53101