Tecnoguia

Cómo usar el comando dd en Linux

El comando dd de Linux es una herramienta muy práctica. Son las siglas de Dataset Definition y lo que hace esencialmente es convertir y copiar archivos. Puedes pensar que eso ya lo hacen otros como cp, pero lo cierto es que éste es mucho más versátil y te puede servir para multitud de tareas específicas.

Originalmente se ha estado usando como herramienta de copia de seguridad, clonado de discos duros o particiones, crear discos autoarrancables, etc., y aunque ahora ya existe software más avanzado y útil para esa tarea, no ha desaparecido por sus usos más allá de eso.

Sintaxis básica

La sintaxis básica del comando dd de Linux es sencilla, aunque puede ir acompañado de multitud de opciones. Pero, básicamente:

dd if=origen of=destino

Es decir, se compone de una primera parte if donde se indica la ruta o el origen, y otra parte of donde se especifica el destino. Si quieres, puedes ver más opciones con:

man dd

Ejemplos prácticos de dd

No hay mejor forma de ver cómo usar el comando dd en Linux que poniendo algunos usos muy prácticos que le puedes dar en el día a día…

Crear una imagen ISO de un medio óptico

Seguro que muchas veces has necesitado crear una imagen ISO de un CD o DVD y no tenías el programa adecuado. Eso era porque no sabías que dd puede hacer eso por ti. Por ejemplo:

sudo dd if=/dev/cdrom of=/home/usuario/imagen.iso

También lo podría hacer de una partición o de cualquier directorio que le indiques en el origen… Y, por supuesto, puedes usar .img u otros formatos aceptados en vez de .iso.

Clonar un disco duro

Existe software gratuito y de pago para esta tarea de clonar unidades de almacenamiento, pero por qué instalar esos programas si puedes hacerlo de forma eficiente con dd:

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

En este caso, el disco /dev/sda se clonará en /dev/sdb. Si lo quieres hacer solo con particiones, podrías usar, por ejemplo:

dd if=/dev/sdb1 of=/dev/sdb2

En este caso clona la partición 1 del disco segundo en ese mismo disco segundo, pero en una partición 2.

Crear un archivo de un tamaño concreto

Puedes usar dd para crear un archivo con un tamaño específico. Para ello, puedes definir que use bloques de 1024 bytes en este caso, y que use 1024 de esos bloques, lo que daría como resultado 1MB de archivo.

dd if=/dev/zero of=/home/usuario/prueba bs=1024 count=1024

Puede que no le veas un sentido a esto, pero sí que lo tiene, por ejemplo, para crear un swapfile para tu distro de un determinado tamaño:

dd if=/dev/zero of=/swapfile bs=1024 count=1048576

En este caso de 1GB…

Borrado seguro con dd

Por último, otra de las cosas más prácticas que se pueden hacer con dd es borrar los datos de una unidad antes de entregarla a alguien o de desecharla. Así, aunque intente usar prácticas para recuperar los datos, no podría recuperar nada. Recuerda que incluso si eliminas un archivo o formateas una unidad, se podrían recuperar cosas.

Con este método de borrado se permite sobreescribir y destruir todo de forma segura:

dd if=/dev/urandom of=/dev/sdc bs=4096 status=progress

Una alternativa a sherd o a wipe, etc. En este caso, usa datos aleatorios para sobreescribir encima de los datos que había.

>
Tecnoguia
Logo