No estoy de acuerdo con que debas usar la fbandera. -f if an existing destination file cannot be opened, remove it and try again
Nifle
Personalmente, siempre uso la bandera -f. No es una buena práctica, entonces quizás tengas razón.
qroberts
Si sabe lo que hace y sabe lo que está haciendo, está bien. Pero en este caso con un usuario inexperto podría no ser adecuado.
Nifle
@Nifle Sí, entiendo lo que estás diciendo. Solo que si lo fuerza, las posibilidades de que funcione son mejores que si no lo hiciera. Todo depende de lo que esté haciendo y de que comprenda lo que hace.
qroberts
Si pone una nota en su respuesta acerca de que la -fbandera es útil si está copiando <source> over <dest> (como al sobrescribir cosas en <dest>), yo mismo la
votaré
11
Si bien las cp -Rrespuestas son correctas (por cierto, el caso de la bandera en BSD debe ser mayúscula, ambas son compatibles con Linux), hay un viejo encantamiento que involucra alquitrán :
$ tar cf -.|(cd DIR; tar xf -)
¿Por qué diablos harías eso? Porque el alquitrán tiene una comprensión bastante sofisticada de los enlaces tanto duros como simbólicos.
¿Desea copiar para reemplazar los enlaces simbólicos existentes con uno que tenga el mismo texto? ¿O con enlaces al mismo objetivo (ajustando rutas relativas para compensar)? ¿O con copias bit a bit del objetivo?
Si dos archivos en el original están vinculados, ¿la nueva estructura debería tener dos copias de los datos o solo una?
Decisiones decisiones. Tar tiene valores predeterminados razonables, pero le permite ser muy específico al respecto.
Respuestas:
-r
= recursivo, copia todos los subdirectorios-f
= forzar, si no se puede abrir un archivo de destino existente, elimínelo e intente nuevamenteNota Debe tener cuidado al usar la
-f
bandera porque sobrescribirá forzosamente todo lo que copie. Gracias @Nifle por esta sugerencia.Es posible que desee utilizar el comodín * para copiar todos los archivos en el directorio si es necesario.
fuente
f
bandera.-f if an existing destination file cannot be opened, remove it and try again
-f
bandera es útil si está copiando <source> over <dest> (como al sobrescribir cosas en <dest>), yo mismo laSi bien las
cp -R
respuestas son correctas (por cierto, el caso de la bandera en BSD debe ser mayúscula, ambas son compatibles con Linux), hay un viejo encantamiento que involucra alquitrán :¿Por qué diablos harías eso? Porque el alquitrán tiene una comprensión bastante sofisticada de los enlaces tanto duros como simbólicos.
¿Desea copiar para reemplazar los enlaces simbólicos existentes con uno que tenga el mismo texto? ¿O con enlaces al mismo objetivo (ajustando rutas relativas para compensar)? ¿O con copias bit a bit del objetivo?
Si dos archivos en el original están vinculados, ¿la nueva estructura debería tener dos copias de los datos o solo una?
Decisiones decisiones. Tar tiene valores predeterminados razonables, pero le permite ser muy específico al respecto.
fuente
me gusta
Rsync es otra buena herramienta para esto
fuente