为什么我们不能给目录建立硬链接?

对目录建立应链接的能力,操作系统内部维护了,但没有暴露出来,因为容易造成环路路径问题。假设一条路径是/d1/d2/d3/hard-link,对d2创建硬链接hard-link,这会导致用户构建了一个环路路径的问题,如果输入指令find /d1/d2/ -name test.c,在d2目录里找test.c文件,指定在d2目录去找,假设递归式的找,他找到了d3里面的hard-link又把它倒到d2,这个时候他就出现了环路问题,导致出不来了,问题就解决不了了。

有人说dir目录和里面的.不是一个环状的结构吗?是的,但是他是由操作系统去维护的,并且他的路径不深,操作系统是能识别出来.是自己的,比如判断文件名的方式,遍历到.的时候对他做特殊处理就行了,但如果让用户允许对目录创建硬链接,用户建立了各种奇奇怪怪的文件名,操作系统很难判断他是不是有环路问题,所以不允许用户对目录建立硬链接。

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值