Saltar al contenido

Copiar un directorio en Unix

Si hallas algún problema en tu código o proyecto, recuerda probar siempre en un ambiente de testing antes añadir el código al proyecto final.

Solución:

cp -rf /source/path/ /destination/path/

-r = recursivo, copia todos los subdirectorios

-f = forzar, si no se puede abrir un archivo de destino existente, elimínelo y vuelva a intentarlo

Nota Debe tener cuidado al usar el -f bandera porque sobrescribirá a la fuerza todo lo que copie. Gracias a @Nifle por esta sugerencia.

Es posible que desee utilizar el comodín * para copiar todos los archivos en el directorio si es necesario.

Mientras que la cp -R las respuestas son correctas (por cierto, el caso de la bandera en BSD debe ser mayúscula, ambos son compatibles con Linux), hay un antiguo encantamiento que involucra a tar:

$ tar cf - . | (cd DIR; tar xf - )

¿Por qué diablos harías eso? Debido a que tar tiene una comprensión bastante sofisticada de Enlaces tanto duro como simbólico.

¿Quiere copiar para reemplazar los enlaces simbólicos existentes por 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 del original están vinculados de forma rígida, ¿la nueva estructura debe tener dos copias de los datos o solo una?

Decisiones decisiones. Tar tiene valores predeterminados sensibles, pero le permite ser muy específico al respecto.

me gusta

cp -axv source dest

Rsync es otra buena herramienta para esto

rsync -va source dest

Te invitamos a añadir valor a nuestro contenido informacional colaborando tu experiencia en las referencias.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *