A maioria dos comandos POSIX que têm opção de passagem de diretório recursiva ( ls
, chmod
, chgrp
, chmod
, cp
, rm
) tem -R
para isso.
rm
também tem, -r
porque era o que era inicialmente, muito antes do POSIX.
Agora, o comportamento varia quando são encontrados links simbólicos ao andar pela árvore. O POSIX tentou tornar as coisas consistentes adicionando as opções -L
/ -H
/ P
para dar ao usuário a chance de decidir o que fazer com os links simbólicos, deixando o padrão quando nenhum é fornecido não especificado.
O POSIX grep
não possui -r
ou -R
.
O GNU grep
inicialmente não tinha nenhum. -r
foi adicionado em 1998. Isso seguia os links simbólicos.
-R
foi adicionado como sinônimo em 2001 por consistência com os outros utilitários. Isso ainda estava seguindo links simbólicos.
Em 2012 (grep 2,12), -r
foi alterado para que ele não seguiu links simbólicos, possivelmente porque -L
, -H
já foram utilizados para outra coisa.
Os BSDs grep
foram baseados no GNU grep por um longo tempo. Alguns deles reescreveram seus próprios e mantiveram mais ou menos compatibilidade com o GNU grep
. O Apple OS / X abordou o problema do link simbólico de maneira diferente. -r
e -R
são iguais e não seguem links simbólicos. No -S
entanto, existe uma opção que funciona como a opção chmod
/ cp
/ para seguir links simbólicos.find
-L