父目录在根目录中列出

工程师2014:

众所周知。每个Unix目录都包含特殊目录-current(。)和parent(..)。Unix中的顶级根目录也称为“ /”。

当我尝试在根目录下

  $ ls -ia
         2 .                    
         2 .. 
      3963 bin

............... 

(。)和(..)都具有相同的inode编号

和执行

$ cd .. 

根目录下的目录在同一位置结束。

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

纳比尔·艾哈迈德(Nabeel Ahmed):

简而言之,就是为了保持约定的一致性


根据POSIX的定义

3.144空目录

一个目录,最多包含点和点-点的目录条目,并以点-点的形式仅具有指向该目录的一个链接(如果存在,则不是其自己的点条目)。在所有文件命令的POSIX描述中使用不同的措词重复此定义。

来自超级用户答案

上面关于空目录的复杂定义显然是在这个有趣的约定之后,其目的是避免规则的任何例外,甚至不使用斜杠(/)即根目录。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章