父目录在根目录下列出

众所周知, 每个Unix目录都包含特殊的目录 – current(。)&parent(..)。 Unix中的顶层根目录被称为“/”。

当我在根目录下尝试时,

$ ls -ia 2 . 2 .. 3963 bin ............... 

(。)&(..)都有相同的inode号码

执行

 $ cd .. 

在根目录结束在相同的位置。

我的问题是为什么即使根目录包含特殊的目录列表(..)? 什么是需要列出(..)在根目录?

简单来说, 只是为了保持公约的一致性


根据POSIX定义

3.144空目录

一个最多包含点和点的目录条目的目录,并且只有一个链接(除了它自己的点条目,如果存在),以点为单位。 这个定义在所有文件命令的POSIX描述中用不同的措辞重复。

从超级用户回答 :

这个空目录的上述复杂的定义显然是在这个有趣的约定背后,其目的是为了避免任何例外的规则,甚至没有斜杠(/),即根目录。

这是目录的Unix标准。 所有目录都有一个自己的条目(。)以及父(..)。 这些特殊的条目将被用于目录遍历。 使用“保持简单”策略,根目录与其他目录具有相同的基本结构。