硬链接和绑定挂载有什么区别?

16

这也许是一个愚蠢的问题:

http://dwaves.de/2015/05/26/linux-search-find-files-locate-find-linux-locate-scope/

Linux下的bind mounts:

据我的理解:您可以在两个不同的位置挂载同一个目录。

但是与硬链接有什么区别呢?

答案是"bind mounts".自Linux 2.4.0版本以来,可以将文件层次结构的一部分重新挂载到其他地方。调用方式为:

mount –bind olddir newdir

它只是使一个文件夹可访问的另一种方式吗?(但它实际上不使用任何网络协议,因为它全部都是本地的)

请提供一些例子和优缺点。

谢谢 :)


抱歉,此链接:http://dwaves.de/2015/05/26/linux-bind-mounts/ - canoodle
“bindmounts”只是简单的“mounts”吗?没有什么特别的? - canoodle
3
这个问题与编程关系不大,更像是一个一般性的计算机问题,因此在StackOverflow上是不符合话题要求的。如果你正在运行Ubuntu,最好去Unix和Linux或者Ask Ubuntu上寻求帮助,这样会更有可能得到好的答案。顺便说一句,改进你的问题通过编辑而不是添加评论会更好。参见 http://stackoverflow.com/help/how-to-ask - Anthony Geoghegan
1
我找编辑按钮找了好一阵子...今天(三天后)我终于找到了...它就是那个白色背景上的小灰点...好的 :-D - canoodle
2个回答

15

通常硬链接是文件系统对象,挂载点是内核实体。 硬链接将在重新启动期间持续存在,而挂载点则不会。


好的,绑定挂载只是“挂载” - 不是持久的等等。我无法为您的答案投票,但谢谢 :) - canoodle
如果把它放在 /etc/rc.local 中,您可以使它持久化,这样重启时会重新运行该命令。 - JohnnyQ
1
如果将绑定挂载添加到 /etc/fstab 中,则可以使其持久化。 - Iceberg

13

mount --bind 的区别在于其可行性。Linux 不允许创建目录的硬链接。

现代操作系统通常不允许手动创建目录硬链接,因为这可能导致难以检测的循环,会导致大多数递归程序崩溃。这些问题可能会导致 DoS 攻击和可利用的崩溃。

mount --bind 允许实现相同的功能,但是以安全的方式进行。任何在自身下挂载的目录将简单地显示为空,当您尝试递归到其中时,从而打破任何此类循环。

您还可以 mount --bind 单个文件。在这种情况下,mount --bind 在文件系统之间起作用的区别在于其可行性。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接