La mayoría de los comandos de POSIX que tienen opción de directorio recorrido recursivo ( ls
, chmod
, chgrp
, chmod
, cp
, rm
) tienen -R
por ello.
rm
también tiene -r
porque eso es lo que era inicialmente, mucho antes de POSIX.
Ahora, el comportamiento varía cuando se encuentran enlaces simbólicos al caminar por el árbol. POSIX trató de hacer las cosas consistentes agregando las opciones -L
/ -H
/ P
para dar al usuario la oportunidad de decidir qué hacer con los enlaces simbólicos, dejando el valor predeterminado cuando ninguno se proporciona sin especificar.
POSIX grep
no tiene -r
o -R
.
GNU grep
inicialmente no tenía ninguno. -r
fue agregado en 1998. Eso estaba siguiendo enlaces simbólicos.
-R
fue agregado como sinónimo en 2001 por coherencia con las otras utilidades. Eso seguía siguiendo los enlaces simbólicos.
En 2012 (grep 2.12), -r
fue cambiado por lo que ya no sigue los enlaces simbólicos, posiblemente porque -L
, -H
ya se utiliza para otra cosa.
Los BSD grep
se basaron en GNU grep durante mucho tiempo. Algunos de ellos han reescrito los suyos y han mantenido más o menos compatibilidad con GNU grep
. Apple OS / X abordó el problema del enlace simbólico de manera diferente. -r
y -R
son iguales y no siguen enlaces simbólicos. Sin -S
embargo, hay una opción que actúa como la opción chmod
/ cp
/ para seguir enlaces simbólicos.find
-L