当我创建目录时,键入ls -l。当我创建文件并通过ls -l命令检查长列表时它将显示2个链接然后它只显示1个链接。谁能告诉我背后的原因...... Long listing of Home directory
在这里你可以看到文件(e.txt)有1个链接,而目录(amit)有2个链接....
答案 0 :(得分:0)
我总是理解额外的链接是由于"。"创建目录时自动创建的条目。这实际上是目录的硬链接。
答案 1 :(得分:0)
我不确定,但我认为这是Maurice Bach的书中的作业问题。在旧版本的Unix中,没有mkdir(2)
系统调用。您必须mknod()
(一个链接),然后再添加2个链接:一个来自“。”到新节点(第二个链接),然后将“..”链接到父节点(更改父节点的链接数)。因此,每个初始目录有2个链接。我不能确定完整的书(“UNIX操作系统的设计”?),但这就是为什么类Unix文件系统上的目录至少有2个链接。这也是他们添加mkdir()
系统调用的原因;早期的3步骤过程繁琐且容易出错。