当前位置: 首页 > article >正文

Linux---软连接与硬链接

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

一、简介

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

Linux系统中一个文件由目录项(struct dirent)inode数据块组成。

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

Inode:包含文件的一些信息。

例如,inode号,文件类型,文件大小等待。

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

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

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

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

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

硬链接

本质:是给我们的文件取别名

与源文件直接关联。修改一个,另一个同时被修改删除一个另一个不会有影响。

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

特点:

(1)不占用硬盘空间

(2)不能对目录操作

(3)不能跨文件系统

Ext4

FAT   u盘

NTFS  

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

例如:

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

软链接(符号链接)

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

特点:

(1)占用磁盘空间 

       (2)可以对目录操作 

       (3)可以跨文件系统

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

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

原理图:

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

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

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


http://www.kler.cn/a/550710.html

相关文章:

  • 《早报定时任务 Docker 镜像调试与部署文档》
  • JavaScript设计模式 -- 状态模式
  • 【系统架构设计师】软件配置管理
  • ZYNQ TCP Server PS端千兆网口速率低问题,要修改BSP中LWIP配置参数
  • Unity3D实现接入DeepSeek对话
  • gitee SSH 公钥设置教程
  • PPT工具集
  • 区块链搭建入门指南:基础知识与基本原理
  • Javascript网页设计案例:通过PDF.js实现一款PDF阅读器,包括预览、页面旋转、页面切换、放大缩小、黑夜模式等功能
  • 人工智能框架:连接理论与实践的桥梁
  • 算法思考:非0整数除法
  • 第1章大型互联网公司的基础架构——1.2 客户端连接机房的技术1:DNS
  • PySpark查询Dataframe中包含乱码的数据记录的方法
  • Hive查询之排序
  • 周雨彤:用角色与生活,诠释审美的艺术
  • 轻量级在线ETL数据集成工具架构设计与技术实现深度剖析
  • Springboot接口返回的时间和数据库差了八小时
  • Go语言的云计算
  • 【JavaEE进阶】MyBatis入门
  • 【Python爬虫(10)】解锁XPath:Python爬虫的精准导航仪(京东、淘宝实例)