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

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:对原文件删除,会导致软链接不可用,因为软连接存储是路径,而硬链接不受影响。

相关文章:

  • 【PowerBI】使用形状地图创建地图可视化
  • less-8 boolen盲注,时间盲注 函数补全
  • 瑞萨RA-T系列芯片ADCGPT功能模块的配合使用
  • key-value---键值对
  • --- Mysql事务 ---
  • github在同步本地与远程仓库时遇到的问题
  • Exadata环境ORA-00603 AND ORA-27515报错的分析处理
  • leetcode刷题-动态规划05
  • PHP 可用的函数
  • Groovy语言的学习路线
  • 有关表单autocomplete = “off“ 失效问题解决方案
  • 如何commit后更新.gitignore实现push
  • DeepSeek-V3 技术报告
  • watermark解释
  • 功能测试与接口测试详解
  • Redis单点部署及exporter的安装
  • vue非组件的初学笔记
  • 单片机中有FLASH为啥还需要EEROM?
  • DeepSeek技术实践:从基础到高阶的模型交互方法论
  • 编译安装php
  • 怎么做响应式网站/搜索最全的搜索引擎
  • 企业网站策划书ppt/如何申请一个网站域名
  • 网站说服力营销型网站策划/推广普通话文字素材
  • 北京好的网站制作/近期时事新闻10条
  • 网站开发建设合同范本/steam交易链接在哪里
  • 深圳建站公司优化/软文营销的特点