Linux下硬链接和软链接的区别

本文解析了Linux系统中硬链接和软链接的工作原理及区别,包括它们的表现形式、如何创建、以及应用场景等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

硬链接:ln  target  linkname

软件链接:ln -s target linkname

 

表现形式:

-rw-rw-r-- 1 haohongming haohongming 31 Apr 29 18:20 kkk

-rw-rw-r-- 1 haohongming haohongming  5 Apr 29 18:25 mmm

lrwxrwxrwx 1 haohongming haohongming  3 Apr 29 18:25 ppp -> mmm

 

ppp是mmm的软链接,kkk是mmm的硬链接

 

共同点:

不管修改硬链接的文件还是软链接的文件还是源文件,三者的内容同步更新,因为他们都指向硬盘同一区域。

 

不同点 : 

(1)软连接可以 跨文件系统 ,硬连接不可以 。实践的方法就是用共享文件把windows下的 aa.txt文本文档连接到linux下/root目录 下 bb,cc . ln -s aa.txt /root/bb 连接成功 。ln aa.txt /root/bb 失败 。

(2)关于 I节点的问题 。硬连接不管有多少个,都指向的是同一个I节点,会把结点连接数增加 ,只要结点的连接数不是 0,文件就一直存在 ,不管你删除的是源文件还是连接的文件 。只要有一个存在 ,文件就 存在 (其实也不分什么 源文件连接文件的 ,因为他们指向都是同一个 I节点)。 当你修改源文件或者连接文件任何一个的时候 ,其他的文件都会做同步的修改 。软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以 删除连接文件 对源文件无影响,但是 删除 源文件,连接文件就会找不到要指向的文件 。软链接有自己的inode,并在磁盘上有一小片空间存放路径名.

(3)软连接可以对一个不存在的文件名进行连接 ,如果新建这个不存在的文件,软链接会直接链接上,因为软链接是根据路径来匹配的,和windows的快捷方式类似。

(4)软连接可以对目录进行连接。

 

备注:I节点 :它是UNIX内部用于描述文件特性的数据结构.我们通常称I节点为文件索引结点(信息结点).i节点 含有关于文件的大部分的重要信 息,包括文件数据块在磁盘上的地址.每一个I节点有它自己的标志号,我们称为文件顺序号.I节点包含的信息 1.文件类型 2.文件属主关系 3.文件的访问权限 4.文件的时间截.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值