为什么在带有硬链接的Unix系统中我们使用DAG结构?

时间:2014-12-12 21:52:45

标签: unix operating-system directed-acyclic-graphs hardlink

我的问题是,为什么我们需要让它成为非循环?在教科书中,它说因为我们需要检测结构中的循环,如果它不是非循环的。但为什么我们必须检测它们呢?我认为没有必要检测它们。

1 个答案:

答案 0 :(得分:1)

文件系统图中的循环可以通过软链接实现,软链接通常与硬链接一起使用。当软链接将您带入循环时,循环检测对于处理实例是必要的。硬链接仅限于文件,它会自动强制执行DAG,但软链接可以引用目录。

一个(退化)案例,方便:

% ln -s symlink symlink
% ls -l
total 0
lrwxrwxrwx 1 doug doug 7 Jul 17 16:29 symlink -> symlink
% ls -L symlink
ls: cannot access symlink: Too many levels of symbolic links
%