Linux:硬链接和软链接

一、概念

硬链接: 硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。硬链接的作用之一是允许一个文件拥有多个有效路径名,这样用户就可以建立硬链接到重要的文件,以防止"误删"源数据 。如果删除了其中一个,对另外一个没有影响。每增加一个文件名,索引节点上的链接数增加一,每删除一个对应的文件名,索引节点上的链接数减一,直到为0,索引节点和对应的数据块被回收。
符号链接(软链接): 与硬链接不同的是软链接会创立一个独立的文件,软链接文件目录中的节点与原文件目录中的节点是不相同的,指向的不同的数据块,可以根据软链接文件找到原文件的目录项。软链接文件和原文件是“主从关系”,如果原文件被删除后,软链接文件依旧存在,但指向的是一个无效的链接。

二、区别

硬链接:

  • 使用不带选项-s的ln命令创建
  • 不能对目录创建硬链接,原因有几种,最重要的是:文件系统不能存在链接环(目录创建时的"…"除外,这个系统可以识别出来),存在环的后果会导致例如文件遍历等操作的混乱
  • 只能在与源文件相同的文件系统、分区和挂载设备上创建,不可跨文件系统
  • 具有硬链接关系的两个文件名指向的是硬盘上的同一块存储空间
  • 删除硬链接的任何一方文件后,另一方文件仍然有效
  • 不能对不存在的文件创建硬链接

软链接:

  • 使用带选项-s的ln命令创建
  • 针对文件和目录均可建立软链接
  • 一个文件(或目录)指向另外一个文件(或目录)的文件名(或目录名),类似于Windows系统中的快捷方式
  • 删除源文件或目录后,软链接文件或目录无效
  • 可跨越不同的文件系统、分区和挂载设备创建
  • 可以对不存在的文件创建软链接

三、相同点

  • 对任何一方的内容进行修改都会影响到另一方
  • 链接文件都不会将源文件复制一份,只会占用非常少量的用于存储链接信息的存储空间

四、如何创建

硬链接语法格式:ln 源文件 链接名
软链接语法格式:ln -s 原文件 链接名(需要写绝对路径)

创建软硬链接:

在这里插入图片描述
删除原文件:

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值