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 destinoDuplicar un Archivo
cp foo.txt bar.txtEste 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-carpetaLa 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.txtY quieres copiar todo este directorio en otro directorio llamado bar-carpeta.
Ejecutarías el siguiente comando:
cp -R foo-carpeta bar-carpetaDespués de ejecutar este comando, el directorio bar-carpeta tendrá la misma estructura que foo-carpeta:
bar-carpeta/
└── foo-carpeta
├── archivo1.txt
└── subcarpeta
└── archivo2.txtSi bar-carpeta no existe, se creará. Si existe, se copiará foo-carpeta 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.txtLa 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.txtSi 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.txtLa 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.txtSi 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 bazEste 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.