linux硬链接和软链接的区别

概括:
1.软连接有自己的inode文件节点,并在磁盘上有一小片空间存放路径名;
2.硬链接是一个文件有多个别名,系统并不为它重新分配inode节点。
3.软连接可以对目录进行连接,硬链接不行。
具体看代码:

可以看到硬链接的inode节点与其父目录的inode文件节点相同。

参考信息:
《linux就该这样学》
硬链接可以被理解为一个“指向原始文件inode的指针”,系统不为它分配独立的inode
和文件,所以实际上来说硬链接文件与原始文件其实是同一个文件,只是名字不同。于是
每添加一个硬链接,该文件的inode连接数就会增加1,直到该文件的inode连接数归0才
是彻底删除。概括起来说因为硬链接实际就是指向原文件inode的指针,即使原始文件被
删除依然可以通过链接文件访问,但是不能跨文件系统也不能链接目录文件。

《鸟哥的私房菜》
因此,通常情况下,设置硬链接文件时,不会占用磁盘空间和inode。
新建一个硬链接只是在某个目录(硬链接所在的当前目录)下的block里多写入一条关联数据而已。
只有在当前目录的block刚好填满时,才有可能为当前目录新增一个block来记录文件名和inode的关联记录
因为硬链接所用掉的关联数据量很小,所以说硬链接通常不会改变inode和磁盘空间大小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值