首页 > 编程知识 正文

硬连接与软连接,建立软连接和硬链接的区别

时间:2023-05-05 20:24:33 阅读:235125 作者:4069

linux中文件的inode编号的意义:

文件分为数据和元数据。

数据:用户记录在物理磁盘空间的真实数据。

元数据:分为文件名、文件大小、权限、inode编号、属主、属组、等,其中inode编号是指向其在物理磁盘中的真实的数据的。可以使用ls -l命令查看文件的inode编号。

硬链接:
硬链接就是同一个inode编号,不同文件的名字。

软链接:
是一个文件指向文件的路径,相当于windows的快捷方式。

硬链接的特性:

1不能跨文件系统创建硬连接

在/data目录下创建f1文件,然后在根下,创建/data/f1的硬链接看看能否创建成功

2不能对目录创建硬链接,因为是同一个inode编号,如果对目录创建连接,就会形成死循环。

查看a目录下的inode号


进入a目录下,查看隐藏文件.的inode编号和在进入b目录下查看…的inode编号


//这个也是linux特有的目录的硬链接了,所以在创建目录的时候,其硬链接的次数就是3。

3还有一个就是,对一个文件硬链接一次,其硬链接的次数就增加一次。

软链接的特性:

1创建软件的次数的时候,其links的次数不会增加,并且可以跨文件系统创建。

查看f1的inode为2,后使用相对路径在其文件夹下d创建其/data/f1的软链接,后查看其创建的软链接,发现未能正常创建。


//因为原文件如果要写相对路径,则要相对于创建文件的相对路径,重新创建,并且不会增加硬链接数

在/data/f1文件下写入数据,然后查看刚刚软链接文件,发现数据也是一样的。


2软链接可以对目录创建,其大小指向的路径的字符串的长度。

创建/data/ssss 文件夹


使用相对于原文件相对路径,在/dev/ssss111links


查看其软连接,看看是否创建成功,其大小创建的文字的大小。

总结硬链接和软连接的区别:

1硬链接不能创建目录和跨文件系统创建,软连接可以对目录和跨分区。

2每增加一次硬链接创建,其links次数便会增加一次,其inode相同。而软连接是指向另一个文件路径,其大小指向的路径字符串的长度,不会增加减少目标inode的引用计数,其inode不同。

3删除文件的硬连接的时候,对原文件不会影响,但如果原文件没有了硬连接,那么会导致文件删除。

4删除软连接的原文件的话,会导致连接指向失败。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。