php 删除硬链接,硬链接与软链接详解

引言

Linux基础是非常重要得,无论是工作还是我们平时得学习,掌握Linux对你的学习道路一定能提供不少帮助。

下面简单的介绍下Linux中的硬链接和软连接,为了你更好的理解我下面的分享,你需要掌握Linux中的inode概念,如果你还不知道,推荐你到我的另一篇分享,先了解inode。传送门

硬链接

什么是硬链接

Linux中文件的inode号码与文件名一般都是一对一的关系,但是也可以多个一对多(多个文件名指向一个inode号码),称为硬链接。

特点

可以用不同的文件名访问同样的内容

对其中一个文件内容修改时,会影响到其他文件的内容。

删除其中一个文件时,其他文件可以正常访问,不受影响

实例

首先,创建一个测试文件一,并写入 "做个哎记录的人"

vim 1.txt

1460000021307038

接着创建一个硬链接

格式:ln 源文件 目标文件

ln 1.txt 2.txt

1460000021307036

可以看到执行命令后多了个2.txt

我们打开2.txt看看~~

vim 2.txt

1460000021307037

发现内容跟1.txt 一样,跟copy差不多,但也是有取别:

硬链接,无论是修改源文件还是目标文件,是会影响其它文件的,而copy后的文件修改是不会影响源文件的,而为什么不会影响到呢,无非就是inode的问题

我 copy 2.txt 到 3.txt,

我们可以通过一下命令来查看区别:

ls -i

1460000021307044

从图中可以发现, 1和2的 inode号码是一样的,所以修改其中一个文件,其余文件内容会随之变化. copy出来的3.txt 生成了个新的inode号码,所以是不会影响源文件的。所以验证了我们上面那个结论。

我们再验证一下,修改 inode号码一样的文件,其它文件是否会随之改变。

我打开2.txt 修改里面的内容,看1.txt是否有更新

1460000021307039

发现1.txt也更新了

验证了我们的1,2条结论。

那我们把 2.txt 删除试试

1460000021307042

发现 1.txt 还在,第三条结论也没有问题。

软链接

通过上面的验证,相信大家对Linux 的硬链接,应该掌握得差不多了,那我们接着来讲讲软连接,如果你已经掌握了硬链接,那软连接 很快就能掌握。

硬链接和软连接区别

硬链接inode号码一致,软连接相反。

硬链接读的内容是不同文件的内容,软连读的是源文件的内容。

实例

通过以下命令创建一个软连接

命令结构:ln 源文件 目标文件

ln -s 1.txt 2.txt

1460000021307041

观察2.txt 后面,什么意思呢,就是 把2.txt路径指向1.txt的路径,当我们访问2.txt的时候,实际读取的是1.txt的内容。

我们访问 2.txt看看

vim 2.txt

1460000021307043

内容一致,没问题。怎么验证我们上面说的实际读取的是1.txt的内容呢?很好验证,我们把1.txt删除了。

1460000021307040

明显看到,删除1.txt 后 字变红了,为什么呢?很好理解,有错误,文件找不到了嘛,我们把1.txt删除了,而2.txt还指向1.txt,一个不存在的文件。

我们试着访问下2.txt

cat 2.txt

1460000021307045

发现报了个错误,文件找不到,所以我们的结论没有问题。

篇尾

相信到这里你对Linux的 inode 、硬链接、软连接已经掌握得差不多了,希望能帮助到在看得你。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值