【软硬连接的创建和区别】

软硬连接的创建和区别

inode和block的初步了解

1.在Linux系统中一切都是文件,而inode(索引节点)是文件的一个特征描述,记录的是文件的元信息,其中元信息包括,文件名,文件的字节数,使用的物理块,文件的权限及属组信息,近期操作该文件的时间,硬链接数量等信息
2.文件数据分为元信息和实际数据,文件存储在硬盘上,硬盘的最小存储单位为“扇区”(每个扇区512字节),连续的8个扇区组成一个block(块,文件存取的最小单位),系统在读取硬盘数据时,是一次性连续读取多个扇区

软连接

和源文件本质是两个不同的文件(即,源文件和软连接的inode不同),软连接中保存的是源文件的路径信息
通过软连接打开文件的过程为,先通过inode信息找到对应的block,读取源文件的路径信息,在读取源文件的inode信息,再通过源文件的inode读取源文件的block
因此当源文件被删除时,通过软连接无法打开相应的文件,但是重新在软连接保存的目标路径上创建一个同名文件,便可以打开

硬链接

本质上和源文件是同一个文件,(即,硬链接和源文件的inode相同)
通过硬链接打开文件的过程为:直接通过源文件的inode读取对应的block
当其中一个被删除时另外一个仍然可以打开原来的的文件,但是如果创建新的重名文件,则不是同一个文件(即,inode不同)
在这里插入图片描述
[root@localhost test]# ln a a.hard 创建硬链接
[root@localhost test]# ln -s a a.soft 创建软连接
在这里插入图片描述
[root@localhost test]# echo 123 > a向a文件中写入“123”
[root@localhost test]# cat a a.hard a.soft查看“a a.hard a.soft"三个文件的内容
在这里插入图片描述
[root@localhost test]# stat a a.hard a.soft查看三个文件的元信息
可以看到a和a.hard的元信息是一致的,而a.soft和其余两个不一样
在这里插入图片描述
把a文件删除[root@localhost test]# rm -f a
查看a.hard 和a.soft[root@localhost test]# cat a a.hard a.soft
会发现无法找到a.soft,而a.hard依然可以查看到源文件
在这里插入图片描述

此时在同样的位置创建一个新的a文件,并写入”1234“
查看后会发现,a.soft和a的内容是一样的,而a.hard还是原来的内容
在这里插入图片描述
查看三个文件的元信息
此时可以看到新创建的a文件与原来a.hard的inode不一样,硬链接数量变为1

软链接:
1、和原文件不是一个文件
2、查看软链接的时候,内容和源文件一模一样,内容修改保持一致,文件大小不一样
3、源文件被删除,软链接还在,但是看不到内容
4、保存的是源文件的路径

硬链接:
1、和源文件有相同的inode,存放内容的块也是一样的
2、查看硬链接的时候,内容和源文件一模一样,内容修改保持一致,文件大小也保持一致
3、源文件被删除,硬链接还在,可以看到内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值