Comando dd
Es una herramienta de conversión y copiado de datos, su nomenclatura viene de ‘duplicador de datos’. Los usos princiales son los siguientes;
- Backup o restauración de discos o particiones.
- Creación de sistema de ficheros o backups de imágenes como son CD, DVD, ISO… etc.
- Copiado de la regiones de los dispositivos como son el sector MBR.
- Conversión de formatos entre ASCII y EBCDIC.
- Conversión entre minúsculas y mayúsculas en un archive de texto.
El formato de uso es el siguiente:
dd if=[origen] of=[destino] [options]
Tanto la entrada de datos como la salida pueden ser discos, particiones, archivos, dispositivos… etc, prácticamente todo lo que se pueda leer o escribir. Es una herramienta que permite el borrado completo de los datos en el destino por lo que es importante utilizarla con cuidado para evitar perdida de datos.
En las opciones se suele especificar el tamaño de bloque (bs) y el número de bloques a copiar (count). En la creación de ficheros es común utilizar los dispositivos de origen /dev/zero o /dev/urandom.
Ejemplos básicos de uso:
- Formateo a bajo nivel de un disco:
# dd if=/dev/zero of=/dev/sdb
- Duplicación de disco a disco:
# dd if=/dev/sda of=/dev/sdb bs=4096 conv=noerror,sync
- Crear una imagen de disco:
# dd if=/dev/cdrom of=/home/imagendeCD.iso
- Crea un fichero con 100Mb
# dd if=/dev/zero of=/tmp/fichero bs=1 count=0 seek=100m
- Backup de una partición a un archive:
# dd if=/dev/sda1 of=/tmp/sda1.img
- Restaurar el backup de una partición:
# dd if=/tmp/sdadisk.img of=/dev/sda
- Convierte datos de EBCDIC a ASCII:
# dd if=textfile.ebcdic of=textfile.ascii conv=ascii