Le titre est une description.
Je me demande simplement qu'il y ait une différence entre rm -r
et rm -R
.
La description de l'homme Linux semble être totalement la même (et une de plus, --recursive), mais beaucoup de gens utilisent -r et -R comme s'ils n'étaient pas identiques.
Je veux donc connaître non seulement sa différence fonctionnelle, mais aussi sa différence pratique (ou conventionnelle).
Quelqu'un pourrait-il me le faire savoir?
4 Réponses :
La page de manuel mentionne:
-r, -R, --recursive remove directories and their contents recursively
Donc, au moins sur ma machine, c'est pareil.
C'est pareil.
# rm --help | grep directories. -r, -R, --recursive remove directories and their contents recursively By default, rm does not remove directories. Use the --recursive (-r or -R)
Selon la spécification OpenGroup / POSIX pour rm
, les options -r
et -R
sont équivalentes.
Source: https://pubs.opengroup.org/onlinepubs/9699919799 /utilities/rm.html
Ceci s'applique probablement à toutes les variantes UNIX / Linux modernes.
Mais cela n'a pas toujours été le cas:
-R
n'existait pas dans v5 UNIX; voir ici , page 97. -r
. La raison de l'ajout de -R
était la compatibilité avec d'autres commandes qui utilisent -R
pour signifier récursif. (Par exemple chmod
... où -r
signifie "supprimer l'autorisation de lecture".)
Les deux options sont équivalentes, par défaut, rm ne supprime pas les répertoires. Et en utilisant l'option --recursive ( -r ou -R ) pour supprimer également chaque répertoire répertorié, ainsi que tout son contenu.