El binario cp
estándar en macOS no tiene una opción -r
. Si quieres copiar directorios, necesitas usar -R
. Tal vez la persona que te lo dijo estaba confundiéndolo con rm -rf
.
Respecto a -f
, la página del manual dice
Si el archivo de destino no se puede abrir, se elimina y se crea un nuevo archivo,
sin solicitar confirmación independientemente de sus permisos.
Por lo tanto, en caso de que el archivo de destino exista pero no tengas acceso de escritura, normalmente cp
fallaría. -f
intenta eliminar el archivo (lo cual es posible siempre y cuando tengas acceso de escritura al directorio) y luego lo reemplaza con la versión copiada.
$ touch foo bar
$ chmod -w bar
$ cp foo bar
cp: bar: Permiso denegado
$ cp -f foo bar
$