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

应用场景:

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

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

相关推荐
A小辣椒11 小时前
TShark:基础知识
linux
AlfredZhao13 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao1 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334661 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪1 天前
linux 拷贝文件或目录到指定的位置
linux
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质2 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5202 天前
Linux 11 动态监控指令top
linux