为什么目录不能创建硬链接

回复 收藏
创建硬链接的命令是 ln  file1  file2  
在Linux下目录是不能创建硬链接的, 当我们创建时会提示:不允许创建之类的提示。那为什么不能创建呢?这和inode有关系,首先硬链接其实只是复制了一份文件的inode。 我们来举个例子:

目录结构是这样的:  1目录下面有2和3目录,2目录下面有个4目录,并假设2目录的inode=1234
1.jpg


假设可以可以为2目录创建硬链接,并且2目录的硬链接创建在3目录下面,硬链接的名字为5,如图:
2.jpg


假设,1目录的inode=1235, 那么(3目录下 ..目录 inode)=(2目录下..目录inode)=(5目录下..目录inode)=(3目录下的.目录inode)=1235
如图:
无标题.png


最终得出结论: 3目录下的..目录和.目录inode相等, 这在Linux的文件系统中是坚决不允许的。 所以,目录不能创建硬链接。
2013-09-05 19:13 举报
已邀请:
0

剑在飞

赞同来自:

理解了,谢谢阿铭老师分享。{:4_109:}
0

17095053557

赞同来自:

能不能用比较简单的一句话总结一下呢 ?
0

maria

赞同来自:

17095053557 发表于 2016-3-8 21:30
能不能用比较简单的一句话总结一下呢 ?

简单的一句话就是为了避免目录出现死循环!
0

17095053557

赞同来自:

maria 发表于 2016-3-8 22:00
简单的一句话就是为了避免目录出现死循环!

上面的图没有看懂啊?
0

maria

赞同来自:

17095053557 发表于 2016-3-8 22:55
上面的图没有看懂啊?

哪没看懂?
0

17095053557

赞同来自:


查看第一期的视频,第八讲的视频的末尾,铭哥专门介绍了
0

maria

赞同来自:

17095053557 发表于 2016-3-9 12:44
查看第一期的视频,第八讲的视频的末尾,铭哥专门介绍了

{:6_137:}谢谢

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: