dd es uno de los comandos más importantes de Linux, utilizado principalmente para realizar copias de seguridad de discos duros y particiones. Cuando se utiliza correctamente, dd puede ser una herramienta poderosa para escribir datos de una partición a otra y realizar diferentes tareas con archivos. Aquí le mostramos cómo hacer un buen uso del comando dd.
La historia de dd
El comando fue desarrollado originalmente en AT&T Bell Laboratories en la década de 1970 por un científico informático llamado Ken Thompson. Fue desarrollado para sistemas basados en Unix y se le dio un nombre que se eligió como referencia a una declaración que se encuentra en el lenguaje de control de trabajos de IBM, que se llamó "DD". Se puede observar que la sintaxis del comando se parece mucho a una declaración en el lenguaje de control de trabajos.
El comando se diseñó originalmente para ser una utilidad para convertir ASCII a EBCDIC y viceversa. Primero se integró con una versión de Unix en 1974, con el lanzamiento de la quinta edición del sistema operativo.
dd ha sido llamado "destructor de discos" como una broma en la comunidad de Unix debido a su capacidad para destruir datos en discos duros cuando se usa incorrectamente.
Operandos básicos
Ahora que ya sabes un poco sobre el trasfondo del comando y sus habilidades destructivas cuando se usa incorrectamente, es momento de aprender a aprovechar todo lo que ofrece a los usuarios de las diferentes distribuciones de Linux .
En primer lugar, consulte el manual utilizando el--helpbandera:
dd --ayuda
Hay dos operandos para el comando que se utilizan más comúnmente. Ellos sonifyof, que significan "archivo de entrada" y "archivo de salida" respectivamente. losifoperando se utiliza para representar la ubicación de origen, mientras que elofEl operando se utiliza para representar la ubicación en la que desea guardar los datos de la ubicación de entrada.
dd if = < archivo de entrada > of = < archivo de salida >
Las ubicaciones de origen y salida más comunes incluyen discos duros, particiones e imágenes de disco.
Antes de usar el comando, puede ser útil usar la fdiskutilidad para ver las particiones en su sistema. Esto se puede hacer fácilmente usando el comando-lbandera:
sudo fdisk -l
En este caso,ifse utiliza para representar la unidad "/dev/sda", yofrepresenta la unidad "/dev/sdb", donde se guardarán los datos de "/dev/sda":
dd si = / dev / sda de = / dev / sdb
Creación de una imagen de disco
Uno de los mejores casos de uso para el comando es crear imágenes de disco en el formato de archivo ".img". Esto es extremadamente útil para hacer una copia de seguridad de los datos en su sistema basado en Linux y es probablemente la forma más rápida y sencilla de hacer una copia de seguridad de un disco duro completo.
La lógica aquí es principalmente la misma en este caso, con elifoperando que representa la unidad "/dev/sda" y laofoperando que representa un archivo “.img”, donde se guardarán los datos del disco duro en:
dd if = / dev / sda de = ejemplo.img
dd if =ejemplo.img de = / dev / sdb
dd si = / dev / sda | gzip -c > imagen.gz
dd if = / dev / sda de = ejemplo.img bs = 2048
El tamaño del bloque también se puede especificar en kilobytes:
dd if = / dev / sda de =ejemplo.img bs =2048K
Limpiar un disco duro
dd también se puede usar para limpiar su disco duro. Esto se logra leyendo ceros o caracteres aleatorios de “/dev/zero” o “/dev/urandom” y guardándolos en el disco duro/partición, que sobrescribe los datos en él. Esto es extremadamente útil cuando desea asegurarse de que sus datos no se puedan recuperar fácilmente después de haber vendido o desechado su disco duro.
Sobrescribir un disco duro usando ceros:
dd si = / dev / cero de = / dev / sdb
dd if = / dev / urandom of = / dev / sdb
Creación de una unidad USB de arranque
La creación de unidades flash USB de arranque utilizando archivos ".iso" con el comando es simple:
dd if =os.iso of = < Ubicación de la unidad USB >
Terminando
Es seguro decir que el comando dd puede considerarse una "navaja suiza" debido a su utilidad en muchas áreas y todo lo relacionado con discos duros, particiones y archivos de imagen de disco. Mientras no destruya su disco duro, es una herramienta efectiva y fácil de usar para cualquier cosa, desde limpiar un disco duro o una unidad USB hasta crear copias de seguridad comprimidas.
Hola
ResponderEliminarGracias por la explicación, me ha resultado muy útil, pero tengo una duda:
En algunos ejemplos de operaciones que has puesto, aparen los operandos "si" y "de":
"dd si = / dev / cero de = / dev / sdb"
¿Es algún error y se ha traducido "if" por "si" y "of" por "de" o hay otra versión de dd ?
Lo digo porque no lo veo en la lista de comandos y a mi no me funcionan.
Gracias