cp
Copia archivos o carpetas de un lugar a otro sin borrar el original.
Sirve para duplicar un archivo o una carpeta en otra ubicación. Lo usas para respaldar algo antes de modificarlo, o para llevar una copia a otra carpeta sin tocar la original.
cp [opciones] ORIGEN DESTINOSi el destino ya existe, cp lo sobrescribe sin avisar y pierdes su contenido. Usa -i para que pregunte antes, o -n para que nunca toque lo que ya existe.
Despiece
6 ejemplosCopiar un archivo con otro nombre
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | cp | Comando | El comando para copiar. |
| 2 | notas.txt | Argumento | El archivo original que quieres duplicar. |
| 3 | notas_copia.txt | Argumento | El nombre que tendrá la copia. |
Crea notas_copia.txt con el mismo contenido y deja intacto el original notas.txt.
Copiar un archivo a otra carpeta
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | cp | Comando | El comando para copiar. |
| 2 | notas.txt | Argumento | El archivo que quieres duplicar. |
| 3 | /tmp/ | Argumento | La carpeta destino, que ya existe en el sistema. |
Deja una copia de notas.txt dentro de /tmp conservando el mismo nombre.
Copiar una carpeta completa
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | cp | Comando | El comando para copiar. |
| 2 | -r | Opción | Recursivo: copia la carpeta y todo lo que tiene dentro. |
| 3 | proyecto/ | Argumento | La carpeta que quieres duplicar. |
| 4 | respaldo-proyecto/ | Argumento | El nombre que tendrá la copia de la carpeta. |
Si respaldo-proyecto no existe, lo crea como copia completa de proyecto. Si ya existía, la copia queda dentro: respaldo-proyecto/proyecto.
Preguntar antes de sobrescribir
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | cp | Comando | El comando para copiar. |
| 2 | -i | Opción | Interactive: avisa y pregunta antes de sobrescribir. |
| 3 | notas.txt | Argumento | El archivo que quieres copiar. |
| 4 | /tmp/notas.txt | Argumento | El destino exacto de la copia. |
Si /tmp/notas.txt ya existe, cp pregunta si de verdad quieres sobrescribirlo antes de hacerlo.
Copiar sin dejar que sobrescriba
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | cp | Comando | El comando para copiar. |
| 2 | -n | Opción | No clobber: no sobrescribe archivos que ya existen. |
| 3 | datos.csv | Argumento | El archivo que quieres copiar. |
| 4 | datos.bak | Argumento | El archivo destino de la copia. |
Copia datos.csv a datos.bak solo si datos.bak no existe todavía; si existe, lo deja intacto.
Guardar la fecha original al copiar
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | cp | Comando | El comando para copiar. |
| 2 | -p | Opción | Preserve: conserva permisos y fechas del original (y el dueño, si eres root). |
| 3 | foto.jpg | Argumento | El archivo original. |
| 4 | /tmp/foto.jpg | Argumento | El destino de la copia en la carpeta temporal. |
La copia conserva la fecha de modificación y los permisos del original, en vez de quedar con la fecha de hoy.
Opciones
Las que sí vas a usar| Opción | Qué hace |
|---|---|
| -r--recursive | Copia una carpeta y todo lo que tiene dentro. |
| -i--interactive | Pregunta antes de sobrescribir un archivo que ya existe. |
| -n--no-clobber | Nunca sobrescribe: si el archivo ya existe en el destino, lo deja como está. |
| -v--verbose | Muestra cada archivo que va copiando. |
| -u--update | Solo copia si el origen es más nuevo que el destino o si el destino no existe. |
| -p--preserve | Conserva los permisos y las fechas del original. El dueño solo se conserva si copias como root. |
Fallas comunes
| Falla | Remedio |
|---|---|
| Copiar una carpeta sin -r y ver cp: -r not specified; omitting directory. | Las carpetas necesitan la opción recursiva. Usa cp -r carpeta destino para copiar todo su contenido. |
| Sobrescribir un archivo por accidente porque el destino ya existía. | Usa -i para que cp pregunte antes de sobrescribir, o -n para que jamás toque un archivo existente. |
| Pensar que cp crea la carpeta destino si no existe. | cp no crea carpetas. cp notas.txt respaldo/ falla si respaldo no existe, y sin la diagonal crea un archivo llamado respaldo. Crea primero la carpeta con mkdir -p y luego copia. |
| Poner el destino antes que el origen. | El orden siempre es cp ORIGEN DESTINO. Si lo escribes al revés y los dos archivos existen, cp no da error: copia el viejo encima de tu original y lo pierdes. |
Preguntas frecuentes
- ¿Cómo copio una carpeta con todo su contenido?
- Usa -r para que sea recursiva: cp -r carpeta destino. Sin -r, cp solo copia archivos y se salta las carpetas con un mensaje de advertencia.
- ¿Cuál es la diferencia entre cp y mv?
- cp duplica: deja el archivo en el origen y crea una copia en el destino. mv mueve: saca el archivo del origen y lo deja solo en el destino. Para respaldar algo, usa cp.
- ¿Cómo copio un archivo sin sobrescribir el que ya existe?
- Agrega -n: cp -n origen destino. Si ya existe un archivo con el mismo nombre en el destino, cp lo deja intacto y no copia.
- ¿Qué hace cp -i?
- La opción interactive hace que cp pregunte antes de sobrescribir un archivo. Respondes y para sobrescribir (s si tu sistema está en español) o n para dejarlo como está. Evita que pierdas archivos por error.
- ¿Cómo paso un archivo a otra carpeta sin borrarlo de la original?
- Usa cp con el origen y la carpeta destino: cp archivo /ruta/destino/. Queda el original donde estaba y se crea una copia en el destino. Si prefieres moverlo y eliminar el original, usa mv.