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

【linux】软硬链接

在linux中在磁盘中定位文件并不是根据文件名而是根据文件的inode,一个文件对应一个inode但是一个inode可以对应多个文件。

  1. 硬链接

硬链接是通过索引节点进行的链接。在Linux中,多个文件指向同一个索引节点是允许的,像这样的链接就是硬链接。硬链接只能在同一文件系统中的文件之间进行链接,不能对目录进行创建。如果删除硬链接对应的源文件,则硬链接文件仍然存在,而且保存了原有的内容,这样可以起到防止因为误操作而错误删除文件的作用。由于硬链接是有着相同 inode 号仅文件名不同的文件,因此,删除一个硬链接文件并不影响其他有相同 inode 号的文件。

创建硬链接:

硬链接没有独立的inode,所以建立硬链接就是创建新的文件用的是源文件的inode,没有自己属性集合和内容集合,删除源文件后对于其他有相同inode的文件没有影响

指令: ln oldfilename newfilename //创建硬链接

ls -li //查看文件的inode

  1. 软链接(符号链接)

软链接(也叫符号链接)与硬链接不同,文件用户数据块中存放的内容是另一文件的路径名的指向。软链接就是一个普通文件,只是数据块内容有点特殊。软链接可对文件或目录创建。

软链接主要应用于以下两个方面:一是方便管理,例如可以把一个复杂路径下的文件链接到一个简单路径下方便用户访问;另一方面就是解决文件系统磁盘空间不足的情况。例如某个文件文件系统空间已经用完了,但是现在必须在该文件系统下创建一个新的目录并存储大量的文件,那么可以把另一个剩余空间较多的文件系统中的目录链接到该文件系统中,这样就可以很好的解决空间不足问题。删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接就变成了死链接。

创建软连接:

总结:

  1. 一个inode可以由多个文件指向,在inode中有一个计数器count可以查看指向该inode的文件数量

如图 2表示指向104861的文件数量为2。

  1. 当文件的硬链接数变为0时,文件才算被删除。

  1. 删除原文件对于软硬链接的影响?

硬链接:计数器count由2变为1

软链接:软连接的文件会一直闪烁,表示找不到原来的文件,因为软链接文件中存的是原文件的路径,原文件被删除该软链接就变为了死链接。

  1. 新创建一个文件的硬链接数为1而创建一个目录的硬链接数量为2,原因是:创建目录后在当前目录下使用ls -a可以看到有两个隐藏的目录 . 和 . . 表示当前目录和上级目录,一个点就是当前目录的硬链接

  1. 在当前目录下再创建一个目录当前目录的硬链接数就会变为3 原因是:下一级目录中的. .和当前目录的 . 还有当前目录的目录名都指向同一个inode

  1. linux 为什么不允许普通用户给目录创建硬链接?

引入对目录的硬链接就有可能在目录中引入循环,在目录中遍历的时候就有可能陷入无限的循环,这样就会导致无法准确的定位到访问的目录 但是Linux系统可以对目录创建硬链接如 . 和 ..

相关文章:

【linux】软硬链接

在linux中在磁盘中定位文件并不是根据文件名而是根据文件的inode,一个文件对应一个inode但是一个inode可以对应多个文件。硬链接硬链接是通过索引节点进行的链接。在Linux中,多个文件指向同一个索引节点是允许的,像这样的链接就是硬链接。硬链…...

骨传导蓝牙耳机排行,盘点几款性能不错的骨传导耳机

随着蓝牙耳机的普及,骨传导耳机也越来越受到欢迎,很多人也都开始在了解并尝试骨传导耳机。相比于其他类型耳机,在舒适度、安全方面有一定优势。尤其是在户外运动时,或者长时间佩戴运动时,使用骨传导耳机可以避免耳朵因…...

ARM中的寄存器

ARM工作模式 ARM有8个基本的工作模式 User 非特权模式,一般在执行上层的应用程序时ARM处于该模式FIQ 当一个高优先级中断产生后ARM将进入这种模式IRQ 当一个低优先级中断产生后ARM将进入这种模式SVC 当复位或执行软中断指令后ARM将进入这种模式Abort 当产生存取异常…...

git操作修改历史版本指定tag标签的代码,并发布新标签

场景: 当项目已经迭代多个版本之后,突然发现旧版本0.0.1出现了紧急bug,需要及时处理; 如果直接用新版本替换上去是存在极大隐患的,且时间来不及; 所以需要直接在0.0.1版本的基础上去修复bug,然…...

SpringMVC——响应处理(1)【包含源码分析】

Controller public class JsonReturnController {ResponseBodyGetMapping("/getPet")public Pet getPet(){Pet petnew Pet();pet.setAge(5);pet.setName("lily");return pet;} }项目启动后 浏览器输入 http://localhost:8080/getPet 。 debug DispatcherS…...

Normalization

1、BN(Batch Normalization) 深度网络参数训练时内部存在协方差偏移(Internal Covariate Shift)现 象:深度网络内部数据分布在训练过程中发生变化的现象。训练深度网络时,神经网络隐层参数更新会导致网络输…...

27K测试老鸟分享自己6年面试心得,四种公司、四种问题…

这里总结了下自己今年的面试情况 先说一下自己的个人情况,普通二本计算机专业毕业,懂python,会写脚本,会selenium,会性能。趁着金三银四跳槽季,面试字节跳动测试岗技术面都已经过了,本来以为是…...

中小企业数字化自动化转型的方法

自动化是我们国内未来的趋势。智能制造的实现主要依托两个基础能力,一个是工业制造技术,另一个就是工业互联网。而自动化是工业制造技术的重要组成部分,是高度智能制造装备的核心部分,与承接着制造单元与工业互联网这两大核心。懂…...

利用GPT-3 Fine-tunes训练专属语言模型

利用GPT-3 Fine-tunes训练专属语言模型 文章目录什么是模型微调(fine-tuning)?为什么需要模型微调?微调 vs 重新训练微调 vs 提示设计训练专属模型数据准备清洗数据构建模型微调模型评估模型部署模型总结什么是模型微调&#xff0…...

kubeadm方式安装k8s高可用集群(版本1.26x)

K8S官网:https://kubernetes.io/docs/setup/ 高可用Kubernetes集群规划 配置备注系统版本CentOS 7.9Docker版本20.10.xPod网段172.16.0.0/12Service网段10.103.10.0/16 主机IP说明k8s-master01 ~ 03192.168.77.101 ~ 103master节点 * 3k8s-master-lb192.168.77.2…...

分享5款堪称神器的免费软件,建议先收藏再下载

转眼间新年已经过去一个月了,最近陆陆续续收到好多小伙伴的咨询,这边也是抓紧整理出几个好用的软件,希望可以帮到大家。 1.电脑安全管家——火绒 火绒是一款电脑安全软件,病毒库更新及时,界面清晰干净,没…...

【项目实战】从0开始入门JDK源码 - LinkedList源码

一、源码位置 一般来说IDEA配置好JDK以后 ,JDK的源码其实也配置好了,本文是基于JDK1.8的源码说明 rt - java - util - LinkedList 二、 继承关系图 LinkedList public class LinkedList<E>extends AbstractSequentialList<E>implements...

Polygon zkEVM的gas定价

1. 引言 所有的zkEVM都存在一个有趣的问题&#xff1a; 如何给gas定价&#xff1f; 在Ethereum Virtual Machine (EVM)中&#xff0c;gas通过为每个计算设置economic fee&#xff0c;来保持网络安全。恶意行为&#xff0c;如拒绝服务&#xff08;DoS&#xff09;攻击&#x…...

stl中的智能指针类详解

C98/03的尝试——std&#xff1a;&#xff1a;auto_ptr C11标准废弃了std&#xff1a;&#xff1a;auto_ptr&#xff08;在C17标准中被移除&#xff09;&#xff0c;取而代之的是std&#xff1a;&#xff1a;unique_ptr, std&#xff1a;&#xff1a;auto_ptr容易让人误用的地…...

Linux 阻塞和非阻塞 IO 实验

目录 一、阻塞和非阻塞简介 1、IO 概念 2、阻塞与非阻塞 二、等待队列 1、等待队列头 2、等待队列项 3、将队列项添加/移除等待队列头 4、等待唤醒 5、等待事件 三、轮询 1、应用程序的非阻塞函数 2、Linux 驱动下的 poll 操作函数 四、阻塞IO之等待事件唤醒 添加…...

你要的react+ts最佳实践指南

本文根据日常开发实践&#xff0c;参考优秀文章、文档&#xff0c;来说说 TypeScript 是如何较优雅的融入 React 项目的。 温馨提示&#xff1a;日常开发中已全面拥抱函数式组件和 React Hooks&#xff0c;class 类组件的写法这里不提及。 前沿 以前有 JSX 语法&#xff0c;…...

软件测试人员会被替代吗?IT行业哪个方向的前景最好?字节12年测开是这样说的

互联网测试从业12年&#xff0c;前来作答。 逻辑上来说&#xff0c;软件工程最初始只需要两个岗位&#xff0c;一个是产品经理。&#xff0c;一个是研发&#xff08;开发&#xff09;&#xff0c;剩余的 所有岗位都是由他们衍生而来的。 第三个岗位大概率就是测试&#xff0c…...

十六、vue3.0之富文本编辑器的选择

在工作过程中我们会遇到很多的时候会使用到富文本编辑器,市场上流行的也是各种各样的,那么究竟如何选择呢,今天就给大家讲讲有哪一些,方便大家的选择。 一、TinyMCE TinyMCE 是富文本编辑器领域的头部玩家之一,主流富文本编辑器,功能非常全,你需要的大多数功能它都支持…...

kafka(一) 的架构,各概念

Kafka架构 Kafak 总体架构图中包含多个概念&#xff1a; &#xff08;1&#xff09;ZooKeeper&#xff1a;Zookeeper负责保存broker集群元数据&#xff0c;并对控制器进行选举等操作。 &#xff08;2&#xff09;Producer&#xff1a; 生产者负责创建消息&#xff0c;将消息发…...

【ts的常用类型】

ts的常用类型前言安装ts常见类型原始类型 、数组、 any变量上的类型注解函数对象类型联合类型类型别名接口接口和类型别名的对比前言 typescript中为了使编写的代码更规范&#xff0c;更有利于维护&#xff0c;增加了类型校验&#xff0c;安装 安装 typescript npm i typescr…...

ChromePass终极指南:3分钟找回Chrome浏览器所有保存密码

ChromePass终极指南&#xff1a;3分钟找回Chrome浏览器所有保存密码 【免费下载链接】chromepass Get all passwords stored by Chrome on WINDOWS. 项目地址: https://gitcode.com/gh_mirrors/chr/chromepass 你是否曾在Chrome浏览器中保存了重要账号密码&#xff0c;却…...

bilibili_live_stream_code:开源直播推流工具 解锁自定义直播新体验

bilibili_live_stream_code&#xff1a;开源直播推流工具 解锁自定义直播新体验 【免费下载链接】bilibili_live_stream_code 用于在准备直播时获取第三方推流码&#xff0c;以便可以绕开哔哩哔哩直播姬&#xff0c;直接在如OBS等软件中进行直播&#xff0c;软件同时提供定义直…...

从零部署RK3588 MPP:硬编解码环境搭建与核心工具解析

1. RK3588 MPP硬编解码环境搭建全流程 第一次在ArmSoM-W3开发板上折腾RK3588的MPP硬编解码环境时&#xff0c;我踩了不少坑。这里把完整搭建过程拆解成可复现的步骤&#xff0c;用最直白的语言分享给各位开发者朋友。 MPP&#xff08;Media Process Platform&#xff09;是瑞芯…...

深入浅出:图解程序控制、中断和DMA的工作原理与性能差异

深入浅出&#xff1a;图解程序控制、中断和DMA的工作原理与性能差异 想象你在一家餐厅点餐&#xff1a;第一种方式是服务员每隔30秒就来问你"好了吗"&#xff1b;第二种是你按服务铃&#xff0c;服务员立刻过来&#xff1b;第三种是厨房直接把菜送到你桌上——这正是…...

GIS小白必看!Global Mapper处理正射影像的5个高频问题解答(含奥维地图导入避坑指南)

GIS新手实战指南&#xff1a;Global Mapper正射影像处理全解析 第一次打开Global Mapper时&#xff0c;那些密密麻麻的工具栏和复杂的参数设置确实让人望而生畏。去年我刚接触GIS时&#xff0c;处理无人机航拍的正射影像就踩了不少坑——坐标系选错导致影像偏移几百米、导出分幅…...

Halcon一维码识别避坑指南:从模糊图像到精准解码

Halcon一维码识别实战&#xff1a;攻克模糊图像与复杂场景的五大策略 在物流分拣线上&#xff0c;传送带以每秒2米的速度运行&#xff0c;扫码枪却频繁报错——这不是设备故障&#xff0c;而是Halcon参数配置与图像预处理策略的缺失。当条形码出现在褶皱包装、反光表面或运动模…...

rBase64:嵌入式系统零堆分配BASE64编解码库

1. rBase64 库深度解析&#xff1a;面向嵌入式系统的高性能 BASE64 编解码实现BASE64 是一种将任意二进制数据映射为 ASCII 字符子集的编码方案&#xff0c;广泛应用于嵌入式通信协议&#xff08;如 MQTT payload、HTTP Basic Auth、CoAP 传输&#xff09;、固件 OTA 升级包签名…...

双模型灾备方案:OpenClaw同时配置百川2-13B-4bits与Llama3应对服务中断

双模型灾备方案&#xff1a;OpenClaw同时配置百川2-13B-4bits与Llama3应对服务中断 1. 为什么需要双模型灾备 去年冬天的一个深夜&#xff0c;我正在用OpenClaw自动处理一批技术文档的翻译任务。突然收到一连串报警通知——原本稳定运行的Qwen模型服务因为网络波动彻底失联。…...

效率直接起飞!盘点2026年全民喜爱的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂的AI论文写作工具&#xff0c;实测提速效果惊人&#xff0c;覆盖选题、文献、写作、降重、排版全流程&#xff0c;让你高效搞定论文不再难。 一、全流程王者&#xff1a;一站式搞定论文全链路&#xff08;一天定稿首选&…...

新版药典解读:生物制品生产用动物细胞基质的质量控制修订重点

2025年版《中国药典》已正式实施2个多月&#xff0c;其对生物制品生产用动物细胞基质的质量控制要求进行了重要修订。本次修订对生物制品生产企业和检测机构的影响路径和深度虽有差异&#xff0c;但都指向一个核心转变&#xff1a;从“遵循规定”到“证明科学性”。接下来&…...