Linux软连接硬链接区别

软连接与硬链接区别


什么是硬链接?

硬链接(hard link):A是B的硬链接(A和B都是文件名),则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除了其中一个,对另外一个没有影响。每增加一个文件名,inode节点上的链接数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应的数据块被回收。注:文件和文件名是不同的东西,rm A删除的只是A这个文件名,而A对应的数据块(文件)只有在inode节点链接数减少为0的时候才会被系统回收。

什么是软连接?

软连接是linux中一个常用命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接。

具体用法是:ln -s 源文件 目标文件。

当 我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在其它的 目录下用ln命令链接(link)就可以,不必重复的占用磁盘空间。

硬链接 [ln] 对一个文件起多个名字 共占一个空间 删除一个另一个仍可访问 删除的是名称 无主次之分 不可跨分区设备 不支持目录
软连接 [ln -s] 删除原始文件则无法访问 支持文件夹 支持跨分区
硬链接指向同一数据
软连接时指向名称 相对路径:原始文件相对于被连接文件的

区别 硬链接 软连接
同一个文件?
跨分区?
链接数增长?
iNode编号是否相同?
原始文件删掉,连接文件是否访问?
大小? 一致 不一致
支持目录?

Linux软连接硬链接区别_第1张图片

你可能感兴趣的:(linux)