Cómo copiar archivos y directorios usando la terminal Linux
-
Copiar archivos usando el comando
cp -
Copiar archivos a un directorio usando el comando
cp - Copiar varios archivos
-
Copiar directorios usando el comando
cp -
Copia los archivos y directorios usando el comando
rsync
Podemos copiar archivos y directorios con los comandos cp y rsync usando el terminal de Linux. El comando cp se usa generalmente para copiar archivos mientras que el comando rsync se usa generalmente para copiar directorios.
Copiar archivos usando el comando cp
Usamos el comando cp en los sistemas operativos Linux y Unix para copiar archivos y directorios.
Para copiar el contenido del archivo abc.txt a otro archivo backup.txt, usamos el siguiente comando:
cp abc.txt backup.txt
Copia el contenido en abc.txt a backup.txt. Aquí ambos archivos deben estar en el directorio de trabajo actual.
Si el archivo de destino ya existe, el contenido del archivo de destino será sobrescrito.
Podemos añadir la bandera -i al comando cp para obtener un aviso de confirmación antes de copiar.
cp -i abc.txt backup.txt
Resultado:
cp: overwrite 'backup.txt'?
Si deseamos copiar el archivo, presionamos la tecla Y y pulsamos Enter.
Para obtener información o idea de lo que se está haciendo con el comando cp, podemos usar la bandera -v con el comando cp.
cp -v abc.txt backup.txt
Resultado:
'abc.txt' -> 'backup.txt'
Muestra que el contenido de abc.txt está siendo copiado a backup.txt.
Copiar archivos a un directorio usando el comando cp
Para copiar un archivo a un directorio, usamos el comando cp. El primer argumento del comando cp será el nombre del archivo a copiar, y el segundo argumento será la ruta absoluta o relativa del directorio en el que el archivo necesita ser copiado.
cp abc.txt ./test
Copia el archivo abc.txt del directorio de trabajo actual a la carpeta del directorio de trabajo actual test.
Para copiar el archivo en el directorio particular con un nombre diferente del archivo padre, podemos especificar el nombre del archivo como:
cp abc.txt ./test/test.txt
Se copia el fichero abc.txt en la carpeta test con el nombre test.txt.
Copiar varios archivos
Podemos copiar múltiples archivos y directorios a un directorio en particular usando el comando cp especificando todos los archivos y directorios de origen seguidos del directorio de destino al final.
cp abc.txt backup.txt test backup
Esto copia los archivos abc.txt y backup.txt y la carpeta test en la carpeta backup.
El comando cp también permite la concordancia de patrones.
cp *.txt backup
Esto copia todos los archivos con la extensión .txt en el directorio de trabajo actual a la carpeta backup.
Copiar directorios usando el comando cp
Usamos la bandera -r o -R junto con el comando cp para copiar el directorio y sus subdirectorios y archivos al directorio de destino.
cp -r pp Project
Copia todo el directorio pp y sus subdirectorios y archivos al directorio de destino Project.
En este ejemplo, habrá un directorio pp dentro del directorio Project.
Sin embargo, si sólo deseamos copiar archivos y subdirectorios, usamos la bandera -T junto con la bandera -R.
cp -RT pp Project
Copia los subdirectorios y archivos del directorio pp al directorio de destino Project.
Copia los archivos y directorios usando el comando rsync
rsync es una utilidad de línea de comandos para sincronizar archivos y directorios entre dos hosts. Si tanto la ruta de origen como la de destino representan el localhost, el comando rsync se comporta como un comando de copia.
rsync -a abc.txt backup.txt
Copia el contenido de abc.txt en backup.txt.
Aquí, -a flag cuenta para preservar los enlaces simbólicos, tiempos de modificación, grupo, propiedad, y permisos mientras se copia.
De manera similar, podemos copiar un directorio a otro directorio.
rsync -a /abc /backup-abc
Copia el contenido del directorio abc en el directorio de destino backup-abc.
Aquí, si omitimos la barra final /, entonces el directorio de origen se copiará dentro del directorio de destino.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn