我们都知道。每个Unix目录都包含特殊目录-- current(.) &parent(.)。Unix中的顶级根目录也称为“/”。
当我在根目录下尝试时,
$ ls -ia
2 .
2 ..
3963 bin
............... (.)和(.)有相同的inode号
&执行
$ cd .. 根目录结束于同一位置。
我的问题是,为什么连根目录都包含特殊目录列表(..)?什么是需要列出(.)在根目录下?
发布于 2016-12-19 06:45:21
简单地说,--它只是为了保持约定的一致性,。
根据POSIX定义
一种目录,最多包含点和点点的目录条目,并且在点-点中正好有一个指向它的链接(如果存在它自己的点条目除外)。这个定义在所有文件命令的POSIX描述中用不同的短语重复。
来自超级用户answer
上面对一个空目录的复杂定义显然是这个有趣的约定背后的原因,它的目的是避免规则的任何例外,甚至不是对于斜杠(/),即根dir。
发布于 2016-12-19 05:27:06
这是目录的Unix标准。所有目录都有自己的条目(.)以及父母(.)。这些特殊条目将用于目录遍历。使用“保持简单”策略,根目录具有与任何其他目录相同的基本结构。
https://stackoverflow.com/questions/41216154
复制相似问题