Archivo de la etiqueta: dd

Copiar archivos con dd

Copiar archivos con dd

El comando dd es una utilidad para copiar los archivos o las particiones enteras a nivel de bit.

Este comando tiene varias características útiles:

  • Puede utilizarse para clonar o eliminar (limpiar) los discos completos o las particiones.
  • Se puede utilizar para copiar los datos sin procesar (o «raw data» en inglés) a los dispositivos extraíbles, tales como las unidades USB y CDROM.
  • Puede hacer copia de seguridad y restaurar el MBR.
  • Se puede utilizar para crear un archivo de un tamaño específico que se llena con ceros binarios y se puede utilizar después como un archivo de intercambio (memoria virtual).

En el siguiente ejemplo, el comando dd crea un un archivo llamado /tmp/swapex con 50 bloques de ceros que tienen un megabyte de tamaño:

En el siguiente ejemplo, el comando dd crea un un archivo llamado /tmp/swapex con 50 bloques de ceros que tienen un megabyte de tamaño:

El comando dd utiliza argumentos especiales para especificar cómo va a funcionar. A continuación se ilustran algunos de los argumentos más comúnmente utilizados:

  • if : Archivo de entrada: El archivo de entrada del que se hace la lectura.  if=/dev/zero. En el ejemplo se lee del archivo /dev/zero, un archivo especial que contiene un número ilimitado de ceros.
  • of : Archivo de salida: El archivo de salida para ser escrito. of=/tmp/swapex
  • bs : Tamaño del bloque: El tamaño de bloque utilizado. De forma predeterminada, el valor se da en bytes. Utiliza los siguientes sufijos para especificar otras unidades: K, M, G y T para kilobytes, megabytes, gigabytes y terabytes, respectivamente. bs=1M
  • count : Cantidad: El número de bloques a leer desde el archivo de entrada. count=50

Cuando se copia el dispositivo entero no hay que especificar tamaño de bloque o cantidad. Por ejemplo, para clonar un disco duro (/dev/sda) a otro (/dev/sdb) ejecuta el siguiente comando:
dd if=/dev/sda of=/dev/sdb