我剛開始使用Mac /
OS Volumes/
X。
當我進入該目錄下時Volumes/
,有一個名為 的目錄Macintosh HD/
。當我進入該目錄下時Macintosh HD/
,我回到根目錄,我可以Volumes/
再次進入該目錄下。如果我繼續執行此操作幾次並使用 pwd 檢查我所在的目錄,我會發現我位於名為 的目錄中/Volumes/Macintosh/Volumes/Macintosh/Volumes/Macintosh
。
我無法理解這背後的邏輯。有人可以解釋一下嗎?
答案1
首先,只需了解/Volumes/
目錄在哪裡所有已安裝的捲在你的 Mac OS X 系統上自然會出現。您看到這種行為發生的原因是因為它只是系統上(root)Macintosh/
的符號連結;/
完成此操作後,/Volumes
除了/
對該磁碟區的(根)存取權限之外,您仍然可以對該磁碟區進行命名存取。
例如,如果您進入系統上的終端,鍵入cd /Volumes
然後鍵入,ls -la
您可能會看到如下所示的內容:
drwxrwxrwt@ 7 root admin 238 Sep 13 23:55 .
drwxr-xr-x 29 root wheel 1054 Sep 13 01:43 ..
lrwxr-xr-x 1 root admin 1 Sep 13 16:42 Macintosh -> /
符號連結基本上就像 Finder 中的別名;但在檔案系統級別,符號連結就是「別名」。
至於為什麼你看到它這樣做,/Volumes/Macintosh/Volumes/Macintosh/Volumes/Macintosh
那pwd
隻是檔案系統解釋你的路徑。是的,這可能看起來很奇怪和令人困惑,但不要感到困惑。/Volumes/
具有這種行為的唯一已安裝卷是/
系統的根 ( ) 卷。如果您安裝任何其他捲,它們將顯示出來/Volumes/
並且不會像這樣循環,因為它們將是實際的、安裝的捲而不是符號連結。
現在至於嵌套符號連結/目錄行為的“原因”,這不是一個容易回答的問題。但基本上所有的 Linux/Unix 系統都是這樣的。和Unix & Linux Stack Exchange 上的這個問答主題確實詳細說明了為什麼存在由符號連結引起的嵌套目錄。