【Linux】--文件系统之软硬链接

通过上文的学习我们知道,我们对于一个文件的查找,是通过其inode编号进行查找的,那么我们软硬链接是有啥作用的呢?

软链接和硬链接、都两种链接都是实现一个文件、有多个入口的效果。

不过其实现的底层是有本质区别的

硬链接是直接共享器inode实现文件分身、软链接的话是通过独立的inode指向目标文件路径。

软链接和硬链接的创建

硬链接:

ln abc def

那么就可以使abc这个文件名、也是指向的def这个文件的inode的。

abc和def的链接状态完全是一样的,其被称为文件的硬链接,内核记录了这个连接数。

我们在删除文件的时候就干两个事情

1、将目录中对应的记录删除

2、将硬链接数-1,如果为0,那么将对应的磁盘释放

软链接:

其是通过名字引用另外一个文件,但是实际上,新的文件和实际的文件的inode是不一样的,应用场景上我们可以将其和我们的快捷方式。

语法:

ln -s abc.s def

下面我们来说二者的区别:

首先就是软链接的inode和原文件的inode是不一样的,而且软链接的文件大小很小很小

硬链接的话文件的inode和原文件的inode是一样的

软链接实际上是一个独立的文件、因为其有唯一的inode编号、那么文件=文件内容+文件属性

那么其内容就是指向的文件的路径字符串

硬链接其不是一个独立的文件、因为其没有独立的inode编号

其本质就是在目录下,建立新的文件名和目标inode的映射关系、其并没有在系统层面上创建新的文件。所以硬链接是链接文件的备份这样。

那么我们为啥不直接cp呢?

首先就是cp就是要新建文件,然后有独立的空间,需要使用到磁盘空间。

硬链接不会多占空间,其只是通过改变硬链接数,其都是指向的一个inode底层的数据块区只有一个。

注意:

我们可以对目录和普通文件设置软链接,但是不可以对目录文件设置硬链接。

比如我们查找一个文件,然后呢这个文件的上级目录硬链接了home,那么就会造成死循环了。

应用场景:

软链接的使用场景非常广泛、其比较常见的就是充当快捷方式

硬链接就是起到备份的作用

相关推荐
tg_xianheyun21 分钟前
CDN节点分布如何影响网页加载速度和用户体验
服务器·cdn加速·全球访问优化
lsh曙光38 分钟前
延时at指令和定时cron指令
linux·服务器·网络
圆山猫1 小时前
[Virtualization](四):Linux KVM/RISC-V 的 vCPU 运行路径
java·linux·risc-v
布鲁飞丝1 小时前
vivo Pulsar 万亿级消息处理实践()-Ansible运维部署
运维·ansible
XR1234567881 小时前
企业全光网络架构选型技术白皮书:从物理层到运维层的全链路分析
运维·网络·架构
似的8351 小时前
一步一步学习使用FireMonkey动画() 使用TAnimator类创建动画
linux·学习·nginx
HiDev_2 小时前
【非标自动化】2、认识元器件(直线模组)
运维·自动化
夏殇之殁3 小时前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript
龙仔7253 小时前
人大金仓 KingbaseES V8 只读账号创建完整运维笔记
运维·笔记·sql·人大金仓
我不管我就要叫小猪3 小时前
嵌入式Linux----网络通信
linux·运维·服务器