Linux中硬连接(hard link)与软连接(symbolic link)的区别

Linux Ext文件系统

Linux的Ext文件系统是如何与磁盘内存产生对应的呢?我们知道,在使用磁盘内存之前,需要为磁盘分区,然后为所分区域格式化出一个统一的文件系统(也有例外,如LVM与磁盘阵列技术)。那么,在这样一个统一的文件系统中,根据数据的不同,就可以将内存分为以下3种类型:

  • inode 记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的block号码
  • block 实际记录文件的内容,如果文件太大,则会占用多个block
  • super block 记录文件系统的整体信息,包括inode/block的总量、使用量、剩余量,以及文件系统的格式与相关信息等

因此对于一个文件来说,它的inode号就类似于id的作用,用于存放关于该文件的一些基本信息。


若两个文件,拥有同样的inode,那么就产生了所谓的硬连接。以下基于VirtualBox Ubuntu操作系统来进行试验,使用本地的Cygwin ssh远程连接到虚拟机。

1、首先创建文件a,并查看其属性
创建查看a

2、创建a的硬连接b(使用ln命令),并查看a和b的属性
创建查看b
可以发现,a和b的属性完全一致,注意其中第二列数字表示的就是该文件的硬连接数

3、对于硬连接来说,它的好处就是“安全”。你将其中任何一个文件名删除(rm -f),文件都是存在的,因为文件的inode一直存在。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值