Recibe actualizaciones por: rss | twitter | email

Copia Archivos en Linux o BSD

Escrito por:
Fecha: 2015-05-30 11:03:13 00:00

Ingles

¿Cómo copiar archivos en Linux o BSD de un directorio a otro?

Si queremos copiar archivos en Linux o sistemas basados en BSD como ser FreeBSD o Mac OS X, usamos el comando cp, el mismo que nos permite copiar archivos y directorios de un lugar a otro dentro del mismo equipo, o al menos lógicamente dentro del mismo equipo.

Digo Lógicamente porque podemos copiar de us sistema de archivos local a un sistema de archivos de red, lo que haría que efectivamente estemos copiando archivos de un equipo a otro. Pero vamos a ver como funciona este comand básico.

Sintaxis.

La sintaxis del comando cp es como sigue:

cp [options] [source file] [target file]
cp [options] [source file] [target directory]

¿Cómo copiar archivos de un folder a otro?

Si queremos copiar archivos de un folder a otro usamos cp de la siguiente forma:

cp /home/user/peter/archivo.txt /home/user/backup/

Este comando creará un réplica casi exacta del archivo archivo.txt en el directorio /home/user/backup/, los atributos del archivo destino serán diferentes, pero si queremos que sean los mismos que los del origen usamos cp de este modo:

cp -p /home/user/peter/archivo.txt /home/user/backup/

Ahora los siguientes atributos serán preservado siempre que se pueda:

  1. Fecha y hora de modificación
  2. Hora de acceso
  3. Flags del archivo
  4. Permisos del archivo
  5. Usuario al que pertenece
  6. Grupo al que pertenece
  7. Listas de control de acceso
  8. Atributos extendidos

¿Cómo copiar archivos de un lugar a otro o al mismo lugar pero con diferente nombre?

Si queremos copiar archivos de un lugar a otro, o solo queremos copiarlo con distinto nombre en el mismo lugar, usamos el comando cp de la siguiente forma.

cp /home/user/peter/archivo.txt /home/user/peter/archivo-original.txt

Esto va a crear una copia con otro nombre del archivo, es bueno hacer esto con los archivos de configuración antes de realizar cambios en ellos para tener la versión original de los mismos.

Copiar todos los archivos de un directorio.

Si queremos copiar todos los archivos de un directorio a otro.

cp /ruta/* /otra-ruta/

Si queremos copiar todos los archivos de manera recursiva.

cp -R /ruta/* /otra-ruta/

Esto hará casi lo mismo que el comando de arriba, pero además de copiar todos los archivos en /ruta/ también copiará sus directorios y contenidos de estos.

Ahora bien, si lo que deseamos es copiar el mismo directorio /ruta/ a otro lugar con todo su contenido.

cp -R /ruta /otra-ruta/