[NIO.2] 第十九篇 软链接与硬链接

本文介绍了Unix系统中的两种链接概念——硬链接和软链接(符号链接),并详细对比了两者的区别,包括适用范围、跨文件系统能力等。文章还提到了Windows系统对链接的支持情况。

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

对于 Unix 用户(特别是管理员)来说,要非常熟悉链接的概念。链接分为两种:软链接(符号链接)和硬链接。如果你是 Windows 用户,可能对链接不是很熟悉,但是 Windows 系统却完全支持它们,尤其是软链接,在 Windows 中通常叫做快捷方式。
NIO.2 同时支持这两种链接,每个 Path 类的方法都能判断当前文件是否为链接,并且按你的要求做相应的处理。

[b][size=x-large]链接简介[/size][/b]

当你只通过文件名就能得到文件,而不需要经过层层目录的时候,那么这个文件就被称为链接。链接分为软链接(符号链接)和硬链接。当一个文件的两个名字具有相同的权重,并且在索引节点表(inode table,在 Linux 中,文件并非直接放在目录中;而是分配了节点索引,用于 Linux 定位)中指向相同的硬盘数据,那么就称为硬链接。当一个文件存在一个主文件和一个额外的入口文件,这个入口文件中存有指回主文件的引用,那么就称为软链接。软链接比硬链接更为灵活,因此使用也更为广泛。下面看看这两种链接的主要异同:

[list]
[*] 只能为文件创建硬链接,不能为目录创建硬链接;而软链接即可为文件创建,也可以为目录创建。
[*] 硬链接不能跨文件系统存在;软链接可以跨文件系统存在。
[*] 硬链接的目标文件必须存在;软连接的目标文件可以不存在。
[*] 删除硬链接指向的目标文件并不会删除硬链接自身,并且硬链接依旧可以提供底层文件的内容;删除软链接指向的目标文件并不会删除软链接自身,但是删除了目标文件之后,软链接也就变成了一个无效的链接文件。
[*] 删除硬链接或软链接,并不会影响目标文件。
[*] 硬链接和目标文件是相同的实体,所有属性都完全一样;软链接则不相同。
[*] 硬链接的行为和一个普通文件完全一样,因此硬链接很难被找到;软链接的目标文件可以不存在,因此软链接使用起来更为灵活。
[/list]

文章来源:[url]http://www.aptusource.org/2014/03/nio-2-symbolic-and-hard-links/[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值