Directory Sharing with Links

Links 是讓多個 names 指向同一 object 的常見方法。

Hard link 是另一個 directory entry,直接指向同一 file identifier / inode。只要還有 hard link 指向該 object,file content 通常不能被回收。

Symbolic link 是一個特殊 file,內容是另一個 pathname。Access symlink 時,OS 會解析其中的 path 再找到目標。

link name → symlink file containing pathname → target object

Symlink 可以跨 file system,也可以指向不存在的 target;因此可能形成 dangling link。

Traversal 工具必須決定是否 follow links,否則可能重複拜訪 subtree 或遇到 cycle。