【Linux】深入理解软硬链接

文章目录

软链接

建立软链接

ln -s 文件名 链接名称
ln -s file.cpp sort-file

ll -li

查看inode

理解软链接

软链接是一个独立文件,有自己的inode,有自己的数据块,数据块存放的链接文件的路径名
------>相当于windows的快捷方式

ll -li

两者inode不相同,

注意事项

  • 删除源文件会导致 sort-file悬空链接
  • 移动源文件会导致链接失效
  • 修改sort-file就是修改源文件

🚩软链接应用

如图,我们要想运行myexe,要把它的路径写出来,这样太麻烦了

所以

甚至:

sudo ln -s /home/jib/1010/sort-hard-link/bin/mybin/myexe /usr/bin/myexe


把绝对路径软链接进系统文件中,以后只需myexe即可运行,

硬链接

ln 文件名 硬链接名称

加了-s就是软连接,不加就是硬链接

理解硬链接

我们看文件权限后面的数字,数字意思是指向inode的文件个数,
每个inode内部都有引用计数器------有多少文件指向该inode,

引用计数器显示几,就代表多少文件指向inode

前提:目录名,存放的是文件名和inode的编号映射

查看inode

ll -li


我们可以看到 hard-text和text,cpp inode值相同,为什么呢?

🚩

所谓的硬链接,本质上就是在特定目录的数据块中 新增文件名和inode的映射关系,

所以说,这两个文件指向同一个inode,故值相同

我们平时删除文件,inode会被释放吗?

不是,只是把对应的inode计数器减1,若最后变为0,就被释放了

🚩硬链接应用

硬链接应用很少,最大作用是路径定位,方便路径切换

正常来说,文件名对应自己的inode计数器是1,正常

但为什么新建的目录dir,天生就是2呢?有什么东西指向目录inode?

答案:因为有隐藏文件

进入dir

ll -lia

显示隐藏文件

我们发现,目录里面有天生的文件 . 指向 667555 inode

至于 .. ,则是指向上一级目录,sort-hard-link

分析下4

自身的文件名

进入该文件有 .文件

又新建两个目录文件各有 ..指向

故4

判断一个目录文件里有多少新建目录,只需计数器-2即可

我们可以给目录文件建立硬链接吗

答案是否定呢,为什么呢?

因为会导致路径死循环

我们在查找某个文件时,在某个节点硬链接了root,我们查找到该节点时,会进入这个硬链接目录文件,导致又回到了root文件,死循环了

拜托,. .. 难道不是硬链接了目录文件吗?

确实是这样,但是我们不会用==. ..来查找文件==,只用来进行上下目录切换
. .. 意义?

如果没有这两相对路径,我们进行操作就一直要绝对路径了,那样每次要写好多,太麻烦了

相关推荐
旖旎夜光10 小时前
Linux(13)(中)
linux·网络
dazzle10 小时前
机器学习算法原理与实践-入门(三):使用数学方法实现KNN
人工智能·算法·机器学习
那个村的李富贵10 小时前
智能炼金术:CANN加速的新材料AI设计系统
人工智能·算法·aigc·cann
风指引着方向10 小时前
图编译优化全链路:CANN graph-engine 仓库技术拆解
c语言
威迪斯特11 小时前
CentOS图形化操作界面:理论解析与实践指南
linux·运维·centos·组件·图形化·桌面·xserver
张张努力变强11 小时前
C++ STL string 类:常用接口 + auto + 范围 for全攻略,字符串操作效率拉满
开发语言·数据结构·c++·算法·stl
万岳科技系统开发11 小时前
食堂采购系统源码库存扣减算法与并发控制实现详解
java·前端·数据库·算法
一方热衷.11 小时前
在线安装对应版本NVIDIA驱动
linux·运维·服务器
小镇敲码人11 小时前
探索CANN框架中TBE仓库:张量加速引擎的优化之道
c++·华为·acl·cann·ops-nn
独自归家的兔11 小时前
ubuntu系统安装dbswitch教程 - 备份本地数据到远程服务器
linux·运维·ubuntu