Większość poleceń POSIX, które mają możliwość przejścia rekurencyjną katalog ( ls
, chmod
, chgrp
, chmod
, cp
, rm
) mają -R
za to.
rm
również -r
dlatego, że tak było początkowo na długo przed POSIX.
Teraz zachowanie zmienia się, gdy podczas przechodzenia po drzewie znajdują się dowiązania symboliczne. POSIX starał się zachować spójność, dodając opcje -L
/ -H
/, P
aby dać użytkownikowi szansę decydowania o tym, co zrobić z dowiązaniami symbolicznymi, pozostawiając domyślną, gdy żadne nie zostanie podane nieokreślone.
POSIX grep
nie ma -r
lub -R
.
GNU grep
początkowo nie miał żadnego. -r
został dodany w 1998 roku. To było po dowiązaniach symbolicznych.
-R
został dodany jako synonim w 2001 roku dla spójności z innymi narzędziami. To wciąż śledziło dowiązania symboliczne.
W 2012 r. (Grep 2.12) -r
został zmieniony, aby przestał podążać za dowiązaniami symbolicznymi, być może dlatego -L
, że -H
były już używane do czegoś innego.
BSD grep
były oparte na GNU grep przez długi czas. Niektóre z nich przepisały własne i zachowały mniej więcej zgodność z GNU grep
. Apple OS / X inaczej rozwiązał problem dowiązania symbolicznego. -r
i -R
są takie same i nie podążaj za dowiązaniami symbolicznymi. Istnieje -S
opcja jednak, że zachowuje się jak chmod
/ cp
/ find
„s -L
opcją śledzenia dowiązania.