Linux软硬链接的特点

文章详细解释了软链接和硬链接的区别。软链接具有自己的inode,存储原文件的路径,可以链接不存在的文件或目录;而硬链接与原文件共享inode,不占用额外空间,删除源文件不影响硬链接。当源文件被删除后,软链接失效,但重新创建同名文件,软链接会指向新文件,硬链接则保持原有内容不变。
摘要由CSDN通过智能技术生成

首先我们可以用图片了解软硬链接

如果我想要访问文件a中的内容,电脑需要在文件a的属性里找到它的inode节点号(比如图中的1234),然后磁盘通过inode节点号在inode table里面找到对应的数据(比如图中的this),然后显示到屏幕上

 

 而硬链接(如图a.hard)因为本质和原文件一样所以硬链接和原文件的节点号相同(如下图)

 

 而软链接(如图a.soft)因为本质和原文件不同所以它有自己的节点号(比如11111),节点号进入的内容是原文件(文件a)的路径,之后和打开a文件相同。

 下面我们来实际操作来了解他们的特点

首先我们先在test文件夹内

创建文件a:touch a

创建文件a的硬链接:ln a  a.hard

创建文件a的软连接:ln -s a a.soft

 

 我们用echo分别给 文件a 和他的软硬链接进行编辑,并用cat查看内容(如图)

 

 

我们可以看到通过文件a和它的软硬链接编辑文件的内容,只要其中一个内容改变,其他三个的内容都随之改变。

当我们删除a文件时

 

 

可以看到他的软链接标红 并且找不到文件,而硬链接则正常显示

我们可以画图了解

 当a文件被删除时,因为他的软链接找不到a文件所以无法显示,而硬链接无影响。

当我们重新创建一个文件a 并且输入内容进文件a时

我们可以看到软连接恢复正常并显示新的a文件的内容,而硬链接保持和之前的a文件内容相同

 以上我们可以总结出

软连接:

(1)软链接是存放另一个文件的路径的形式存在;
(2)软链接可以对一个不存在的文件进行链接,而硬链接必须要有源文件;
(3)软链接可以对目录进行链接。

硬链接:
(1)硬链接是以文件副本的形式存在,不会占用实际空间;
(2)删除其中一个硬链接并不影响其它有相同的inode的文件。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值