簡體   English   中英

父目錄在根目錄中列出

[英]Parent directory listing at root directory

眾所周知。 每個Unix目錄都包含特殊目錄-current(。)和parent(..)。 Unix中的頂級根目錄也稱為“ /”。

當我嘗試在根目錄下

  $ ls -ia
         2 .                    
         2 .. 
      3963 bin

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

(。)和(..)都具有相同的inode編號

和執行

$ cd .. 

根目錄下的目錄在同一位置結束。

我的問題是,為什么即使根目錄也包含特殊目錄列表(..)? 在根目錄中列出(..)有什么需要?

簡而言之, 就是為了保持約定的一致性


根據POSIX的定義

3.144空目錄

一個目錄,最多包含點和點-點的目錄條目,並以點-點的形式與它有一個唯一的鏈接(除了它自己的點條目,如果有的話)。 在所有文件命令的POSIX描述中使用不同的措詞重復此定義。

來自超級用戶答案

上面關於空目錄的復雜定義顯然是在這個滑稽的約定之后,其目的是避免規則的任何例外,甚至不使用斜杠(/)即根目錄。

那是目錄的Unix標准。 所有目錄都為自己(。)和父目錄(..)都有一個條目。 這些特殊條目將用於目錄遍歷。 使用“保持簡單”策略,根目錄具有與任何其他目錄相同的基本結構。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM