文章标题

本文介绍了Linux中的硬链接和软链接概念。硬链接相当于文件的别名,拥有相同的inode,仅能对已存在文件创建,不能针对目录,删除所有硬链接后文件才会被删除。软链接则是一个独立的文件,类似指针,删除源文件后软链接会失效。了解这两种链接需理解Linux中的iNode,它是文件元数据的一部分,通过inode号查找文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux中的硬链接和软链接

硬链接和软链接都是linux中对文件方便操作的一种技术,硬链接简单来说就像是对文件器别名,文件的每一个别名都相当于一个硬链接,只有删除所有的硬链接后文件才会被删除。软链接也被称为符号连接,它本质是就是一个文件,当把源文件删除的时候,软链接在使用中就会出错,这有点类似指针,一个变量可以有多个指针指向它,当变量被释放的时候,指针就变成野指针。要深入了解硬链接和软链接需要对linux的文件系统种的iNode有个认识。
iNode:
文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;而元数据则是文件的附加属性,如文件大小、创建时间、所有者等信息。在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含文件名,inode 号即索引节点号)才是文件的唯一标识而非文件名。文件名仅是为了方便人们的记忆和使用,系统或程序通过 inode 号寻找正确的文件数据块。图 1.展示了程序通过文件名获取文件内容的过程。
这里写图片描述

文件分目录文件和档案文件,目录文件是记载目录下的文件名,档案文件是记录文件实际内容的地方。所以硬链接就是在目录文件中增加一个目录项,这个目录项包含了文件的别名,并且它指向了相同的iNode。

硬链接:
从上面介绍的可以知道硬链接的特点是:
<1>文件有相同的 inode 及 data block;
<2>只能对已存在的文件进行创建;
<3>不能交叉文件系统进行硬链接的创建;
<4>不能对目录进行创建,只可对文件创建;
<5>删除一个硬链接文件并不影响其他有相同 inode 号的文件。
软链接:

从这里可以看出软链接就是一个独立的文件,文件大小跟源文件没有直接的对应关系,它就像一个指针指向了源文件。所以软链接不存在硬链接中的问题。
这里写图片描述
软硬链接的创建方法:
ln file hardLink; //硬链接
ln –s item sysLink; //符号链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值