¿Qué es y cómo usar el comando DD en Linux?

Autor: | Última modificación: 16 de marzo de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post:

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 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 esta herramienta, 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.

A l comando DD en Linux, 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

La sintaxis básica de este comando se escribe así:

sudo dd if=origen of=destino

🔴 ¿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 semana

Donde sudo se refiere al comando para tener el permiso del usuario administrador o Root. Mientras que dd 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 permite el uso de ciertas opciones que realizan determinadas funciones en el sistema, así por ejemplo:

  • 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.

[email protected]

¿Sabías que hay más de 2.500 vacantes para ingenieros DevOps sin cubrir en España? 

En KeepCoding llevamos desde 2012 guiando personas como tú a áreas de alta empleabilidad y alto potencial de crecimiento en IT con formación de máxima calidad.

 

Porque creemos que un buen trabajo es fuente de libertad, independencia, crecimiento y eso ¡cambia historias de vida!


¡Da el primer paso!