El comando DD en Linux, también conocido como Data Duplicator o duplicador de datos, es una herramienta de bajo nivel que permite realizar copias de seguridad, clonar discos y particiones, crear discos que arranquen por sí mismo, así como hacer backup del primer sector del disco y guardarlo en un fichero de copia de seguridad, entre otros.
Este comando DD en Linux también permite la transferencia de datos determinados, así como la conversión de algunas codificaciones y caracteres preestablecidos.
Su uso evita la instalación innecesaria de programas que cumplen labores que pueden ser ejecutadas con una sola línea de códigos del comando DD en Linux. Sin embargo, se debe ser cuidadoso al momento de utilizar el DD en Linux, debido a que si se ejecuta de manera incorrecta puede ocasionar graves inconvenientes en el sistema, tales como la pérdida de información y de datos valiosos, por lo que se recomienda hacer backup y test en máquinas virtuales para evitar estos problemas.
Otro problema que presenta este comando, es que realiza copia de toda la partición, incluyendo el espacio vacío, por lo que requiere un gran espacio de almacenamiento.
Lo interesante con dd en Linux, es que se le da como entrada una partición y como salida, puede ser otra partición, una unidad externa o un fichero.
Sintaxis del comando DD en Linux
Existe una sintaxis básica del command dd que se escribe así:
🔴 ¿Quieres entrar de lleno al mundo DevOps & Cloud Computing? 🔴
Descubre el DevOps & Cloud Computing Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp en DevOps & Cloud Computing por una semanasudo dd if
=origen of=destino
Donde sudo
se refiere al comando para tener el permiso del usuario administrador o Root. Mientras que dd
ubuntu es el comando Data Duplicator. La sintaxis continúa con if
que significa input file o archivo de entrada, o sea, lo que se desea copiar, seguido de of
que hace referencia al output file o archivo de salida, es decir, el archivo de destino donde se van a copiar los datos.
En lo que respecta a las opciones de origen y destino, estos pueden ser equipos como lectores de CD o DVD, disco, partición, pendrive, así como archivos de copia de seguridad, la imagen del disco, entre otras. Estas opciones no incluyen las carpetas o subcarpetas del sistema.
Comandos de DD en Linux
El Data Duplicator o ubuntu dd permite el uso de ciertas opciones que realizan determinadas funciones en el sistema, así por ejemplo los comandos DD en Linux más comunes son:
- lsblk : al escribir este comando en la terminal, se podrá identificar los equipos que se encuentren conectados.
- info dd : al igual que el comando
man dd
, permitirá consultar toda la información acerca del Data Duplicator. - -ibs : establece el número de octetos (conjunto de 8 bits) que serán leídos desde el archivo de entrada durante el proceso de volcado.
- -obs : indica cuántos octetos serán escritos a la vez al archivo de salida mediante el proceso de volcado.
- -bs : especifica el número de octetos que serán leídos y escritos al tiempo durante el proceso de volcado.
- -count = [octetos] : establece el número de octetos que serán volcados de “if” a “of“.
- -cbs : indica el número de bytes requeridos al tamaño de bloque de conversión para las conversiones block y unblock.
- -skip : este comando es usado para saltar bloques del archivo de origen antes de proceder con la acción de copiado.
- -seek : es utilizado con el objetivo de saltar bloques del archivo de destino antes de la operación de copiado.
- conv=modo[, modo,…] : permite hacer operaciones de conversión según le sea indicado. Pueden realizarse varias conversiones, que deben estar separadas por comas. Algunos ejemplos de conversiones soportadas por este comando son:
- block: convierte la línea en un bloque o registro, al completar con espacios en blanco las líneas leídas hasta el tamaño que le indique el comando -cbs.
- unblock: esta conversión se encarga de reemplazar los últimos espacios en blanco por un carácter de salto línea del registro que tiene el tamaño indicado por –cbs. Es la conversión inversa de la opción block.
- ascii: utilizado para convertir los caracteres EBCDIC al American Standard Code for Information Interchange ASCII.
- ebcdic: se usa para convertir los caracteres en formato ASCII al Extended Binary Coded Decimal Interchange Code EBCDIC.
- swab: se encarga de intercambiar cada par de bytes de la entrada, mientras que el último byte es copiado de forma directa.
- noerror: esta conversión se utiliza para no detener el proceso frente a errores de lectura en el origen.
- notrunc: utilizado para el archivo usado como destino.
- ucase: se encarga de intercambiar las letras minúsculas por mayúsculas.
- lcase: tiene la función de cambiar las letras mayúsculas a minúsculas.
¿Cuál es el siguiente paso?
Ahora que ya conoces qué es el comando DD en Linux, cuáles son sus usos, su sintaxis, comandos y conversores, no dudes en continuar tu formación a través de nuestro DevOps & Cloud Computing Full Stack Bootcamp, donde en solo 6 meses podrás aprender acerca de esta y otras herramientas de Linux, así como metodologías que te permitirán mejorar y acelerar tus procesos de desarrollo en el sector IT.