再帰的なディレクトリトラバーサルのオプションを持っているほとんどのPOSIXコマンドは(ls
、chmod
、chgrp
、chmod
、cp
、rm
)持って-R
いるため。
rm
また-r
、POSIXよりもずっと前の初期の状態だからです。
現在、ツリーをたどってシンボリックリンクが見つかったときの動作は異なります。POSIXは、-L
/ -H
/ P
オプションを追加することにより、一貫性を持たせようとしました。これにより、指定されていないものが何も指定されていない場合、シンボリックリンクをどうするかをユーザーが決定できるようになります。
POSIXはgrep
まったくありません-r
か-R
。
GNUにgrep
は最初はどちらもありませんでした。-r
1998年に追加されました。これはシンボリックリンクをたどっていました。
-R
他のユーティリティとの一貫性のために2001年に同義語として追加されました。それはまだシンボリックリンクをたどっていました。
2012(グレップ2.12)で、-r
もはや可能性があるため、シンボリックリンクをたどらないように変更された-L
、-H
すでに何か他のもののために使用されました。
BSD grep
は長い間GNU grepに基づいていました。それらのいくつかは独自に書き直し、GNUとの互換性をほぼ維持していますgrep
。Apple OS / Xは、シンボリックリンクの問題に異なる方法で対処しました。-r
と-R
同じであり、シンボリックリンクをたどらないでください。-S
ただし、シンボリックリンクをたどるchmod
/ cp
/ find
の-L
オプションのように機能するオプションがあります。