Linux---软链接与硬链接


创建时间:2022-04-06-22:58
说明:简单使用ln命令来创建软链接和硬链接
修改时间:
修改内容:


ln链接命令

使用 ln 命令,对文件或目录进行软链接(可以指向任何位置的目标),对文件进行硬链接(硬链接不支持跨文件系统),具体细节如下:
在这里插入图片描述
注:

  1. ln 命令默认创建为硬链接,使用 -s 选项时创建符号链接(软链接)
  2. 使用硬链接,删除目标文件并不会使目标文件真正消失,只有当删除所有指向目标文件的硬链接,目标文件才会真正消失
  3. 软链接可以指向任何位置的目标(文件或目录),但最好使用绝对路径,删除目标后,所有软链接均不可再用

硬链接和软链接

硬链接

/*命令语法*/
ln 目标 链接名

实例如下:
在这里插入图片描述
综上:使用硬链接会使所有的链接名和目标使用同一份 inode(索引号),即便移除目标文件,使用链接名仍可以访问到同一个 inode。因此,移除目标文件并不会使 inode 消失,只有把目标文件和所有链接名均移除,inode 才会消失( inode 是标识文件的 id,当 inode 不存在,文件也就不存在了)。

软链接

/*命令语法*/
ln -s 绝对路径下的目标 链接名

实例1—使用绝对路径创建软链接:

在这里插入图片描述
Q1:为何软链接名的 inode 和目标文件的 inode 不一致,删除目标文件后,软链接名就不能执行了呢?
在这里插入图片描述
A1:注意看上图,虽然软链接名的 inode 和目标文件的 inode 不一致,但是软链接名是指向目标文件的。可以理解为:hello1 的 inode 2757405 指向 hello 的 inode 2757395,当删除 hello 后,hello对应的 inode 也就不存在了,因此 hello1 就不能执行了,inode 是文件的 id,文件不存在了,id也就不存在了

实例2—相对路径和绝对路径的区别

  • 相对路径
    在这里插入图片描述
  • 绝对路径
    在这里插入图片描述
    综上:使用绝对路径创建软链接,不会丢失链接属性,最好使用绝对路径创建软链接

小结

  1. 硬链接不能用于目录,只能用于文件;软链接可用于文件和目录
  2. 硬链接与目标文件共用同一个 inode,移除目标文件并不会使 inode消失,只有当所有硬链接和目标文件均移除后,共用的 inode 才会消失
  3. 软链接最好使用绝对路径来创建,并且在移除目标文件后,软链接将不能使用,这是因为软链接的 inode 是指向目标文件的 inode 的,当目标文件移除后,inode 就会不存在,从而导致软链接不能使用
  4. 软链接使用绝对路径创建能够保持链接属性,而相对路径则不能

以上,就是软链接和硬链接的简单使用,在后续若有不同的理解和认识,会对内容和表述进行补充或更正。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值