Inicio > Gestión de paquetes y sistema > dd

dd: Conversión y copia de archivos

El comando dd es una utilidad potente utilizada para convertir y copiar archivos. Se utiliza principalmente para la manipulación de datos de bajo nivel, como la creación de imágenes de disco, la copia de seguridad y restauración de particiones, la creación de unidades USB de arranque y la eliminación del contenido de archivos. Se debe tener mucho cuidado ya que un uso incorrecto puede provocar la pérdida de datos.

Descripción general

dd se conoce comúnmente como la abreviatura de 'disk dump' o 'data duplicator' y funciona leyendo y escribiendo datos en unidades de bloque. Lee datos del archivo de entrada (if) y los copia al archivo de salida (of), y durante este proceso se pueden aplicar varias opciones de conversión (conv) y tamaño de bloque (bs).

Funciones principales

  • Creación y restauración de imágenes de disco/partición
  • Creación de medios de arranque
  • Redimensionamiento de archivos y inicialización de contenido
  • Conversión de datos (por ejemplo, conversión de mayúsculas/minúsculas)

Opciones principales

El comando dd permite una manipulación de datos sofisticada a través de varias opciones. La especificación de los archivos de entrada (if) y salida (of) es particularmente importante, y el tamaño del bloque (bs) y el número de bloques a copiar (count) controlan el alcance de la operación.

Especificación de entrada/salida

Tamaño y número de bloques

Conversión y estado

Comando generado:

Combina los comandos.

Descripción:

`dd` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Ejemplos de uso

El comando dd es potente, pero su uso incorrecto puede provocar una pérdida de datos grave. Los siguientes ejemplos muestran usos comunes, pero al aplicarlos a discos del sistema real, asegúrese de realizar una copia de seguridad y proceder con precaución.

Crear un archivo dummy de 100 MB

dd if=/dev/zero of=dummy.img bs=1M count=100

Lee 100 bloques de 1 MB de /dev/zero y crea el archivo 'dummy.img'.

Copia de seguridad de una partición de disco (requiere precaución)

dd if=/dev/sda1 of=sda1_backup.img bs=4M status=progress

Copia el contenido completo de la partición /dev/sda1 al archivo 'sda1_backup.img'. 'status=progress' muestra el progreso. **Verifique la ruta del dispositivo de destino con mucho cuidado.**

Sobrescribir el contenido de un archivo con ceros (borrado seguro)

dd if=/dev/zero of=myfile.txt bs=1M count=1 conv=notrunc

Sobrescribe el contenido del archivo existente 'myfile.txt' con ceros. 'conv=notrunc' mantiene el tamaño del archivo.

Crear una unidad USB de arranque a partir de una imagen ISO (con extrema precaución)

dd if=ubuntu.iso of=/dev/sdb bs=4M status=progress conv=fsync

Copia el archivo 'ubuntu.iso' a la unidad USB '/dev/sdb' para hacerla arrancable. **Asegúrese de verificar la ruta del dispositivo especificada en 'of'. Una especificación incorrecta puede dañar el disco del sistema.** 'conv=fsync' asegura que todos los datos se escriban completamente en el disco.

Copiar una parte específica de un archivo

dd if=input.txt of=output.txt bs=1 count=100 skip=50 seek=0

Lee 100 bytes a partir del byte 51 del archivo 'input.txt' y los copia al principio del archivo 'output.txt'. (Dado que bs=1, skip/seek son en bytes)

Consejos y precauciones

El comando dd es muy potente, por lo que se requiere especial precaución al usarlo. En particular, especificar un dispositivo o archivo incorrecto en las opciones `if` y `of` puede dañar los datos del sistema.

Precauciones clave

  • **Verificar el destino**: Verifique varias veces las rutas especificadas en `if` y `of`. Los archivos de dispositivo como `/dev/sda` pueden ser particularmente críticos.
  • **Progreso**: Utilice la opción `status=progress` para verificar el progreso de la operación en tiempo real. Es útil para operaciones de gran tamaño.
  • **Tamaño del bloque**: La opción `bs` afecta significativamente al rendimiento. Generalmente, 1M, 4M, 8M son eficientes.
  • **Riesgo de pérdida de datos**: `dd` puede sobrescribir datos sin previo aviso, por lo que al usarlo en discos o particiones con datos importantes, asegúrese de realizar una copia de seguridad primero.

Uso con el comando pv

El comando `dd` en sí mismo tiene una visualización de progreso limitada. Al usarlo junto con el comando `pv` (Pipe Viewer), puede verificar un progreso más detallado, velocidad de transferencia y tiempo estimado de finalización. Si `pv` no está instalado, primero debe instalarlo. (por ejemplo, `sudo apt install pv` o `sudo yum install pv`) **Ejemplo de uso:** `dd if=/dev/sda | pv -pteb | dd of=/dev/sdb`


Comandos de la misma categoría