[RHEL7基础篇-9] 软硬链接

[RHEL7基础篇-9] 软硬链接

简介

在Linux当中也有类似于Windows当中快捷方式的应用,这就是Linux当中就是链接,而链接又分为硬链接和软链接,这两个链接会有不同的特性,下面将会详细讲述硬链接与软链接的不同属性

硬链接

  1. 不能跨分区,数据一直保留在一个块内,而硬链接文件只是多出一个在不同目录下的关联,不会另外产生节点和数据块。简单来说就是不同分区不能建立硬链接;

  2. 硬链接不能使用在目录上,只能使用在文件上;

  3. 命令

    # ln sourcefile targetfile
    targetfile就是要建立的链接名字
    

    在这里插入图片描述

  4. 硬链接并没有占用inode
    在这里插入图片描述
    并且通过查看文件的inode发现,硬链接的inode与原文件的inode是相同的
    在这里插入图片描述

  5. 思考
    1)默认新建的文件或目录对应的连接数是多少,文件建立硬链接后,链接数的变化情况?同时链接文件的情况又是如何呢?
    在这里插入图片描述
    默认新建的文件或目录对应的链接数为1,为原文件本身(可以理解为我们看到的原文件本身就是硬链接),当创建硬链接后链接数会加1,如上图file3有file4、file7和file8三个硬链接,而硬链接的数量显示为4,是因为该数字包含了file3本身的这个硬链接。而链接文件的数据也和原文件是一样的

    2)删除硬链接后,原始数据是否存在
    在这里插入图片描述
    当删除了硬链接后原始数据仍然是存在的

    3)删除原文件后,查看硬链接,原始内容是否还在
    在这里插入图片描述
    在创建硬链接后,删除原文件,访问硬链接的文件发现内容依旧是存在的,其实这也表明了原文件的删除并不代表在硬盘当中抹去了,只是代表与该inode指向的硬盘存储区域的硬链接断开了,也解释了为什么新建立的文件或目录的硬链接数显示的是1而不是0,由于硬链接是根据分区的inode与硬盘进行链接的,所以才不能实现跨分区进行链接,因为别的分区也有相同的inode代表着该分区块当中存储的数据
    在这里插入图片描述

软链接(快捷方式)

  1. 无分区限制

  2. 可作用文件和目录

  3. 会产生新节点和新块(inode),但磁盘空间消耗可以基本忽略

  4. 命令

    # ln -s sourcefile targetfile
    targetfile就是要建立的链接名字
    

    在这里插入图片描述

  5. 思考
    1)当删除链接文件或目录时,原始数据是否被删?
    在这里插入图片描述
    在硬链接部分我们提到,在Linux当中其实file4所代表的原始文件其实也是一个硬链接,在这里我们简称为原链接,当中存储的数据简称为原始数据,由上图可以看出,软链接与硬链接不同的是,软链接的链接文件并没有复制一份原始数据,只是一个链接文件指向原链接,然后通过原链接再找到当中的原始数据,所以删除原链接后原始数据并没有被删除,仍然存在于硬盘或者内存当中,只不过是原链接被删除了导致软链接文件无法找到原始数据,但通过数据恢复手段仍然能通过重新创建原链接来找回原始数据,如下图所示:
    在这里插入图片描述
    注:b --> inode(b) --> b数据 --> a --> inode(a) --> a数据,在这一整个链当中缺少了其中一环都会导致软链接报错,导致软链接无法找到原始数据

    2)cp或mv时,是什么样的情况?
    cp时并没有对软链接造成影响
    在这里插入图片描述
    mv时由于改变了file4的文件名,而file5所指向的是文件名为file4,所以当cat file5的时候才会报出无法找到文件或目录的错误
    在这里插入图片描述

    3)总的来说,软链接相比起硬链接会有空间占用少、无分区限制等优点,但是其中也有需要注意的点,例如文件拷贝或使用rsync进行同步与scp进行文件传输时应该注意文件的完整性,不要把软连接的链接文件错当作原文件进行传输。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

JovaZou

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

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

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

打赏作者

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

抵扣说明:

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

余额充值