Linux
為什麼 getfacl 從絕對路徑名中刪除前導 /?
我正在學習 CentOS/Red Hat 6 的 ACL;當我
getfacl
使用絕對路徑執行時,我得到了輸出:getfacl:從絕對路徑名中刪除前導“/”
為什麼需要這樣做?在什麼情況下需要使用
-p
or--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...]