Linux软硬链接

在这里插入图片描述

文章目录

    • 🐋1. 建立软硬链接现象
    • 🐠2. 软硬链接
      • 🪸2.1 软链接
      • 🪸2.2 硬链接
    • 🐦3. 应用场景
      • 🪹3.1 软链接应用场景
      • 🪹3.2 硬链接应用场景

🐋1. 建立软硬链接现象

我们这里给file.txt建立软链接,给test.txt建立硬链接

ln -s 目标文件 建立软链接名称	#-s表示soft,建立的是软连接 
ln 目标文件 建立硬链接名称

image-20231115103945394

这里发现建立的软连接,是一个独立的文件,有自己独立的inode;而建立的硬链接,不是一个独立的文件,没有独立的inode

而且这个前面的计数,由1->2,这个数字就表示建立的硬链接数。

image-20231115104845999

🐠2. 软硬链接

🪸2.1 软链接

软连接是一个独立的文件,有着自己的inode,也有独立的数据块,数据块里面保存的是指向文件的路径。

可以将其理解为我们Windows里面的快捷方式,如果将目标文件删除了,那么这个快捷方式也就失效了

image-20231115111218038
如果要断掉这个链接,采用指令:

unlink soft-link

这个也可以用来删除文件,其实就是减掉一层引用计数,当引用计数为零的时候,这个文件自己就没有了。

🪸2.2 硬链接

我们这里删除test.txt文件,发现它所对应的inode的引用计数从2变为了1。所谓的建立硬链接,其实就是在特定目录的数据块中新增文件名和指向文件的inode编号的映射关系,可以一个inode映射多个文件名,但不能一个文件名映射多个inode,这里面的引用计数,就表示有多少个文件指向这个inode

image-20231115110223751

🐦3. 应用场景

🪹3.1 软链接应用场景

上面提到了,软链接就像一个快捷方式一样,我们要在当前路径下运行别的路径的可执行程序,我们就得加上路径,如果这个路径太复杂,对应我们来说就会比较麻烦,那么这时候我们就可以采用软连接的方式,在当前目录建立这个可执行程序的软链接。

image-20231115113805237

🪹3.2 硬链接应用场景

硬链接通常用来路径定位,维持Linux的整个目录结构
我们目录里面会有...,这两个就是当前目录和上交目录的硬链接

image-20231115121334541

这里就是为什么.表示当前目录,而..表示上级目录了,因为.是当前目录的硬链接,而..是上级目录的硬链接

这也就是我们是目录创建的时候,引用计数为2

Linux系统中不可以给目录建立硬链接!

这里的...这两个目录的硬链接是Linux做了特殊处理,有且仅有这两个目录的硬链接。

如果我们给目录建立硬链接,这样就会引发的问题,系统在查找的时候,不会对...作为路径搜索
在这里插入图片描述


那么本次的分享就到这里了,我们下期再见,如果还有下期的话

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

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

相关文章

智慧城市怎么实时监测内涝积水的发生及解决办法?

随着城市化进程步伐不断加快,城市内涝问题越来越受到人们的关注。内涝不仅不便于人们的生活,还可能危害城市之中的基础设施比如路面等。因此实时监测内涝积水的发生并采取有效的解决办法是市政府的紧急任务,同时解决城市内涝也利于城市生命线…

Vue computed 计算属性

1.计算属性的相关知识 概念 :基于现有的数据,计算出来的新属性。依赖数据的变化,自动重新计算。 语法: ① 声明在 computed 配置项 中,一个计算属性对应一个函数 ② 使用起来和普通属性一样使用 {{ 计算属性名 …

数据结构 栈(C语言实现)

目录 1.栈的概念及结构2.栈的代码实现 1.栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In F…

反射之Type类

Type类 Type接口是所有类型的父接口&#xff0c;有四个子接口和一个实现类。 Type实现图 Class类比较常见&#xff0c;表示的是原始类型。表示的Java类在JVM里表现为一个Class对象 ParameterizedType表示的是参数化类型&#xff0c;对应 List<T>、List<String> 等格…

Vue中的watch的使用

先看下Vue运行机制图 那么我们思考一件事&#xff0c;vue是通过watcher监听数据的变化然后给发布-订阅&#xff0c;这样实现了dom的渲染&#xff0c;那么我们思考一件事&#xff0c;我们往往需要知道一个数据的变化然后给页面相应的渲染&#xff0c;那么我们工作中在组件中的数…

HarmonyOS元服务实现今天吃什么

一、前言 作为一个职业打工人&#xff0c;每天点外卖吃啥东西都有选择综合症&#xff0c;突发奇想让程序帮我们随机选择一个吃的&#xff0c;是不是可以解决我们的选择问题呢&#xff0c;说干就干&#xff0c;我们就使用HarmonyOS元服务实现一下这个功能。为什么选择这个Harmon…

VBA 宏For WPS(完整版)-供大家学习研究参考

VBE7.1安装方法&#xff1a; 适用于安装 WPS 2019 版本的 缺少 VBA 模块的 亲测可用&#xff0c;内含 VBA 7.1 安装顺序1、2、3、4按照顺序安装&#xff1b; 1.安装MSVCRTRedist\Release目录下32位的安装包&#xff0c;此安装包为运行时库 3.安装VBARedist\Release目录下32位的…

安卓:打包apk时出现Execution failed for task ‘:app:lintVitalRelease

Execution failed for task :lintVitalRelease 程序可以正常运行&#xff0c;但是打包apk的时候报Execution failed for task ‘:app:lintVitalRelease导致打包失败&#xff0c;原因是执行lintVitalRelease失败了&#xff0c;存在错误。解决办法&#xff1a;在app模块的build.…

问题 H: 棋盘游戏(二分图变式)

题意&#xff1a;要求找到 不放车就无法达到最大数的点 的个数 题解&#xff1a;1.以行列绘制二分图 2.先算出最大二分匹配数 3.依次遍历所有边 删除该边&#xff0c;并计算二分匹配最大值 &#xff08;若小于原最大值即为重要点&#xff09;&#xff0…

OpenELA 正式公开 Enterprise Linux 源代码

导读近日消息&#xff0c;在红帽&#xff08;Red Hat&#xff09;宣布不再对外公开 Red Hat Enterprise Linux&#xff08;RHEL&#xff09;源代码之后&#xff0c;同属 Linux 领域的甲骨文、SUSE 及 CIQ 宣布成立了 Open Enterprise Linux Association&#xff08;OpenELA&…

数据结构第四课 -----线性表之队列

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…

【LeetCode:2656. K 个元素的最大和 | 贪心+等差数列】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…