众所周知。每个Unix目录都包含特殊目录 - current(。)&父(..)。 Unix中的顶级根目录也称为“/”。
当我在根目录中尝试时,
$ ls -ia
2 .
2 ..
3963 bin
...............
两者(。)& (..)具有相同的inode编号
&安培;执行
$ cd ..
在根目录结束于同一位置。
我的问题是为什么甚至根目录都包含特殊目录列表(..)?在根目录中列出(..)需要什么?
答案 0 :(得分:4)
简单地说,就是保持约定一致。
根据POSIX定义
最多包含dot和的目录条目的目录 点 - 点,并且只有一个链接(除了它自己的点条目, 如果存在的话),以点为单位。该定义以不同的方式重复 所有文件命令的POSIX描述中的措辞。
来自超级用户answer:
显然,以上对于空目录的复杂定义 这个有趣的约定背后,其目的是避免任何 规则的例外,甚至不是斜线(/),即根目录。
答案 1 :(得分:1)
这是目录的Unix标准。所有目录都有自己的条目(。)以及父(...)。这些特殊条目将用于目录遍历。使用“保持简单”策略,根目录具有与任何其他目录相同的基本结构。