Linux硬链接与软连接

Linux文件包含两部分数据,用户数据和元数据,期中用户数据存放的就是文件的存储内容,元数据存储的即是文件的属性,所有者,权限,创建时间,还有一个最重要的就是inode号.

在Linux系统中,真正区分一个文件的是这个文件的inode号而非文件名,并且多个文件名对应一个inode号也是很常见的,因此,Linux中要真正删除一个文件,需要将该文件inode号对应的所有不同文件名的文件路径删除掉,这个文件才会真正被释放掉.

举个例子,有一个文件inode号为12700,而文件A,B,C的inode号均为12700,因此这三个文件其实都代表的是一个文件,也就是inode为12700的文件,同样,如果要删除这个文件,必须将A,B,C均删除该文件 才会真的被释放.

这种多个文件对应一个inode号的方式也成为硬链接.

硬链接简单来说就是给源文件起个别名,不占用实际的存储空间,删除任何一个硬链接文件都不会对源文件造成影响,同样,删除源文件也不会对硬链接文件造成影响.

与之对应的还有软连接,软链接在Linux中是一种特殊的文件,占用实际的存储空间,特殊之处在于它的用户数据区存储的是另一个文件的位置信息.删除软连接不会对源文件影响,但删除源文件会导致软连接成为一个死链接.

 

posted @   _程序兔  阅读(203)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
点击右上角即可分享
微信分享提示