====== dd ====== Programa que permite copiar y convertir datos de archivos a bajo nivel. Completar ===== Usos ===== ==== Clonar dispositivo de almacenamiento (SSD, USB, SD...) ==== Primero debemos identificar correctamente el dispositivo que queremos clonar. Para ello, podemos usar ''fdisk'' o ''lsblk'': sudo fdisk -l sudo lsblk -f Si queremos hacer una copia de ese dispositivo a un fichero llamado ''resultado.img'': dd if=/dev/sdX of=resultado.img bs=1M status=progress conv=fsync Donde: * ''/dev/sdX'' es el dispositivo conectado por USB que queremos clonar * ''bs=1M'': indica el tamaño del bloque (//block size//) que se **lee y escribe** de cada vez. Para este ejemplo, se hará la copia en bloques de 1 MiB. Si no le indicamos una unidad de medida, se hará en bytes (por defecto, 512 bytes). Un valor recomendable hoy en día suele ser ''4M''. * ''resultado.img'' es la imagen con el clon del dispositivo USB * ''status=progress'': informa de la operación de copia * ''conv=fsync'': sincroniza todos los datos escritos antes de que ''dd'' finalice, es decir, vacía el búffer usado como caché (en memoria RAM) obligando al sistema operativo a que escriba definitivamente los datos y así confirmar que los datos están físicamente almacenados. Esto evita que se pierdan datos si no expulsamos correctamente el dispositivo o hay algún corte de energía. Es necesario desmontar todas las particiones que tenga el dispositivo si lo vamos a clonar entero. Si está identificado como ''/dev/sdb'', podríamos desmontar todo con: sudo umount /dev/sdb* ==== Eliminación de datos ==== dd if=/dev/urandom of=/ Con el comando anterior, se estarán escribiendo datos aleatorios en el archivo, disco o dispositivo que queremos "borrar". ''urandom'' es un generador de números aleatorios. ==== Creación de unidades USB ==== Útil cuando queremos grabar una imagen de instalación de un sistema operativo en un dispositivo USB: dd if=/ of=/dev/sdX Donde: * ''/dev/sdX'' es el dispositivo USB en el que se grabará la imagen ''ruta_imagen.iso''.