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

硬链接: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.文件的时间截.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux中,软链接(symbolic link)和硬链接(hard link)是两种不同的文件链接方式,它们有以下区别: 1. 软链接是一个指向目标文件或目录的文件,类似于Windows系统中的快捷方式。软链接文件有自己的inode,并且可以跨文件系统进行链接。删除软链接文件不会影响目标文件或目录。软链接可以通过`ln -s`命令创建。 2. 硬链接是一个指向目标文件的目录项,它与目标文件具有相同的inode和数据块,实际上是同一个文件的不同名称。硬链接只能在同一个文件系统中创建,并且不能链接目录。删除任何一个硬链接都不会影响其他硬链接,只有当所有硬链接都被删除后,才会释放目标文件的空间。硬链接可以通过`ln`命令创建。 3. 软链接可以指向目录,而硬链接不能。 4. 修改目标文件内容时,软链接硬链接都会反映出修改后的内容。但是,如果删除了目标文件,在软链接中仍然可以访问到目标文件的内容,而硬链接将无法访问。 5. 软链接相对于目标文件具有更高的灵活性,可以跨越文件系统和目录,但是由于需要额外的inode和数据块进行存储,占用更多的空间。硬链接没有这些限制,但是只能在同一个文件系统中使用。 总结起来,软链接是一个指向目标文件或目录的文件,而硬链接是目标文件的另一个名称。软链接可以跨文件系统和目录,而硬链接只能在同一个文件系统中使用。删除目标文件后,软链接仍然可以访问,而硬链接将无法访问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值