根目录

时间:2016-12-19 05:21:08

标签: linux

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

当我在根目录中尝试时,

  $ ls -ia
         2 .                    
         2 .. 
      3963 bin

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

两者(。)& (..)具有相同的inode编号

&安培;执行

$ cd .. 

在根目录结束于同一位置。

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

2 个答案:

答案 0 :(得分:4)

简单地说,就是保持约定一致

根据POSIX定义

3.144 Empty Directory

  

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

来自超级用户answer

  

显然,以上对于空目录的复杂定义   这个有趣的约定背后,其目的是避免任何   规则的例外,甚至不是斜线(/),即根目录。

答案 1 :(得分:1)

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