web-dev-qa-db-ja.com

getfaclが先頭の/を絶対パス名から削除するのはなぜですか?

私はCentOS/Red Hat 6のACLについて学んでいる最中です。絶対パスを使用してgetfaclを実行すると、次のような出力が得られます。

getfacl:絶対パス名から先頭の「/」を削除する

なぜこれが必要なのですか?どのような状況で-pまたは--absolute-namesスイッチを使用する必要がありますか?

Wale SoyinkaとMichael Jangによる私の本は、これについてはあまり言及していません。manページには手掛かりがなく、この警告に直接対処しているサイトを見つけることができません。

10
Seananigans

getfaclのmanページから:

-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スイッチが使用されている場合にのみ表示されることに注意してください。

$ 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...]
6
Ivan Chau