Linux

為什麼 getfacl 從絕對路徑名中刪除前導 /?

  • June 14, 2021

我正在學習 CentOS/Red Hat 6 的 ACL;當我getfacl使用絕對路徑執行時,我得到了輸出:

getfacl:從絕對路徑名中刪除前導“/”

為什麼需要這樣做?在什麼情況下需要使用-por--absolute-names開關?

我寫的 Wale Soyinka 和 Michael Jang 的書甚至沒有提及這一點,我在手冊頁中沒有看到任何線索,而且我似乎找不到任何直接解決此警告的站點。

從手冊頁getfacl

-p, --absolute-names
      Do not strip leading slash characters (`/'). The  default  behavior
      is to strip leading slash characters.

-p當您在不使用開關的情況下提供絕對路徑時會發出警告消息。

當為命令提供絕對路徑時,輸出會有所不同getfacl

-p開關:

$ getfacl /path/foo/bar
getfacl: Removing leading '/' from absolute path names
# file: path/foo/bar
[Output truncated...]

請注意,文件路徑中的前導斜杠僅在-p使用 switch 時顯示。

$ getfacl -p /path/foo/bar
# file: /path/foo/bar
[Output truncated...]

-p當您通過管道傳輸輸出以進行進一步處理時,保留前導斜杠很有用。

當為命令提供相對路徑時,輸出是相同的getfacl

$ getfacl bar
# file: bar
[Output truncated...]

沒有變化:

$ getfacl -p bar
# file: bar
[Output truncated...]

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