cp (Copiar)
100%

Línea de Comandos · Lección 10

cp (Copiar)

Aprende a copiar archivos y árboles de directorios controlando las sobrescrituras y los atributos conservados.

El comando cp es la herramienta estándar para copiar archivos y directorios en Linux. Crea una nueva copia dejando el archivo original en su lugar. Su sintaxis básica es:

cp [OPTIONS] SOURCE DESTINATION

Puedes copiar un archivo a otro archivo, uno o más archivos a un directorio, o un árbol completo de directorios con la opción adecuada.

Copia de un archivo

Para copiar un archivo, especificas el archivo fuente y el directorio o ruta de destino.

$ cp mycoolfile /home/pete/Documents/cooldocs

En este ejemplo, mycoolfile es el archivo fuente, y /home/pete/Documents/cooldocs es el directorio de destino. También puedes copiar un archivo y darle un nuevo nombre en el destino.

$ cp mycoolfile /home/pete/Documents/mycoolfile_backup

Si el destino es un directorio existente, el archivo copiado mantiene su nombre original. Si el destino es un nombre de archivo, cp crea una copia con ese nuevo nombre.

¿Qué orden copia draft.txt en un archivo llamado final.txt y conserva draft.txt?

Copia de varios archivos en un directorio

Para copiar varios archivos al mismo directorio, lista todas las fuentes primero y coloca el directorio de destino al final.

$ cp report.txt notes.txt summary.txt /home/pete/Documents/

El último argumento debe ser un directorio cuando proporcionas más de una fuente.

¿Qué orden copia a.txt y b.txt en el directorio existente archive/?

Selección de archivos con comodines

Los comodines son caracteres especiales que te ayudan a seleccionar múltiples archivos basados en patrones, proporcionando gran flexibilidad.

  • *: Coincide con cualquier secuencia de caracteres.
  • ?: Coincide con cualquier carácter individual.
  • []: Coincide con cualquiera de los caracteres encerrados en los corchetes.

Por ejemplo, para copiar todas las imágenes JPEG desde tu ubicación actual al directorio Pictures:

$ cp *.jpg /home/pete/Pictures

Puedes previsualizar los archivos que coinciden antes de copiar:

$ ls *.jpg
beach.jpg  lunch.jpg  profile.jpg
$ cp *.jpg /home/pete/Pictures

Antes de copiar *.jpg, ¿qué orden muestra los nombres no ocultos que coinciden actualmente con el patrón?

Copia de árboles de directorios

Si intentas copiar un directorio usando cp sin opciones, recibirás un error. Para copiar un directorio y todo su contenido, incluidos subdirectorios, debes usar la bandera -r (recursiva).

$ cp -r Pumpkin/ /home/pete/Documents

Este comando copia el directorio Pumpkin y todo lo que contiene a tu directorio Documents.

También puedes ver -R, que tiene el mismo propósito recursivo en sistemas Linux típicos:

$ cp -R website /home/pete/backups/

El modo de archivo, -a, resulta útil para copias de seguridad. Copia de forma recursiva y conserva los enlaces y muchos atributos:

$ cp -a project/ project-backup/

Quieres una copia recursiva de project/ al estilo de una copia de seguridad que conserve enlaces y numerosos atributos. ¿Qué orden cumple el objetivo?

Control de las sobrescrituras

Por defecto, cp sobrescribirá un archivo en el destino si tiene el mismo nombre. Para evitar la pérdida accidental de datos, usa la bandera -i (interactiva), que solicita confirmación antes de sobrescribir.

$ cp -i mycoolfile /home/pete/Pictures
cp: overwrite '/home/pete/Pictures/mycoolfile'? n

Otra opción de seguridad útil es -n, que significa "no sobrescribir". Evita sobrescribir un archivo existente en el destino.

$ cp -n mycoolfile /home/pete/Pictures

La opción -f indica a GNU cp que intente eliminar un destino existente cuando no pueda abrirlo para escribir y que vuelva a intentar la copia. No sustituye la comprobación cuidadosa de los destinos. Los alias de la shell también pueden añadir opciones como -i, así que investiga cualquier prompt inesperado en vez de suponer una configuración concreta.

¿Qué orden copia report.txt en backup/, pero omite un destino existente con el mismo nombre?

Conservación o actualización de archivos

Cuando copias un archivo, sus metadatos, como la hora de modificación y la propiedad, normalmente se actualizan. Para preservar estos atributos originales, usa la opción -p.

La opción cp -p es particularmente útil para copias de seguridad o cuando migras archivos donde preservar las marcas de tiempo es importante.

$ cp -p mycoolfile /home/pete/backups/

Esto copia mycoolfile preservando su modo, propiedad donde sea posible, y marcas de tiempo.

La opción -u copia solo cuando el archivo fuente es más nuevo que el archivo destino o cuando el archivo destino no existe.

$ cp -u *.txt /home/pete/Documents/

Esto es útil cuando actualizas una carpeta sin reescribir archivos que ya están al día.

Otras opciones habituales son -f, que intenta forzar la sustitución del destino, y -v, que muestra cada archivo a medida que se copia.

Para practicar la copia de archivos y árboles de directorios, prueba estos laboratorios:

  1. Orden cp de Linux: copiar archivos - Practica el uso básico, la copia recursiva, la conservación de atributos y los comodines para copiar archivos y directorios con eficacia.
  2. Organización de archivos y directorios - Practica la gestión de archivos con cp, mv y rm para organizar un proyecto y limpiar elementos innecesarios.

Lección completada

Has completado cp (Copiar)

Ahora puedes copiar archivos y árboles de directorios mientras controlas el tratamiento de los destinos.

  • Colocar los operandos de origen antes del destino.

  • Previsualizar las coincidencias de comodines antes de una copia masiva.

  • Copiar árboles de directorios de forma recursiva o en modo de archivo.

  • Confirmar, omitir o sustituir deliberadamente destinos existentes.

  • Conservar atributos o copiar solo orígenes más recientes cuando sea necesario.

Guarda tu progreso

Crea una cuenta gratuita para guardar esta lección y continuar en cualquier dispositivo.

Crear una cuenta gratuita
Siguiente Lección
Volver a Línea de Comandos