文件构成及软连接、硬连接详解

文件构成及软连接、硬连接详解

一、简介

大家在windows下可以看到我们桌面上有一些程序。双击它就可以运行了。在我们桌面上的图标只是一个快捷方式,它真正的运行路径是在其他的磁盘中。这个就是我们的windows中链接。我们的Linux系统中也存在类似的形式,我们Linux中的链接形式有两种,一种叫做软链接,一种叫做硬连接。在讲解之前,大家需要先知道一些文件的基本知识。

Linux系统中一个文件由目录项inode表数据块组成。

目录项:包括文件名和inode节点号

Inode表:包含文件的一些信息。例如,inode号,文件类型,文件大小等待。

数据块:文件具体内容存放的地方。

当我们查看一个文件的时候,linux系统的运行过程如下图。


1、首先根据文件名,找到我们目录项中的inode号。

2、通过inode号进入我们inode表中,查找到该文件中一些信息。

3、然后通过inode表中的保存的数据区的指针,读取我们相应数据区的内容。

一、硬链接

本质:是给我们的文件取别名。与源文件直接关联。修改一个,另一个同时被修改。删除一个另一个不会有影响。

Linux系统中规定,只有在文件的打开次数为0(即文件这个时候没有打开),并且文件的硬连接数为0,此时文件才会被删除

特点:

(1)不占用硬盘空间

(2)不能对目录操作

(3)不能跨文件系统

命令:ln源文件名硬链接文件名

例如:


由上面接口可以知道,我们新建的硬链接文件,只是给源文件起了一个别名,他们公用同一个inode号。

一、软链接(符号链接)

本质:类似于我们windows的快捷方式,用来记录我们目标的路径

特点:(1)占用磁盘空间

(2)可以对目录操作

(3)可以跨文件系统

命令:ln-s源文件软链接文件


可以发现我们新建的hello2.c实质是我们hell1.c的快捷方式。并且他们的inode号不一样。

原理图:


从图上可以看出硬链接和软链接的区别:

1:硬链接原文件和新文件的inode编号一致。而软链接不一样。

2:对原文件删除,会导致软链接不可用,因为软连接存储是路径,而硬链接不受影响。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值