Linux软连接和硬链接的讲解

2022-06-17 15:23:36 浏览数 (1)

1.释义

又被叫为符号链接(symbolic  Link),它包含了到原文件的路径信息。

2.特性

(1)软链接有自己的文件属性及权限等;

(2)可对不存在的文件或目录创建软链接;

(3)软链接可交叉文件系统;

(4)软链接可对文件或目录创建;

(5)创建软链接时,链接计数 i_nlink 不会增加;

(6)删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。

3.创建软链接

代码语言:javascript复制
ln -s file link

4.举例

二、硬链接(Hard Link)

1.释义

是对原文件起了一个别名。

2.特性

(1)文件有相同的 inode 及 data block;

(2)只能对已存在的文件进行创建;

(3)不能交叉文件系统进行硬链接的创建;

(4)不能对目录进行创建,只可对文件创建;

(5)删除一个硬链接文件并不影响其他有相同inode 号的文件。

3.创建硬链接

代码语言:javascript复制
ln file link

4.举例

三、区别

1.本质:

硬链接:本质是同一个文件

软链接:本质不是同一个文件

2.跨设备

硬链接:不支持

软链接:支持

3.inode

硬链接:相同

软链接:不同

4.链接数

硬链接:创建新的硬链接,链接数会增加,删除硬链接,链接数减少

软链接:创建或删除,链接数不会变化

5.文件夹

硬链接:不支持

软链接:支持

6.相对路径

硬链接:原始文件相对路径是相对于当前工作目录

软链接:原始文件的相对路径是相对于链接文件的相对路径

7.删除源文件

硬链接:只是链接数减一,但链接文件的访问不受影响

软链接:链接文件将无法访问

8.文件类型

硬链接:和原文件相同

软链接:链接文件,和原文件无关

9.文件大小

硬链接:和原文件相同

软链接:原文件的路径的长度

0 人点赞