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

Linux软硬链接

1,如何建立软连接

操作:ln  -s  +要被建立链接的文件  +软连接文件

看到第三行,可以看到有个箭头指向,就是给test.c建立了软链接,也可以看到他们的inode不一样,那么我们来分别cat一下这两个文件看看结果:

由此可以得出结论,软连接的本质是一个独立文件,与源文件有不同的inode,用cat打开查看两文件时发现两文件内容一模一样,其作用就和windos中的快捷方式一样。

2,如何建立硬链接

操作:ln +被链接文件名 + 链接文件名:

可以看到,建立硬链接之后,他们的inode都一样,而且第三列的数字由之前的1变成了2:

       

由此知道,硬链接不是一个独立的文件,由于都是指向同一个inode,所以cat出来的内容自然也是一样的:

                           

3,如何理解软硬链接

a,软链接有独立的inode,软连接的内容是保存目标文件的路径,就像window中的快捷方式。

b,硬链接不是独立的文件,没有独立的inode,硬链接本质就算一组文件名和已经存在的文件的映射关系!

我们用指令:ls -i的时候有一下数字1,2:

表示有多少个文件与目标文件有硬链接关系,也是inode本身的引用技术:硬链接数。

如果删了目标文件而没有删除之前硬链接的文件,就相当于给文件重命名:

这相当于给文件做了一次备份,所以在Linux中备份是不需要拷贝复制源文件,直接备份文件名就行,方便快捷减时间。

但是同时软连接就失去了连接路径爆红:

4,关于目录文件的软硬链接

a,目录文件可以建立软链接:

建立目录软链接之后,可以直接cd到软连接的目录地址

b,关于目录文件的硬链接

Linux不允许对目录建立硬链接,只有系统自带的几个文件可以对目录进行硬链接:

首先我们新建一个目录:

可以看到,之前我不是说过目录不可以建立硬链接,那么为什么这两硬链接数为2?

大家应该听说过.和..分别带包本地目录和上级目录吧,我们进到目录去看一看:

可以看到,.文件与test文件的inode一样,我们再在test里建一个目录:

可以看到,在test里建立的test1文件中..目录,表示上级目录,就和test硬链接在一起,这个时候test文件硬连接数应该就是3,我们出去看一下:

所以可以根据文件的硬连接数判断有多少文件,

其中根目录的..文件指向自己,但是不计入引用计数:

         

如果我们要手动给文件建立硬链接:

             

系统直接不给建立,原因是为了防止链接闭环,目录可以建立软连接也会形成文件路径闭环,但是软连接可以直达,硬链接会无限查找,了解就行。 


http://www.kler.cn/a/378199.html

相关文章:

  • 修改HarmonyOS鸿蒙图标和名字,打包后安装到真机,应用图标丢失变成透明,修改名字也不生效,还是默认的labeL解决方案教程
  • 【C++、数据结构】哈希表——散列表(一)(概念/总结)
  • 智能语音机器人智能在哪里?AI人工智能电话机器人部署
  • git commit应遵循的提交规范
  • 软考-软件设计师-简答(5)-面向对象分析与设计-Java语言-设计模式-知识点、题型、技巧、历年真题解析
  • C语言 -- qsort的简单使用
  • C++ 优先算法 —— 查找总价格为目标值的两个商品(双指针)
  • 八、MapReduce 大规模数据处理深度剖析与实战指南
  • 100种算法【Python版】第33篇——Tonelli-Shanks算法
  • vue+element上传图片
  • fmql之Linux以太网
  • chatgpt3.5权重参数有多少MB;llama7B权重参数有多少MB
  • ChatGPT 和 RAG(检索增强生成)的区别;ChatGPT 和 RAG 的联系
  • 【缓存与加速技术实践】Redis 高可用
  • 【AI语音克隆整合包及教程】声临其境,让想象成为现实——第二代GPT-SoVITS引领语音克隆新时代!
  • ChatGPT变AI搜索引擎!以后还需要谷歌吗?
  • 初知C++:继承
  • Ubuntu删除docker
  • Vue 组件生命周期(四)
  • Docker:网络
  • synchronized加锁原理以及锁升级过程
  • 微服务架构深入理解 | 技术栈
  • vue3项目history模式部署404处理,使用 historyApiFallback 中间件支持单页面应用路由
  • 最新指南,如何使用 ChatGPT 提示词指令进行学术写作
  • 人工智能原理实验一:知识的表示与推理实验
  • Windows Server2012 R2搭建NFS服务器