大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-基础篇的第54篇文章。
今天我们主要来聊聊文件的硬链接和软连接
说到Linux链接,一般分为两种,一种是Hrad Link(硬链接), 另一种是Symbolic Link (软连接) 。
在这里我们使用的命令是ln
在Windows中,快捷方式是指向原始文件的一个链接文件,可以让用户从不同的位置来访问原始的文件, 源文件一旦被删除,链接文件也会失效。
但是Linux当中的快捷方式不太一样,我们先来看硬链接
硬连接指通过索引节点号来进行连接。我们可以理解为文件名映射到文件的方法, inode节点上的链接数,就是链接到该文件的硬链接个数。
如下图: 可以看到硬链接数一开始为1, 当增加一个硬链接后,硬链接数字变成了2.
从上图我们可以看到,新增加的硬链接文件名字与源文件的名字并不相同。所以硬链接我们又成为是,多个文件名指向同一个索引节点。
看下图,虽然文件名字不一样,但是索引节点相同
那么问题来了,如果我删除掉其中一个,另外要给会被删除吗?
可以看到删除后,源文件还存在,相当于一个备份,即使误删除了一个,另一个也存在。
注意:
软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息
软连接中我们使用的命令是ln -s
特点:
下图的实验说明了: 修改原文件内容,链接文件内容也会修改
从下图可以看到: 删除原文件后,并不影响链接文件的使用
这里先把sdb1挂载到了/mnt去,然后再创建硬链接到mnt上去,是无法创建的,因为不能跨分区
有些资料上显示,硬链接不能跨目录,我做了下测试,发现是可以的。
如果我们删除原文件会怎样?
从上图可以看到,如果我们删除掉原文件,软连接也就不存在了,颜色也变成了红色
错误案例:之所以错误是因为 再创建跨分区软链接时,源文件必须要写绝对路径。
正确示范:
上图可以看到成功常见了跨分区的软链接。
以上是对软硬链接的介绍和使用,软连接在日常工作中用的还是比较频繁的。
软硬链接相对来说比较简单,练上几次就能上手。
我们高胜寒,一个在教培行业不忘初心的人,欢迎点赞收藏。我们下篇文章再见!