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