La maggior parte dei comandi POSIX che hanno l'opzione directory traversal ricorsiva ( ls
, chmod
, chgrp
, chmod
, cp
, rm
) hanno -R
per questo.
rm
ha anche -r
perché era quello che era inizialmente, molto prima di POSIX.
Ora, il comportamento varia quando si trovano collegamenti simbolici mentre si cammina lungo l'albero. POSIX ha cercato di rendere le cose coerenti aggiungendo le opzioni -L
/ -H
/ P
per dare all'utente la possibilità di decidere cosa fare con i collegamenti simbolici lasciando l'impostazione predefinita quando nessuno viene fornito non specificato.
POSIX grep
non ha -r
o -R
.
grep
Inizialmente GNU non ne aveva. -r
è stato aggiunto nel 1998. Ciò seguiva i symlink.
-R
è stato aggiunto come sinonimo nel 2001 per coerenza con le altre utility. Ciò seguiva ancora i symlink.
Nel 2012 (grep 2.12), è -r
stato modificato in modo da non seguire più i symlink, forse perché -L
, -H
erano già utilizzati per qualcos'altro.
I BSD grep
sono stati basati su GNU grep per molto tempo. Alcuni di loro hanno riscritto il proprio e mantenuto più o meno compatibilità con GNU grep
. Apple OS / X ha risolto il problema del collegamento simbolico in modo diverso. -r
e -R
sono uguali e non seguono i collegamenti simbolici. C'è una -S
possibilità, tuttavia, che si comporta come chmod
/ cp
/ find
's -L
possibilità di seguire i link simbolici.