简介Linux的基础很重要。无论是工作还是我们平时的学习,掌握了Linux肯定会对你的学习道路有很大的帮助。下面简单介绍下Linux中的硬链接和软链接。为了更好的理解我下面的分享,你需要掌握Linux中inode的概念。如果你还不知道,我推荐你去我的另一个分享。首先了解inode。门户硬链接什么是硬链接?Linux中一个文件的inode号和文件名一般是一对一的关系,但也可以有多个一对多(多个文件名指向一个inode号),称为硬链接.特点您可以使用不同的文件名来访问相同的内容。当修改其中一个文件的内容时,会影响其他文件的内容。删除其中一个文件后,其他文件可以正常访问,不影响实例。首先创建一个测试文件1,写入"bearecorder"vim1.txt然后创建一个硬链接格式:lnsourcefiletargetFileln1.txt2.txt可以看到执行命令后多了一个2.txt。我们打开2.txt看看~~vim2.txt发现内容和1.txt一样,类似copy,但有区别:硬链接,无论是修改源文件还是目标文件,会影响其他文件,而复制后的文件修改不会影响源文件,为什么不影响呢?无非是inode问题。我把2.txt复制到3.txt,我们可以用下面的命令来查看区别:ls-i从图中我们可以发现1和2的inode号是一样的,所以修改其中一个文件就会更改其余文件的内容。copyoutput3.txt生成一个新的inodenumber,所以不会影响源文件。所以我们验证了我们上面的结论。我们再验证一下,修改inode号相同的文件,其他文件会不会随之改变。我打开2.txt修改内容,看看1.txt有没有更新,发现1.txt也更新了,验证了我们的结论1和2。那我们把2.txt删掉试试,发现1.txt还在有,第三个结论没问题。软链接已通过上述验证。相信大家应该对Linux中的硬链接有了很好的掌握。然后说一下软链接。如果你掌握了硬链接,那么你可以很快掌握软链接。硬链接和软链接的区别在于硬链接的inode号相同,软链接相反。硬链接读取不同文件的内容,软链接读取源文件的内容。示例通过以下命令创建软链接命令结构:lnsourcefiletargetfileln-s1.txt2.txt观察2.txt后面,什么意思,就是把2.txt的路径指向1.txt的路径,当我们访问2.txt的时候,实际读取的是1.txt的内容。我们访问2.txt看vim2.txt的内容是一致的,没有问题。如何验证我们上面所说的确实读取了1.txt的内容呢?很好验证,我们删除了1.txt。很明显,删除1.txt后,字变成了红色,为什么呢?很好理解,出现错误,找不到文件,我们删除了1.txt,2.txt仍然指向1.txt,一个不存在的文件。我们尝试访问2.txtcat2.txt,发现报错,找不到文件,所以我们的结论是正确的。看完文章,相信你已经基本掌握了Linux的inode、硬链接、软链接。我希望它可以帮助你看到它。原创个人博客
