Inicio Soporte Técnico ¿Cómo copiar archivos y directorios en Linux?

¿Cómo copiar archivos y directorios en Linux?

1012
0

Introducción

Esta guía te mostrará cómo copiar archivos y directorios en Linux ejecutando comandos desde la línea de comandos. Además, los comandos que se enumeran a continuación detallan cómo crear copias de seguridad en todo el sistema o filtrar y copiar solo archivos específicos.

Nota: Estos comandos de Linux solo se pueden ejecutar desde una ventana de terminal. Si tu versión de Linux se inicia en una interfaz gráfica de escritorio, abre una ventana de terminal presionando CTRL-ALT-F2 o CTRL-ALT-T.

Usar el comando cp para copiar archivos y directorios en Linux

El comando cp es el método principal para copiar archivos y directorios en Linux. Prácticamente todas las distribuciones de Linux pueden usar cp. El formato básico del comando es:

cp [opción_adicional] archivo_origen archivo_destino

Por ejemplo:

cp mi_archivo.txt mi_archivo2.txt

Este comando de Linux crea una copia del archivo mi_archivo.txt y renombra el nuevo archivo como mi_archivo2.txt.

De forma predeterminada, el comando cp se ejecuta en el mismo directorio en el que estás trabajando. Sin embargo, el mismo archivo no puede existir dos veces en el mismo directorio. Deberás cambiar el nombre del archivo de destino para copiarlo en la misma ubicación. Algunos usuarios agregarán _old, algunos agregarán un número e incluso algunos cambiarán la extensión de tres letras (por ejemplo, .bak en lugar de .txt).

Puede que no recibas una advertencia antes de que Linux sobrescriba tu archivo, así que ten cuidado o consulta a continuación la opción -i.

Opciones adicionales

Se pueden utilizar opciones adicionales en combinación con el comando cp:

OpciónDescripción
-vmuestra el progreso de los archivos copiados
-pconserva los mismos atributos, como la fecha de creación y los permisos del archivo
-fobliga a la copia eliminando primero un archivo existente
-iinteractivo, solicita confirmación, muy recomendado
-Rrecursivo, copia todos los archivos y subdirectorios en un directorio
-uactualización, copia solo si el origen es más reciente que el destino
Te recomendamos  ¿Cómo Instalar un Archivo RPM en Linux (CentOS, RHEL y Fedora)?

Nota: La opción -p (preserve) obliga al sistema a preservar los siguientes atributos del archivo de origen: hora de modificación, hora de acceso, identificador de usuario (UID), identificador de grupo (GID), banderas de archivo, modo de archivo, listas de control de acceso (ACL) y atributos extendidos (EAs).

¿Cómo copiar un archivo a otro directorio en Linux?

Para copiar un archivo desde el directorio en el que estás trabajando a una ubicación diferente, usa el siguiente comando:

cp mi_archivo.txt /nuevo_directorio

No es necesario cambiar el nombre del archivo a menos que ya exista uno con el mismo nombre en el directorio de destino.

Para especificar una ruta para el archivo de origen:

cp /etc/mi_archivo.txt /nuevo_directorio

Esto te permite copiar sin tener que cambiar de directorio. El comando cp creará el directorio /nuevo_directorio si no existe.

Para cambiar el nombre y copiar un archivo a una ruta diferente:

cp mi_archivo.txt /nuevo_directorio/mi_archivo2.txt

copiar archivos y directorios en linux 1
copiar archivos y directorios en linux 1

Esta opción es útil para crear copias de seguridad de archivos de configuración o para copiar datos en un dispositivo de almacenamiento.

Copiar varios archivos de un directorio a otro en Linux

Puede que necesites copiar más de un archivo a la vez.

Enumera cada archivo que se copiará antes del directorio de destino:

cp mi_archivo.txt mi_archivo2.txt mi_archivo3.txt /nuevo_directorio

Este ejemplo crea una copia de los tres archivos en la carpeta /nuevo_directorio.

Usa un comodín para especificar todos los archivos que comparten una cadena de caracteres:

cp /imagenes/*.jpg /nuevo_directorio

Esto buscará todos los archivos con la extensión .jpg en el directorio /imagenes y los copiará en la carpeta /nuevo_directorio.

Para copiar una carpeta completa y sus subdirectorios y archivos, usa la opción -R:

cp -R /documentos /nuevo_directorio

copiar archivos y directorios en linux 2
copiar archivos y directorios en linux 2

-R significa recursivo, lo que significa “todo en esa ubicación”. Esto copiará todos los archivos, así como todos los directorios, en la carpeta /nuevo_directorio.

Copiar usando el comando rsync

El comando rsync en Linux se utiliza para sincronizar o transferir datos entre dos ubicaciones. El uso es similar a cp, pero hay algunas diferencias clave que debes tener en cuenta.

Te recomendamos  Entrar al registro de windows que se encuentra en un disco duro externo.

Para copiar un solo archivo, ingresa lo siguiente en una terminal:

rsync -a mi_archivo.txt /nuevo_directorio/mi_archivo_backup.txt

  • La opción -a significa “todo” y se incluye en los comandos rsync, lo que preserva subdirectorios, enlaces simbólicos y otros metadatos.
  • Reemplaza el archivo mi_archivo.txt en el directorio de trabajo.
  • Reemplaza /nuevo_directorio/ con el destino.
  • El uso de mi_archivo_backup.txt como destino indica que el archivo se renombrará durante la copia.

Para copiar un directorio con rsync, ingresa lo siguiente:

rsync -a /etc/docker/ /home/respaldo/docker/

Esto copia el contenido del directorio /etc/docker/ a /home/respaldo/docker/. Asegúrate de mantener las barras. Omitir la barra diagonal en el directorio de origen copiará el contenido en un subdirectorio.

Para omitir archivos que se copiarán, consulta nuestra guía sobre cómo excluir archivos y directorios en la transferencia de datos usando el comando rsync.

Otras opciones

El comando ls es un compañero útil del comando cp en Linux.

Para listar el contenido de un directorio, ingresa el comando:

ls /directorio

El ejemplo anterior muestra todos los archivos en /directorio. Usa este comando después de copiar para verificar que los archivos se hayan copiado correctamente.

Para cambiar de directorio, usa cd y el nombre del directorio. Por ejemplo:

cd /otro_directorio

El indicador de comando cambiará para mostrar que has cambiado de directorio.

Conclusión

Ahora entiendes cómo copiar archivos en Linux. El comando cp es una herramienta versátil y poderosa para administrar y hacer copias de seguridad de archivos.