为什么在UNIX中创建目录和文件期间链接有所不同



当我创建目录并键入LS -L时。它将在我创建文件时显示2个链接并通过LS -L命令检查长列表,然后仅显示1个链接。谁能告诉我背后的原因。主目录的长列表

在这里您可以看到文件(e.txt(有1个链接,而目录(amit(有2个链接....

我总是理解额外的链接是由于"。创建目录时会自动创建的条目。这实际上是与目录的紧密联系。

我不确定,但我认为这是莫里斯·巴赫(Maurice Bach(的书中的家庭作业问题。在UNIX较旧版本中,没有mkdir(2)系统调用。您必须进行mknod()(一个链接(,然后进行2个附加链接:一个来自"。到新节点(第二个链接(,然后链接" .."到父节点(更改父链接计数(。因此,每个初始目录有2个链接。我无法确切的书籍(" Unix操作系统的设计"?(,但这就是为什么Unix式文件系统上的目录至少具有2个链接。这也是他们添加mkdir()系统调用的原因;较早的三步过程很乏味,并且容易出错。

最新更新