Unix(Linux)软硬连接的区别

本文详细解析了Unix/Linux环境下软连接和硬连接的四个关键区别:软连接能够跨越文件系统,而硬连接不能;软连接通过文件路径而非i节点号进行引用,硬连接则指向同一个i节点;软连接可以连接不存在的文件名,而硬连接不行;软连接允许对目录进行连接。

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


在Unix(Linux)下软连接和硬连接有什么本质的区别?
4点不同:
1> 软连接可以跨文件系统,硬连接不可以。
2> 关于i节点的问题。硬连接不管有多少个,都指向的是同一个i节点,会把结点连接数增加,只要结点的连接数不是0,文件就一直存在,不管你删除的是源文件还是连接的文件。只要有一个存在,文件就存在(其实也不分什么源文件连接文件的,因为他们指向都是同一个i节点)。当你修改源文件或者连接文件任何一个的时候,其他的文件都会做同步的修改。软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以删除连接文件对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件。软链接有自己的inode,并在磁盘上有一小片空间存放路径名。
3> 软连接可以对一个不存在的文件名进行连接。
4> 软连接可以对目录进行连接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值