Copiar archivos

Section header image

Copiar archivos 11.1

El comando dd se utiliza para copiar archivos o particiones enteras al nivel de bits.

dd [OPCIONES] OPERANDO

Este comando tiene varias características útiles, entre las que se incluyen:

  • Se puede usar para clonar o eliminar (wipe) discos o particiones enteras.
  • Se puede usar para copiar datos no procesados (raw) a dispositivos extraíbles como dispositivos USB o CD ROMS.
  • Se puede usar para realizar una copia de reserva (backup) y restituir el MBR (Master Boot Record).
  • Se puede usar para crear un archivo de un tamaño específico lleno de ceros binarios, el cual puede utilizarse como archivo de intercambio (swap file) (memoria virtual).

Examinemos el siguiente ejemplo. El comando dd creará un archivo denominado /tmp/swapex con 50 bloques de ceros de un megabyte de tamaño:

Siga leyendo

Utilice el siguiente comando cd para volver al directorio principal:

sysadmin@localhost:~/Documents$ cd ~
sysadmin@localhost:~$ dd if=/dev/zero of=/tmp/swapex bs=1M count=50 
50+0 records in
50+0 records out
52428800 bytes (52 MB) copied, 0.825745 s, 635 MB/s

El comando dd utiliza argumentos especiales para especificar cómo funcionará. A continuación se muestran algunos de los argumentos más utilizados:

Argumento Descripción
if

Archivo de entrada (Input File): El archivo de entrada que se va a leer.

dd if=/dev/zero of=/tmp/swapex bs=1M count=50

El ejemplo lee el archivo /dev/zero, un archivo especial que contiene un número ilimitado de ceros.

of

Archivo de salida (Output File): El archivo de salida que se va a escribir.

dd if=/dev/zero of=/tmp/swapex bs=1M count=50
bs

Tamaño de bloque (Block Size): El tamaño de bloque que se va a utilizar. De forma predeterminada, el valor se presenta en bytes. Utilice los sufijos siguientes para especificar otras unidades: KMG y T para kilobytes, megabytes, gigabytes y terabytes respectivamente.

dd if=/dev/zero of=/tmp/swapex bs=1M count=50

En el ejemplo se utiliza un tamaño de bloque de un megabyte.

count

Recuento: El número de bloques que se van a leer desde el archivo de entrada.

dd if=/dev/zero of=/tmp/swapex bs=1M count=50

En este ejemplo se leen 50 bloques.

A tener en cuenta

No es necesario especificar el tamaño de bloque ni el recuento al copiar dispositivos enteros. Por ejemplo, para clonar de un disco duro (/dev/sda) a otro (/dev/sdb) ejecute el siguiente comando:

dd if=/dev/sda of=/dev/sdb