Linux下的硬链接与软链接

本文详细解释了文件系统的硬链接和软链接的工作原理。包括inode的概念、硬链接如何为inode增加别名以及软链接如何指向另一个文件。还介绍了如何使用Linux命令创建这两种链接。

本文总结自:

https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.html#fig2

https://blog.youkuaiyun.com/mahao1107/article/details/46851969

一个文件可以用下图表示:

其中,文件名是我们能看到的那个名字。

inode被包含在元数据(metadata)中,元数据中记录文件的附加属性,比如文件大小,创建时间等等。

inode是索引节点号,是文件的唯一标识。可使用命令:

ls -i

来查看

data blocks是文件数据块,记录的是文件的真实内容

这里要说一句:

当我们用rm删除文件的时候,仅仅是解除filename和inode的引用,一般来说并不会摧毁问文件数据。
而硬链接,就相当于对同一个inode增加了一个别名

所以用rm删除文件的时候,如果对inode创建了硬链接,则还可以通过另一个filename来访问。

硬链接的创建方法:

ln oldfile newfile

软链接,则是创建一个data block,这个data block中存储的是另外一个filename。

所以当我们用rm删除了file,那么cat softlink将会得到实际文件的输出。

软链接的创建方法:

ln -s oldfile newfile

使用ls -l 命令可以看到文件的链接数,这个信息出现在输出的第二列.

创建软链接时,文件的链接数不会增

同时,可以看到->符号,这个符号的指向是从软链接文件指向源文件

使用ls -i指令可以发现,硬链接文件的inode号码和源文件相同,软链接文件的inode号码和源文件不同,这和以上的分析是相同的。

 

转载于:https://www.cnblogs.com/geeklove01/p/8445605.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值