Cómo usar el comando cp en Linux: copiar archivos y directorios desde la terminal
Uno de los comandos más utilizados en Linux es cp. Ya sea para hacer una copia de seguridad rápida, duplicar configuraciones, respaldar documentos importantes o copiar directorios completos, este comando forma parte del día a día de cualquier usuario que trabaje con la terminal.
Aunque los entornos gráficos permiten copiar y pegar archivos con unos pocos clics, conocer cp te brinda más control, velocidad y flexibilidad, especialmente cuando trabajás en servidores, scripts o conexiones remotas.
Hace unos días en NotiLinux vimos cómo utilizar el comando mv para mover y renombrar archivos. En esta oportunidad veremos cómo copiar archivos y carpetas manteniendo intacto el original.
¿Qué es el comando cp?
El comando cp (de copy) se utiliza para copiar archivos y directorios de una ubicación a otra.
A diferencia de mv, que mueve los archivos eliminándolos de la ubicación original, cp crea una copia y conserva el archivo original exactamente donde estaba.
Su sintaxis básica es:
cp origen destinoCómo copiar un archivo
El uso más sencillo consiste en copiar un archivo hacia otra ubicación.
cp documento.txt Backup/Esto creará una copia de documento.txt dentro de la carpeta Backup.
También podés utilizar rutas absolutas:
cp /home/mauro/documento.txt /home/mauro/Backups/Cómo copiar y cambiar el nombre al mismo tiempo
Una característica muy útil de cp es que permite crear una copia con un nombre diferente.
cp informe.txt informe-respaldo.txtEl resultado será:
informe.txt(original)informe-respaldo.txt(copia)
Cómo copiar directorios completos
Si intentás copiar una carpeta utilizando únicamente cp, Linux mostrará un error.
Para copiar directorios es necesario usar la opción -r (recursiva).
cp -r Proyectos/ Backup-Proyectos/Esto copiará la carpeta junto con todos sus archivos y subdirectorios.
Opciones más útiles del comando cp
-r → copiar directorios recursivamente
cp -r carpeta/ destino/Permite copiar estructuras completas de directorios.
-i → solicitar confirmación antes de sobrescribir
cp -i archivo.txt destino/Si ya existe un archivo con el mismo nombre, Linux pedirá confirmación antes de reemplazarlo.
-v → mostrar cada operación realizada
cp -v archivo.txt Backup/Muy útil para verificar qué archivos están siendo copiados.
-a → modo archivo (preserva atributos)
cp -a origen/ destino/Conserva permisos, propietarios, fechas y enlaces simbólicos. Es una de las opciones más utilizadas para respaldos.
Ejemplos prácticos
Crear una copia de seguridad rápida
cp configuracion.conf configuracion.conf.bakUna práctica muy recomendable antes de modificar archivos importantes.
Respaldar una carpeta completa
cp -r Documentos/ Documentos-Backup/Copiar todos los archivos PDF
cp *.pdf Respaldos/Ideal para organizar documentos rápidamente.
Duplicar configuraciones
cp ~/.bashrc ~/.bashrc-respaldoMuy útil antes de realizar cambios en archivos de configuración.
Diferencia entre cp y mv
Es habitual que los usuarios nuevos confundan ambos comandos.
| Comando | Acción |
|---|---|
| cp | Copia archivos o carpetas |
| mv | Mueve o renombra archivos |
Recordá que cp conserva el original mientras que mv lo traslada a una nueva ubicación.
Errores comunes
Olvidar la opción -r
Uno de los errores más frecuentes es intentar copiar directorios sin utilizar la opción recursiva.
cp carpeta destinoEsto producirá un error.
La forma correcta es:
cp -r carpeta destinoSobrescribir archivos accidentalmente
Si existe un archivo con el mismo nombre, puede ser reemplazado.
Para evitar sorpresas utilizá:
cp -iEnlaces útiles
Conclusión
El comando cp es una de las herramientas fundamentales de Linux y probablemente una de las que más vas a utilizar con el paso del tiempo. Su simplicidad permite realizar desde copias rápidas de archivos hasta respaldos completos de directorios enteros.
Aprender a dominar cp te dará más confianza trabajando desde la terminal y te permitirá administrar tus archivos de forma mucho más eficiente. Y combinado con comandos como cd, mv y rm, se convierte en una pieza esencial para cualquier usuario de Linux.
