【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,那么就会造成死循环了。

应用场景:

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

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

相关推荐
小周学学学7 分钟前
vmware-horizon第一章:horizon服务器安装
运维·服务器·vmware
小雪崩26 分钟前
嵌入式学习 day25:哈希表及排序与查找
linux·c语言·数据结构·学习·排序算法
gsls2008081 小时前
Penpot Docker 部署与 MCP 服务配置文档
运维·docker·容器·原型·penpot
九硕智慧建筑一体化厂家1 小时前
直流智能照明|全场景节能升级!打造安全低碳的智慧建筑光环境
运维·笔记·安全·智慧城市
蓝速科技1 小时前
蓝速科技丨数智人终端选型指南:后台运维如何决定长期运营成本
运维·科技
奇树谦1 小时前
HDD 为什么适合顺序大文件读写:从 RAID 5 到 RAID 50 的原理与性能分析
linux·运维·网络
hi_ro_a2 小时前
Linux基础开发工具详解
linux·运维·服务器
嵌入式阿蔡2 小时前
Linux_01:交叉编译与开发环境实战——从单片机跨到 Linux 的第一道坎
linux·运维·网络·单片机·嵌入式硬件·嵌入式实时数据库
风静如云2 小时前
Openssl:Win11(Chrome)安装客户端证书
服务器
風穆3 小时前
OopsVPS:多云 VPS 比价平台的十大核心优势
大数据·服务器·云服务器·oopsvps