深入理解软硬链接

目录

一、前提:

二、ln指令:

三、再次谈论inode结构体:

四、当删除原文件对软硬链接的影响:

[五、 深入理解目录的引用计数count:](#五、 深入理解目录的引用计数count:)

六、软硬链接的作用:


一、前提:

1.软链接,本质是一个独立文件!

2.硬链接,本质是多个文件名共用一个inode。

二、ln指令:

软链接:

复制代码
ln -s file.txt file-soft.link  (软链接)

软链接有独立的inode,软链接内容上,保存的是目标文件的路径。

(等同于windows中的快捷方式)

硬链接:

复制代码
ln file.txt file-hard.link (硬链接 )

硬链接不是独立的文件,没有独立的inode,硬链接本质就是一组文件名和已经存在的文件的映射关系。{当前目录的内部,新增文件名和原来文件inode的映射}

三、再次谈论inode结构体:

inode结构体中还存在一个count引用计数,用来看有多少个文件指向同一个inode

四、当删除原文件对软硬链接的影响:

1.软链接,空有原文件的地址,找不到原文件,软链接失效。文件数据块真的被删除。

2.硬链接,inode结构体中的count会减一,但是文件数据块不会被删除。硬链接还是可以使用。

五、 深入理解目录的引用计数count:

默认情况下,一个目录含义两个硬链接。一个普通文件含义一个硬链接。

因为**./**表示当前路径,是一个硬链接数。

同理,如果我在communication文件夹下创建3个文件夹,那么communication目录就会有5个硬链接数,因为../指向上一级目录。

注意:在linux中,不允许对目录新建硬链接。(会形成环状路径),防止死循环。**./../**特殊处理。

六、软硬链接的作用:

软链接是一种快捷方式:

  • 允许跨文件系统创建链接,即可以在一个文件系统上为另一个文件系统上的文件创建链接。

硬链接:

  • 增加了一个文件的入口点,使得同一个文件可以有多个名称。
  • 做文件备份,防止误删操作。
相关推荐
searchforAI15 小时前
AI工具自动解析B站、抖音等视频并整理成图文笔记
人工智能·经验分享·笔记·gpt·aigc·知识图谱
sbjdhjd16 小时前
02 下 | Kubernetes Pod 实战实验完全解析
linux·运维·云原生·kubernetes·podman·kubelet·kubeless
我不是懒洋洋16 小时前
从零实现Transformer:从注意力机制到ChatGPT
c语言·数据结构·c++·经验分享
weixin_5372170616 小时前
聊天技巧资源合集
经验分享
被遗忘的旋律.16 小时前
RK3588笔记(二)——使用IMX415相机
笔记
H Journey16 小时前
VMware + Linux(Ubuntu) + 桥接网络知识梳理
linux·网络·ubuntu
咸甜适中16 小时前
rust语言学习笔记Trait(六) FromIterator(由迭代器创建集合)
笔记·学习·rust
emfuture16 小时前
国产工控机选型实录:基于龙芯2K3000的中嵌科技EU-7500在边缘计算场景下的适配笔记
人工智能·笔记·边缘计算
少年攻城狮16 小时前
阿里云系列---【申请域名并绑定到主机ip】
linux·服务器·tcp/ip·阿里云·云计算
searchforAI16 小时前
我用这款本土NotebookLM平替重构了知识库
人工智能·笔记·gpt·ai·音视频·知识图谱