3

你怎么知道一个目录在 OSX 中从终端有多少硬链接?

在 OSX 中,您可以对目录进行硬链接。这就是时间机器的工作原理。我想知道哪些目录有硬链接,这样我就可以看到哪些目录是 Time Machine 的新目录。

我试过了ls -lstat -f "%l %N" *但似乎都没有给出正确的答案。

有人知道怎么做吗?

4

2 回答 2

2

ls -l是在目录中显示硬链接文件的正确方法。

来自维基百科关于硬链接的文章

大多数现代操作系统不允许目录上的硬链接以防止无限递归。此外,目录上的硬链接会导致父目录条目不一致。一个值得注意的例外是 Mac OS X v10.5 (Leopard),它使用目录上的硬链接仅用于 Time Machine 备份机制。符号链接和 NTFS 连接点通常用于此目的。

于 2011-06-13T06:04:00.240 回答
1

根据定义,我认为即使是 Time Machine 也无法跨文件系统进行硬链接。我相信创建硬链接只会创建一个与原始索引节点编号相同的文件(或目录),并且索引节点仅在给定文件系统中是唯一的。

我认为没有任何方法可以计算文件或目录有多少符号链接,因为可以有符号链接指向未安装卷上的文件。

更新:当你创建一个目录时,它会自动有两个硬链接。一个来自目录本身 (".") 和一个来自其父目录 ("..") 对目录执行 ls -ld 将为您提供指向该目录的硬链接的数量。

于 2011-06-14T14:42:02.467 回答