Cómo utilizar el comando dd en Linux

dd es una utilidad muy poderosa y útil disponible en sistemas operativos Unix y similares a Unix.

Como se indica en su manual, su propósito es convertir y copiar archivos. En sistemas operativos Unix, como Linux, casi todo se trata como un archivo, incluso dispositivos de bloqueo: use dd para clonar un disco o borrar datos, entre otras cosas. lo hace útil. La utilidad dd está disponible de fábrica incluso en la instalación más mínima de todas las distribuciones. En este tutorial veremos cómo usarlo y cómo podemos modificar su comportamiento utilizando algunas de las opciones más utilizadas para facilitar la tarea de administrar tu sistema Linux.

Cree una unidad USB de arranque con dd

Hacer una unidad USB de arranque de su sistema operativo favorito con el comando dd es muy fácil. Todo lo que necesita es una unidad USB y una imagen ISO o IMG del sistema operativo del que desea hacer un USB de arranque.

Suponga que ha descargado una imagen ISO de Alpine Linux y el archivo está guardado en el directorio ~/Downloads como alpine-standard-3.8.0-x86_64.iso. Ahora, puede enumerar todos los dispositivos de almacenamiento o bloqueo conectados con el siguiente comando:

$ sudo lsblk

Como puede ver, se enumeran todos los dispositivos de bloque o almacenamiento conectados. Aquí, /dev/sdb es mi unidad USB. Tiene dos particiones, /dev/sdb1 y /dev/sdb2. Pero cuando crea unidades USB de arranque, debe usar /dev/sdb, el dispositivo de bloque completo, no cualquier partición. Ahora cree una unidad USB Alpine Linux de arranque con el siguiente comando:

$ sudo dd if=~/Descargas/alpine-standard-3.8.0-x86_64.iso of=/dev/sdb bs=1M

Aquí, la opción if=~/Downloads/alpine-standard-3.8.0-x86_64.iso se usa para decirle a dd que el archivo de entrada está en la ruta ~/Downloads/alpine-standard-3.8.0-x86_64. iso y de La opción =/dev/sdb se usa para decirle a dd que el archivo de salida está en la ruta /dev/sdb. bs=1M le dice a dd que lea desde ~/Downloads/alpine-standard-3.8.0-x86_64.iso y escriba en /dev/sdb 1 megabyte de datos a la vez.

Como puede ver, el archivo ISO se copia en el dispositivo de bloque /dev/sdb. Ahora puede usarlo para instalar Alpine Linux. Este comando es muy destructivo. El comando dd elimina la tabla de particiones y otros metadatos, punteros al dispositivo de bloque. Así que debes tener cuidado.

Visualización de la barra de progreso:

De forma predeterminada, el comando dd no muestra una barra de progreso. Pero puede decirle a dd que lo muestre con la opción status=progress. Por ejemplo, para copiar datos de /dev/sda a /dev/sdb 1 Megabyte a la vez y también mostrar la barra de progreso, ejecute el siguiente comando:

$ sudo dd if=/dev/sda of=/dev/sdb bs=1M estado=progreso

Como puede ver, se muestra la barra de progreso. Puede ver la cantidad de datos que se copian y la velocidad a la que se copian.

Medición del rendimiento de lectura y escritura de un dispositivo de almacenamiento con dd:

Puede medir la velocidad de lectura y escritura de un dispositivo de almacenamiento con dd muy fácilmente. Por supuesto, hay muchos programas gráficos que brindan esta información, pero los amantes de la línea de comandos encontrarán esto muy interesante.

Primero, debe montar la partición o el dispositivo de almacenamiento en su sistema de archivos. Si no tiene una partición en su dispositivo de almacenamiento, siempre puede crearla con el comando fdisk y formatearla con el sistema de archivos que desee (como FAT32, EXT4, NTFS, XFS, etc.). Aquí, asumo que tiene una partición /dev/sdb1 y está formateada como EXT4. Digamos que desea montar la partición /dev/sdb1 en el directorio /mnt, luego ejecute el siguiente comando:

$ sudo mount /dev/sdb1 /mnt

Como puede ver, la partición /dev/sdb1 está montada en el directorio /mnt.

$ df-h

Ahora vamos a crear un archivo testrw de 1 GB en el directorio /mnt con dd:

$ sudo dd if=/dev/zero of=/mnt/testrw bs=1G count=1 oflag=directo

Aquí, count=1 significa leer bs=1G, que es 1 Gigabyte desde /dev/zero, y escribirlo en el archivo /mnt/testrw. La opción oflag=direct se usa para deshabilitar el almacenamiento en caché del disco. Si el almacenamiento en caché del disco está habilitado, no obtendrá resultados muy precisos.

Como puede ver, la velocidad de escritura de mi unidad USB es de aproximadamente 6,1 MB por segundo. También puede probar la velocidad de lectura de su dispositivo de almacenamiento con el siguiente comando:

$ sudo dd if=/mnt/testrw of=~/Downloads/test bs=1G count=1 oflag=direct

Como puede ver, puedo leer a 4,3 MB por segundo.

Prueba de latencia del dispositivo de almacenamiento con dd:

La latencia de un dispositivo de almacenamiento es el tiempo que tarda en acceder al dispositivo. Es un parámetro importante que podemos determinar con la ayuda del comando dd.

Para probar la latencia, podemos escribir o leer pequeños fragmentos de datos (alrededor de 512 bytes a la vez) X veces y ver cuánto tarda. Entonces podemos calcular cuánto tiempo lleva leer o escribir un solo dato muy fácilmente. Esto se denomina latencia del dispositivo de almacenamiento.

Por ejemplo, suponga que desea calcular la latencia de escritura. Ahora ejecute el siguiente comando para escribir un fragmento de 512 bytes unas 1000 veces:

$ sudo dd if=/dev/zero of=/mnt/testX bs=512 count=1000 oflag=directo

Como puede ver, se tarda unos 16,4541 segundos en escribir 1000 piezas de datos de 512 bytes. Ahora, para escribir una sola porción de datos, toma aproximadamente (16.4541s/1000 = 0.0164s) 0.0164 segundos. Entonces, la latencia de escritura es de aproximadamente 0,0164 segundos para este dispositivo de almacenamiento.

Sin usted, esta web no existiria. Gracias por visitarme, espero que le haya gustado y vuelva. Gracias ☺️

Articulos tematica linux

Fecha actualizacion el 2022-02-20. Fecha publicacion el 2022-02-20. Categoria: linux Autor: Oscar olg Mapa del sitio Fuente: bollyinside