¡Cómo copiar un directorio/carpeta en Linux a través de la línea de comandos!
Hay varios comandos en los sistemas operativos Linux para copiar una carpeta. El comando cp le ayuda a hacerlo. Para organizar los archivos en su servidor, necesitará copiar. Con el comando cp, puede copiar un directorio y un subdirectorio completo con su contenido y todo lo que hay debajo de él. cp y rsync son uno de los comandos más populares para copiar archivos y directorios.
En este tutorial, explicaremos cómo copiar la carpeta en el sistema operativo Linux.
Sintaxis básica del comando cp
El comando cp se utiliza para copiar archivos o directorios en Linux. Crea una copia exacta de un archivo en un disco con diferente nombre.
La sintaxis básica del comando cp se muestra a continuación:
cp Source Destination
cp Source-1 Source-2 Source-3 Destination
Debe ver todas las opciones disponibles con el comando cp ejecutando el siguiente comando:
cp --help
Debe ver la siguiente pantalla:
Copiar directorios con el comando cp
Si desea copiar el directorio, incluyendo todos sus archivos y subdirectorios, utilice la opción -R o -r con el comando cp.
Por ejemplo, copie el directorio /etc al directorio /opt con el siguiente comando:
cp -R /etc /opt/
El comando anterior creará un directorio de destino y copiará todos los archivos y subdirectorios recursivamente al directorio /opt.
Si el directorio de destino ya existe y desea copiar sólo los archivos y subdirectorios pero no los directorios de destino, ejecute el comando cp con la opción -T como se muestra a continuación:
cp -RT /etc /opt/
Si desea conservar los atributos especificados como, propiedad, marcas de tiempo, contexto y enlaces, ejecute el comando cp con la opción -a como se muestra a continuación:
cp -aR /etc /opt/
Si desea mostrar la salida durante el proceso de copia, utilice la opción -v con el comando cp:
cp -avR /etc /opt/
Deberías ver la salida como se muestra a continuación:
Si quieres copiar sólo el contenido del directorio /etc a /opt, tendrás que especificar el comodín estrella como se muestra a continuación:
cp -avR /etc/* /opt/
Si desea copiar varios directorios como, /etc y /var al directorio /opt ejecute el siguiente comando:
cp -avR /etc /var /opt/
Nota : Para copiar directorios, debe tener permisos de lectura en el directorio de origen y permisos de escritura en el directorio de destino.
Copiar directorios con el comando rsync
rsync es una herramienta avanzada de copia de archivos que le permite copiar el directorio a través de la ubicación local a la remota.
La sintaxis básica del comando rsync se muestra a continuación:
rsync SOURCE DESTINATION
Puede ver todas las opciones disponibles con el comando rsync como se muestra a continuación:
rsync --help
Debería ver la siguiente pantalla:
Para copiar el directorio /etc a /opt, ejecute el siguiente comando:
rsync -a /etc /opt
En el comando anterior la opción -a copiará un directorio con todos sus permisos y otra información incluyendo la copia recursiva. Si el directorio de destino existe rsync lo sobrescribirá.
Si desea copiar sólo el contenido del directorio /etc entonces ponga una barra diagonal / al final de /etc:
rsync -a /etc/ /opt
Puede utilizar rsync con la opción -v para mostrar la salida verbose como se muestra a continuación:
rsync -av /etc /opt
Debería ver la siguiente pantalla:
Si desea mostrar el progreso durante el proceso de copia, ejecute el rsync con la opción -P como se muestra a continuación:
rsync -avP /etc /opt
También puede utilizar la opción -z con el comando rsync para comprimir los datos del archivo durante la transferencia:
rsync -avz /etc /opt
Si desea excluir un directorio específico del origen, ejecute el siguiente comando:
rsync -a --exclude 'directoryname' /opt/
Para excluir varios directorios, ejecute el siguiente comando:
rsync -a --exclude {'directory1', 'directory2', 'directory3'} /opt/
Si quieres copiar varios directorios a /opt, ejecuta el siguiente comando:
rsync -a /etc /usr /opt/
Conclusión
En el tutorial anterior, hemos aprendido a copiar un directorio con el comando cp y rsync. Para más información, puedes visitar la documentación oficial de Rsync en Rsync Doc.