Comando ‘dd’ en Linux

dd es una utilidad de línea de comandos para sistemas operativos Unix y similares cuyo propósito principal es convertir y copiar archivos.

  • En Unix, los controladores de dispositivos para hardware (como unidades de disco duro) y archivos de dispositivos especiales (como /dev/zero y /dev/random) aparecen en el sistema de archivos como archivos normales.
  • dd también puede leer y/o escribir desde/hacia estos archivos, siempre que esa función esté implementada en sus respectivos controladores
  • Como resultado, dd se puede usar para tareas como hacer una copia de seguridad del sector de arranque de un disco duro y obtener una cantidad fija de datos aleatorios.
  • El programa dd también puede realizar conversiones en los datos a medida que se copian, incluido el intercambio de orden de bytes y la conversión hacia y desde las codificaciones de texto ASCII y EBCDIC.

Uso: la sintaxis de la línea de comandos de dd difiere de muchos otros programas de Unix, ya que utiliza la sintaxis opción=valor para sus opciones de línea de comandos, en lugar de los formatos más estándar -valor de opción o –opción=valor . De forma predeterminada, dd lee desde stdin y escribe en stdout, pero esto se puede cambiar usando las opciones if (archivo de entrada) y of (archivo de salida).

Algunos ejemplos prácticos en el comando dd:

  1. Para hacer una copia de seguridad de todo el disco duro: Para hacer una copia de seguridad de una copia completa de un disco duro en otro disco duro conectado al mismo sistema, ejecute el comando dd como se muestra. En este ejemplo del comando dd, el nombre del dispositivo UNIX del disco duro de origen es /dev/hda, y el nombre del dispositivo del disco duro de destino es /dev/hdb.
    # dd if=/dev/sda of=/dev/sdb
    
    • «if» representa el archivo de entrada y «of» representa el archivo de salida. Entonces, la copia exacta de /dev/sda estará disponible en /dev/sdb .
    • Si hay algún error, el comando anterior fallará. Si proporciona el parámetro «conv=noerror» , continuará copiándose si hay errores de lectura.
    • El archivo de entrada y el archivo de salida deben mencionarse con mucho cuidado. En caso de que mencione el dispositivo de origen en el destino y viceversa, podría perder todos sus datos.
    • Para copiar, disco duro a disco duro usando el comando dd que se proporciona a continuación, la opción de sincronización le permite copiar todo usando E/S sincronizada.
      # dd if=/dev/sda of=/dev/sdb conv=noerror, sync
      
  2. Para hacer una copia de seguridad de una partición: puede usar el nombre del dispositivo de una partición en el archivo de entrada y, en la salida, puede especificar la ruta de destino o el archivo de imagen como se muestra en el comando dd.
    # dd if=/dev/hda1 of=~/partition.img
    
  3. Para crear una imagen de un disco duro: en lugar de realizar una copia de seguridad del disco duro, puede crear un archivo de imagen del disco duro y guardarlo en otros dispositivos de almacenamiento. Hay muchas ventajas de hacer una copia de seguridad de sus datos en una imagen de disco, una de las cuales es la facilidad de uso. Este método suele ser más rápido que otros tipos de copias de seguridad, lo que le permite restaurar rápidamente los datos después de una catástrofe inesperada. Crea la imagen de un disco duro /dev/hda.
    # dd if=/dev/hda of=~/hdadisk.img
    
  4. Para restaurar usando la imagen del disco duro: para restaurar un disco duro con el archivo de imagen de otro disco duro, se puede usar el siguiente comando dd
    # dd if=hdadisk.img of=/dev/hdb
    

    El archivo de imagen hdadisk.img es la imagen de /dev/hda, por lo que el comando anterior restaurará la imagen de /dev/hda a /dev/hdb.

  5. Para crear una copia de seguridad en CDROM: el comando dd le permite crear un archivo iso a partir de un archivo fuente. Entonces podemos insertar el CD e ingresar el comando dd para crear un archivo iso del contenido de un CD.
    # dd if=/dev/cdrom of=tgsservice.iso bs=2048
    

    El comando dd lee un bloque de entrada, lo procesa y lo escribe en un archivo de salida. Puede especificar el tamaño del bloque para el archivo de entrada y salida. En el ejemplo del comando dd anterior, el parámetro «bs» especifica el tamaño del bloque para el archivo de entrada y salida. Entonces dd usa 2048 bytes como tamaño de bloque en el comando anterior.

Referencias :

Este artículo es una contribución de Kishlay Verma . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *