el comando dd significa «data duplicator» y se usa para copiar y convertir datos. Es muy potente utilidad de bajo nivel de Linux que puede hacer mucho más como;
• copia de seguridad y restaurar todo el disco duro o partición.
• copia de seguridad de MBR (Master Boot Record)
* puede copiar y convertir formato de cinta magnética, convertir entre formatos ASCII y EBCDIC, intercambiar bytes y también puede convertir minúsculas a mayúsculas.
* También puede ser utilizado por linux kernel make files para crear imágenes de arranque.,
solo el superusuario puede ejecutar este comando porque puede enfrentar una gran pérdida de datos debido a su uso inadecuado, por lo que debe tener mucho cuidado al trabajar con esta utilidad. En ese momento la pérdida de datos puede convertir la utilidad dd como un «destructor de datos» para usted. Es por eso que se recomienda que los principiantes no deben usar este comando en una máquina de producción hasta que se familiaricen con esto. Debe asegurarse de que la ubicación de destino debe tener suficiente espacio mientras ejecuta este comando.
sintaxis del comando dd
antes de comenzar con algún trabajo práctico necesitamos hablar sobre su sintaxis.,
dd if=<source file name> of=<target file name>
normalmente no explicamos sobre la sintaxis, pero esta sintaxis de comandos requiere alguna explicación. La sintaxis es totalmente diferente en comparación con muchos comandos de Linux que conocemos. En esta sintaxis, dd es seguido por dos cosas
if = < source> –esta es una fuente desde la que desea copiar los datos y ‘if’ significa input-file.
of=<destination> –esta es una fuente desde la que desea escribir/pegar datos y ‘of’ significa archivo de salida.,
– estas opciones incluyen, qué tan rápido deben escribirse los datos, qué formato, etc.
Input(nombre de archivo de origen) y Output(nombre de archivo de destino) en sintaxis son discos, particiones, archivos y dispositivos desde los que desea escribir y leer datos. Hay muchas opciones que discutiremos en ejemplos.
aprenda el comando Linux DD con ejemplos
Ejemplo 1: clonar un disco duro a otro disco duro. Esto es útil cuando estamos construyendo muchas máquinas con la misma configuración. No necesitamos instalar el sistema operativo en todas las máquinas., Simplemente instale el sistema operativo y el software requerido en la máquina y luego clone con el siguiente ejemplo.
dd if=/dev/sda of=/dev/sdb
Ejemplo 2: podemos tomar copia de seguridad de una partición/disco duro completo para la restauración futura.
copia de seguridad de una partición en un archivo(en mi directorio personal como hdadisk.img)
dd if =/dev/sda2 of=~/hdadisk.img
Restaurar este archivo de imagen en otra máquina
dd if=hdadisk.img of=/dev/sdb3
Ejemplo 3: ¿se siente usted hdadisk.img es un poco grande? Utilice gzip o bzip2 para comprimir al crear una imagen.
dd if =/dev/sda2 | bzip2 hdadisk.img.bz2
Ejemplo 4: ¿sabe que el comando dd también se puede usar como copiador de archivos?, Sí, si no tiene el comando cp, use el comando dd para copiar un archivo de una ubicación a otra.
dd if=/home/imran/abc.txt of=/mnt/abc.txt
Ok, eso está bien para el uso básico del comando dd. Pero la belleza del comando dd radica en usos avanzados como la limpieza de discos, limpieza completa de discos, copias de seguridad de MBR, etc.
uso avanzado del comando Linux DD
desde aquí debe tener cuidado al usar este comando y primero debe probar estos comandos en una máquina de prueba antes de familiarizarse.
Ejemplo 5: Limpie / elimine el contenido de un disco para que esté vacío para que alguien lo use.,
dd if=/dev/zero of=/dev/sdb
esto borrará su segundo disco duro y cada bit se escribirá con cero. usted puede estar interesado en aprender/dev /null y/dev / zero archivos que hacen cosas similares, pero hay un poco de diferencia.
¿cómo es la escritura del fichero en el disco duro con los datos?
normalmente lo que escribes en un disco a nivel de bloque escribirá una combinación de ceros y unos. Espero que sepas esto y lo que estamos haciendo aquí es que solo estamos escribiendo ceros que borrarán todos los 1 del disco duro. Esto eventualmente hace que su disco esté vacío.,
Ejemplo 6: qué ocultar su culo mediante la eliminación de sus datos personales. Mucha gente piensa que si hacemos rm-rf / < sus datos> harán lo necesario. Pero podemos recuperar esas eliminaciones utilizando herramientas de recuperación de disco como Photorec o algunas herramientas forenses. Pero si desea que algunos no recuperen sus datos, debe escribir datos aleatorios en su partición donde residen los datos.
dd if=/dev/random of=/dev/sdb
Haga el comando anterior varias veces para que sea realmente difícil recuperar datos. Si estoy en tu lugar, escribiré debajo del script de shell para hacer eso.,
for i in {1..10};do dd if=/dev/random of=/dev/sdb;done
esto ejecutará el comando dd 10 veces seguidas una tras otra.
Ejemplo 7: podemos crear un sistema de archivos virtual con el comando dd que se puede usar como swap. Para saber más sobre usted debe saber sobre cómo crear espacio de intercambio virtual en Linux.
dd if = /dev / zero of=/swapfile bs=1024 count = 200000
donde bs significa block size y count no es más que el número de bloques utilizados para crear este archivo swap.
asegúrese de usar tamaños de bloque en múltiplos de 1024 bytes que es igual a 1KB., Si no especifica el tamaño de bloque, DD utiliza un tamaño de bloque predeterminado de 512 bytes. A continuación, las convenciones funcionarán para los tamaños de bloque.
N y BYTES pueden ir seguidos de los siguientes sufijos multiplicativos: c =1, w =2, b =512,
kB =1000, K =1024,
Mb =1000*1000, MB=1024*1024,
Gb =1000*1000*1000, GB =1024*1024*1024,
and so on for T, P, E, Z, Y.
Ejemplo 8: incluso podemos crear archivos ISO desde un CD-ROM o DVD-ROM usando el comando dd.,
dd if=/dev/dvd of=/opt/my_linux_image.iso
o con más
dd if=/dev/sr0 of=/home/$user/mycd_image.iso bs=2048 conv=sync
algunos otros ejemplos:
dd if=/dev/sda1 of=/dev/sdb1 bs=4096 conv=noerror,sync
esto hará que la clonación de una partición sda1 a otra partición sdb1, también se utiliza la opción de sincronización para sincronizar la partición
dd if=/dev/sdx of=/dev/sdy bs=64k conv=noerror,sync
esto clonará toda la unidad, incluyendo MBR, todas las particiones y datos donde noerrr instruye a dd a ignorar todos los errores de lectura mientras continúa las operaciones. Las compensaciones de datos snyc permanecen sincronizadas y BS = establece el tamaño del bloque que se establece en 64k.,
Ejemplo 9: incluso podemos comprobar la cuota de disco usando el comando dd creando archivos enormes que consumen el disco duro en poco tiempo.
dd if=/dev/zero of=/usr/disk-img/disk-quota.ext3 count=40960
esto creará un archivo de 20MB (imagen de disco) en dicha ruta.
Ejemplo 10: incluso podemos crear USB de arranque usando el comando dd.
dd if = / home / user user / bootimage.img of = /dev/sdc
esto creará una unidad USB con capacidad de arranque donde /dev / sdc es una unidad USB.ejemplo 11: recuperación de datos usando el comando ddrescue.
la herramienta ddrescue se utiliza para clonar y recuperar datos. esto no se instala de forma predeterminada en muchas máquinas Linux., A continuación se muestran los comandos a instalar para las distribuciones respectivas.
instalación de ddrescue en máquinas basadas en Debian
apt-get install gddrescue
instalación de ddrescue en máquinas basadas en Redhat
yum install gddrescue
puede copiar datos de un dispositivo de archivo/bloque(disco duro o CD-ROM) a otro mientras intenta rescatar los datos, es decir, error de lectura para maximizar data. Para recuperar datos el comando ddrescue debe ejecutarse en dos pasos seguidos de ejecutar el comando fsck.
Paso 1: copia todos y cada bloque sin errores de lectura y registro de estos errores en el archivo de registro.,
Paso 2: copiará solo el bloque malo e intentará leer 3 veces a la fuente antes de darse por vencido. Entonces puede ejecutar el comando para verificar si el sistema de archivos está dañado.
Paso 3: ejecutar el comando fsck.
ddrescue –f –n /dev/sdX /dev/sdY rescue.log ddrescue –d –f –r3 /dev/sdX /dev/sdY rescue.log fsck –f /dev/sdY
Ejemplo 12: informática forense usando dcfldd
dcfldd es la versión mejorada de dd que tiene características útiles utilizadas para informática forense y seguridad también. Toma los parámetros de dd. Puede usar el comando dcfldd cuando necesite saber que una copia y las copias posteriores son idénticas al original., dcfldd tiene algunas características adicionales como;
- Hashing on-the-fly
- Status output
- Image / wipe verify
- Split output
- hashing
de nuevo tenemos que instalar este comando también, si no está presente.
instalación de dcfldd en máquinas basadas en Debian
apt-get install dcfldd
instalación de dcfldd en máquinas basadas en Redhat
yum install dcfldd
Ejemplo
el comando anterior leerá un Gb de la unidad de origen y escribirá en un archivo llamado image.dd.aa., también calculará el hash MD5 y el sha512 de cada Gigbyte leído.
- Bio
- últimas publicaciones
Latest posts by Imran Ashraf (see all)
- 12 Linux dd command examples – March 8, 2016