Aprende a duplicar archivos y directorios como un experto usando el comando cp de Linux.
El comando cp en Linux significa “copy”. Es una utilidad de línea de comandos usada para copiar archivos y directorios de una ubicación a otra dentro del sistema de archivos. Usando el comando cp, los usuarios pueden crear duplicados de archivos o directorios, preservando el contenido original.
source es el archivo o directorio que deseas copiar, y destination es la ubicación donde quieres colocar la copia. Se pueden agregar varias opciones para modificar el comportamiento de la copia, como preservar los atributos de los archivos o proporcionar una salida detallada. Es un comando fundamental y ampliamente utilizado en Linux para la gestión de archivos y directorios.
En esta publicación, veremos algunas formas comunes en que se usa el comando cp para copiar archivos y carpetas en Linux.
Sintaxis:
cp [opciones] origen destino
Duplicar un Archivo
cp foo.txt bar.txt
Este comando copiará el contenido del archivo foo.txt en un archivo llamado bar.txt.
Ejemplo:
Digamos que tienes un archivo llamado foo.txt con el siguiente contenido:
¡Hola, mundo!
Si ejecutas el comando cp foo.txt bar.txt
, se creará un nuevo archivo llamado bar.txt
con el mismo contenido que foo.txt
:
¡Hola, mundo!
Si bar.txt ya existe, su contenido será sobrescrito con el contenido de foo.txt. Si bar.txt no existe, se creará.
Duplicar un Directorio (y su Contenido)
cp -R foo-carpeta bar-carpeta
La opción -R
significa “recursive” (“recursivo“) y se utiliza para copiar directorios y su contenido, incluyendo subdirectorios.
Así es como funciona el comando cp -R foo-carpeta bar-carpeta
:
cp
: Invoca el comando de copia.-R
: Le indica al comando que opere de forma recursiva, copiando todos los directorios y subdirectorios.foo-carpeta
: El directorio de origen que deseas copiar.bar-carpeta
: El directorio de destino donde quieres copiar el directorio de origen.
Ejemplo:
Digamos que tienes un directorio llamado foo-carpeta
con la siguiente estructura:
foo-carpeta/
├── archivo1.txt
└── subcarpeta
└── archivo2.txt
Y quieres copiar todo este directorio en otro directorio llamado bar-carpeta.
Ejecutarías el siguiente comando:
cp -R foo-carpeta bar-carpeta
Después de ejecutar este comando, el directorio bar-carpeta
tendrá la misma estructura que foo-carpeta
:
bar-carpeta/
└── foo-carpeta
├── archivo1.txt
└── subcarpeta
└── archivo2.txt
Si bar-carpeta
no existe, se creará. Si existe, se copiará foo-carpet
a en él, preservando la estructura de foo-carpeta
.
Nota: Si quieres copiar el contenido de foo-carpeta
directamente en bar-carpeta
sin crear un foo-carpeta
dentro de bar-carpeta
, necesitas asegurarte de que bar-carpeta
existe y luego ejecutar:
cp -R foo-carpeta/* bar-carpeta/
Mostrar el Progreso de la Copia
cp -v foo.txt bar.txt
La opción -v
significa “verbose” (detallado) y, cuando se usa con el comando cp
, proporciona información detallada sobre las operaciones que se están realizando.
Ejemplo:
Supongamos que tienes un archivo llamado foo.txt
en tu directorio actual y quieres crear una copia de este archivo en el mismo directorio con un nuevo nombre, bar.txt
. Puedes usar el siguiente comando:
cp -v foo.txt bar.txt
Si la operación tiene éxito, el comando mostrará un mensaje como este:
'foo.txt' -> 'bar.txt'
Este mensaje confirma que el archivo foo.txt
se ha copiado a bar.txt
.
Confirmación para Sobrescribir un Archivo
cp -i foo.txt bar.txt
La opción -i
significa “interactive” (“interactivo”). Cuando usas esta opción, el sistema te solicitará confirmación antes de sobrescribir cualquier archivo. Esto es útil si quieres evitar sobrescribir archivos existentes por accidente.
Ejemplo:
Supongamos que tienes un archivo llamado foo.txt
en tu directorio actual y quieres crear una copia de él llamada bar.txt
en el mismo directorio. Sin embargo, no estás seguro de si ya existe un archivo llamado bar.txt
y no quieres sobrescribirlo sin ser advertido.
Usarías el comando:
cp -i foo.txt bar.txt
Si bar.txt ya existe, el sistema te mostrará un mensaje como:
cp: sobrescribir 'bar.txt'?
Entonces puedes elegir sobrescribirlo escribiendo y
(sí) o evitar la sobrescritura escribiendo n
(no).
Si bar.txt
no existe, el comando simplemente creará una copia de foo.txt
llamada bar.txt
sin ninguna advertencia.
Copiar Varios Archivos a un Directorio
cp foo.txt bar.txt baz
Este comando duplicará una copia de foo.txt
y bar.txt
en el directorio baz
. El directorio baz debe existir previamente para que el comando funcione.
Más comandos de Linux:
Operaciones de Directorios | rmdir · cd · pwd · exa · ls |
Operaciones de Archivos | cat · cp · dd · less · touch · ln · rename · more · head |
Operaciones de Sistema de Archivos | chown · mkfs · locate |
Redes | ping · curl · wget · iptables · mtr |
Búsqueda y Procesamiento de Texto | find · grep · sed · whatis · ripgrep · fd · tldr |
Información y Gestión del Sistema | env · history · top · who · htop · glances · lsof |
Gestión de Usuarios y Sesiones | screen · su · sudo · open |
¿Qué te parece?
Es bueno conocer tu opinión. Deja un comentario.