【Linux】软硬链接

文章详细介绍了如何在Linux系统中制作软链接和硬链接,以及它们的区别。软链接具有独立的inode,类似于Windows的快捷方式,常用于方便访问路径深的文件。硬链接与原始文件共享inode,不适用于目录,并且在原始文件删除后仍可访问。
摘要由CSDN通过智能技术生成


制作软硬链接,对比差别

制作软链接

1.先创建一个文件,并向其中写入内容:
在这里插入图片描述
在这里插入图片描述
2.建立软链接:ln -s myfile.txt my-soft
在这里插入图片描述

可以发现,软链接是一个独立的链接文件(lrwxrwxrwx,l表示该文件是链接文件),有自己的inode number,那么也必有自己的inode属性和内容。并且我们cat my-soft文件,能查看到内容。软链接内部放的是自己所指向的文件的路径。my-soft -> myfile.txt

制作硬链接

去掉选项-s,就可以实现硬链接:ln myfile.txt my-hard

unlink 硬链接文件名 //可以删除硬链接

竟发现硬链接和目标文件共用一个inode number,意味着,硬链接一定是和目标文件使用的是同一个inode!硬链接没有独立的inode!并且可以发现有个属性变成了2!
在这里插入图片描述

那硬链接究竟做了什么呢?答案就是在当前目录下建立了新的文件名和老的inode的映射关系,它只修改了目录!如果我们rm myfile.txt,将原文件删除,会发现my-hard依然健在,并且我们cat my-hard查看这个文件的内容,依然不变。只是发现属性竟从2又变成了1。
在这里插入图片描述
在这里插入图片描述

提出软硬链接的应用场景

软链接的应用场景

在这里插入图片描述
若我将mytest可执行文件放在d3中:
在这里插入图片描述
那我们在当前目录下,想执行mytest是不是就很麻烦呀,我们得到d3文件夹中才能执行,所以我们现在用软链接解决这个问题:

ln -s ./d1/d2/d3/mytest mytest

在这里插入图片描述
显示:软链接文件名 -> 目标文件的路径

创建软链接之后,我们就可以直接在当前目录下执行mytest可执行文件了,所以软链接的作用:把一个路径很深的程序或者库或者对应的头文件建立到我们的当前目录下,让我们能快速的访问这个文件。类似windows下的快捷方式

硬链接的应用场景

我们先在当前目录下创建一个空目录:当前empty目录的硬链接数为2,原因是empty目录下还有隐藏文件,.代表当前目录,这个.就是empty目录的硬链接。
在这里插入图片描述
现在在empty目录下在创建一个目录dir,此时empty目录的硬链接数变为了3:
在这里插入图片描述
因为此时dir的…文件指向上级的目录empty,所以硬链接数为3
在这里插入图片描述

目录下的隐藏文件:.表示与当前目录建立硬链接;..表示与当前目录的上级目录建立硬链接,这也是为什么我们cd ..能回到上级路径的原因,因为..是上级路径的硬链接。

注意:用户不能给目录建立硬链接。

总结

软硬链接本质区别就是有无独立的inode.

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_麦子熟了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值