Linux 软硬连接

1. 硬链接

实际上并不是通过文件名来找到磁盘上的文件,而是通过inode。在linux中可以让多个文件名对应于同一个 inode,而这种方式就是建立硬链接。硬链接是文件系统中的一种链接类型,它创建了文件的一个额外的目录项,但不占用额外的磁盘空间。硬链接与原始文件共享相同的inode,这意味着它们指向文件系统中相同的数据。

在Linux中,创建硬链接的命令是 ln 源文件 硬链接名称,默认情况下不带任何选项时创建硬链接。示例如下:

abc def 的链接状态完全相同,他们被称为指向文件的硬链接。内核记录了这个连接数, inode为
563511  的硬连接数为 2
我们在删除文件时干了两件事情: 1. 在目录中将对应的记录删除, 2. 将硬连接数 -1 ,如果为 0 ,则将对应的磁盘释放。

硬链接的特点包括:

  • 不能跨文件系统创建。
  • 不能对目录创建硬链接。
  • 删除原始文件不会影响硬链接,但如果所有硬链接的数量都被删除,文件的数据才会被实际删除。
  • 修改硬链接文件会影响原始文件,因为它们指向相同的数据。

硬链接在Linux中主要用于以下几个方面:

  • 文件备份:硬链接允许一个文件拥有多个名称,这意味着即使原始文件名被删除,只要还有硬链接指向该文件,文件内容就不会丢失。这可以作为一种简单的文件备份方法。 
  • 文件多人共享:硬链接可以让多个用户或进程通过不同的文件名访问同一份数据,这在需要共享文件时非常有用。 
  • 路径定位:在某些情况下,硬链接可以用于在文件系统中进行路径定位,例如,./..和..是目录的硬链接,分别代表当前目录和上级目录。 
  • 文件系统管理:硬链接可以帮助系统管理员更有效地管理文件系统,例如,通过硬链接可以在不同的目录中创建文件的快捷方式,而不需要复制文件本身。 

2. 软链接

软链接,也称为符号链接,是文件系统中的一种特殊文件,它包含了它所链接文件的路径名。软链接可以跨文件系统,并且可以链接到不存在的文件。如果原始文件被删除,软链接将失效。

在Linux中,创建软链接的命令是 ln -s 源文件/目录 软链接名称,其中 -s 选项表示 soft,指示 ln 命令创建符号链接。示例如下:

可以看到我们成功创建了一个软链接,使用 ls -li 时也指明了link-soft.txt -> soft.txt,即文件link-soft.txt是soft.txt的链接。通过最左侧第一栏可知,软链接和源文件的inode不同,说明是不同的两个文件,实际上软链接的文件内部存储的是源文件的路径。

软链接的特点包括:

  • 可以链接目录。
  • 可以跨文件系统边界。
  • 软链接文件的内容是另一文件的路径名,而不是文件数据本身。
  • 删除原始文件后,软链接将无法访问,因为它只保留了指向原始文件的路径信息。

在日常工作中,软连接(符号链接)的具体用途包括:

  • 环境变量配置:创建软连接到常用的命令或程序目录,简化环境变量的设置,使得在命令行中可以直接访问这些程序。 
  • 路径简化:将长路径或复杂路径创建软连接到一个简短的名字,方便在终端或脚本中快速导航和引用。  
  • 资源管理:当存储资源不足时,可以将文件(如日志文件)移动到新的存储设备上,并在原位置创建软连接,避免修改配置文件中的路径。 
  • 版本控制:在软件开发中,可以通过软连接快速切换不同版本的软件或库,而不需要复制文件。 

如果想要删除一个软连接或者硬连接,使用指令unlink即可。

还要注意的是:不能给目录创建硬连接,只能给目录创建软链接。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/414617.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用

SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了W…

EmguCV学习笔记 C# 7.1 角点检测

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。 教程VB.net版本请访问…

Ubuntu22.04安装 docker和docker-compose环境

Docker简介 Docker 是一个开源的应用容器引擎,它使开发者能够打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(…

蓝色炫酷碎粒子HTML5导航源码

源码介绍 蓝色炫酷碎粒子HTML5导航源码,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面 效果预览 源码获取 蓝色炫酷碎粒…

Halcon提取边缘线段lines_gauss 算子

Halcon提取边缘线段lines_gauss 算子 edges_color_sub_pix和edges_sub_pix两个算子使用边缘滤波器进行边缘检测。还有一个常用的算子lines_gauss算子,也可以用于提取边缘线段,它的鲁棒性非常好,提取出的线段类型是亚像素精度的XLD轮廓。其原…

LLM训练、精调与加速:大型语言模型的高效开发与应用策略

创作不易,您的关注、点赞、收藏和转发是我坚持下去的动力! 大家有技术交流指导、论文及技术文档写作指导、项目开发合作的需求可以私信联系我 LLM(大型语言模型)的训练、精调和加速是当前人工智能研究和应用中的重要话题。下面将…

JVM垃圾判定算法

垃圾收集技术是Java的一堵高墙。Java堆内存中存放着几乎所有的对象实例,垃圾收集器在对堆内存进行回收前,第一件事情就是要确定这些对象中哪些还存活,哪些已经死去(即不可能再被任何途径使用的对象)。也就是判定垃圾。…

【学习笔记】卫星通信NTN 3GPP标准化进展分析(五)- 3GPP Release19 研究计划

一、引言: 本文来自3GPP Joern Krause, 3GPP MCC (May 14,2024) Non-Terrestrial Networks (NTN) (3gpp.org) 本文总结了NTN标准化进程以及后续的研究计划,是学习NTN协议的入门。 【学习笔记】卫星通信NTN 3GPP标准化进展分析(一&#xff…

第二证券:大洗牌!头部券商营收、净利集体下滑

前十券商营收团体下滑,银河证券跌幅最小 新股IPO数量锐减129家至44家,国内证券市场股票基金交易量日均规划 同比下降 6.83%……关于证券公司而言,本年上半年可谓多重要素叠加冲击,成果下滑难以避免。于大多数证券公司而言&#x…

Vue(三)内置指令v-text、html、cloak、once、pre;自定义指令的三种方式、Vue生命周期

文章目录 1. 内置指令1.1 v-text、v-html指令1.2 v-cloak指令1.3 v-once指令1.4 v-pre指令 2. 自定义指令(directives)2.1 函数式2.2 对象式2.3 注意点 3. 生命周期3.1 挂载流程3.2 更新流程3.3 销毁流程 1. 内置指令 1.1 v-text、v-html指令 v-text与v-html都是向所在的节点…

EPLAN中部件库的导入和使用方法

EPLAN中部件库的导入和使用方法 如下图所示,点击工具-----部件------管理, 在弹出的窗口中点击附加------导入, 找到自己需要导入的文件,后缀名为EDZ,点击打开, 如下图所示,勾选"更新已有数据集并添加新建数据集",点击确定, 如下图所示,正在导

为什么一些行业刚起步就白热化竞争-例如机器人行业?

部分从事机器人行业的从业者交流就是特别卷。 明明是一个刚起飞的行业为何竞争如此残酷? 抛开降本增效的商业逻辑不谈。 只从一个侧面去观察-供需。 从事脑力劳动的机器人-处理文档 从事体力劳动的机器人-打螺丝 交流 机器人时代什么时候到来? 相似…

编译器基础介绍

随着深度学习的不断发展,AI 模型结构在快速演化,底层计算硬件技术更是层出不穷,对于广大开发者来说不仅要考虑如何在复杂多变的场景下有效的将算力发挥出来,还要应对 AI 框架的持续迭代。AI 编译器就成了应对以上问题广受关注的技…

论文翻译:Scaling Instruction-Finetuned Language Models

Scaling Instruction-Finetuned Language Models https://www.jmlr.org/papers/volume25/23-0870/23-0870.pdf 指令微调语言模型 文章目录 指令微调语言模型摘要1. 引言2. Flan微调2.1 微调数据2.2 微调过程2.3 评估协议 3. 扩展到5400亿参数和1836个任务4. 带有思维链注释的微…

HMI触屏网关-VISION如何与Modbus TCP从机通信

上文:HMI触屏网关-VISION如何与Modbus RTU从机通信-CSDN博客 1. 硬件连接 Modbus TCP协议采用网口通信的方式,因此,只需要保证网关的LAN口IP和Modbus TCP从机的IP在同一网段即可。 Modbus TCP从机参数说明: 2. VISION创建Modbu…

LaViT:这也行,微软提出直接用上一层的注意力权重生成当前层的注意力权重 | CVPR 2024

Less-Attention Vision Transformer利用了在多头自注意力(MHSA)块中计算的依赖关系,通过重复使用先前MSA块的注意力来绕过注意力计算,还额外增加了一个简单的保持对角性的损失函数,旨在促进注意力矩阵在表示标记之间关…

从0到1搭建用户管理系统

手把手教你搭建前后端框架 新手对于很多成熟框架,不知道如何搭建的,不知道如何实现等等,忙碌之余,写了一篇博客 手把手教你搭建前后端框架源码, springbootmysqlelementuivue 从0到1,搭建springboot框架&am…

出租车4G5G无线车载监控系统解决方案(下)

目录 一、项目概述 1.1 项目背景 1.2 设计原则 1.3 设计目标 1.4 实施意义 二、系统总体设计 2.1建设目标 2.2系统模式 2.3设计思路 2.4设计架构 2.5系统组成 2.6优势分析 2.7设备达到的功能要求 2.8系统组成 三、系统详细设计 3.1 出租车车载监控 3.1.1 系统功能设计 3.2系统前…

如何在退出Qt时保存用户配置

如何在退出Qt时保存用户配置 文章目录 如何在退出Qt时保存用户配置一、简介二、 保存配置数据(方法一)2.1 项目实现2.2 运行结果 三、保存配置数据(方法二)3.1 项目实现3.2 运行结果 四、写在最后 ​ 一、简介 在我们使用 Qt 进行…

吹爆上海交大的大模型实战教程!!非常详细收藏我这一篇就够了

各位好,这里是DASOU 今天分享一个上海交大的免费的大模型课程,有相关教程文档和Slides,目前是1.6K星标,还是挺火的 项目动机 《动手学大模型》系列编程实践教程,由上海交通大学2024年春季《人工智能安全技术》课程&…