Symlink

通過符號連結訪問的物理路徑是否有適當的術語?

  • February 2, 2017

我花了最後一個小時考慮如何命名一個屬性,這意味著與*“已解決的物理真實路徑”*完全相反。

例如,假設/foo/bar/是一條普通的物理路徑。如果創建了/quux一個簡單指向的符號連結/foo,是否適合將通過/quux/foo/bar/“符號連結路徑”訪問的所有內容…?

這主要是關於命名法的問題,因為我不確定是否有更準確的方式來引用未解析的路徑名。我會使用“工作路徑”,但這個詞聽起來太特定於流程了。

如果需要上下文,則用於文件系統 API,其中常式確定是否應對路徑不完全是物理的資源進行額外的系統呼叫。

如果你真的想學究氣,你可能會說真的沒有“物理路徑”這回事。Unix有

  • 絕對路徑名:以單個或兩個以上<slash>字元開頭的路徑名。
  • <slash>相對路徑名:不以字元開頭的路徑名。

如果路徑名包含符號連結,它仍然是“路徑名”。POSIX 標準中沒有其他術語。

但是,該pwd實用程序有兩個標誌-P-L,但沒有說明這些字母的縮寫:

-L

如果PWD環境變數包含目前目錄的絕對路徑名並且路徑名不包含任何點或點-點的組件,pwd則應將此路徑名寫入標準輸出,除非PWD環境變數長於{PATH_MAX}包含終止 null 的字節,未指定 pwd 是否將此路徑名寫入標準輸出或表現得好像-P已指定選項一樣。否則,該-L選項應表現為-P選項。

-P

寫入標準輸出的路徑名不應包含任何引用符號連結類型文件的組件。如果pwd實用程序可以將多個路徑名寫入標準輸出,一個以單個<slash>字元開頭,一個或多個以兩個<slash>字元開頭,則它應寫入以單個<slash>字元開頭的路徑名。<slash>路徑名在前導的一兩個字元之後不應包含任何不必要的<slash>字元。

當然,可以從這兩個標誌中推斷出邏輯物理的含義,並且該實用程序的 GNU coreutils 版本甚至將這兩個詞作為長選項。

所以答案是“邏輯路徑”。

引用自:https://unix.stackexchange.com/questions/341731