Actuación

Cómo usar el comando dd en Linux

Cómo usar el comando dd en Linux
La dd el comando se usa para hacer muchas cosas importantes. El uso más común y extendido del dd comando es hacer unidades USB de arranque desde un YO ASI o IMG archivo de imagen. Lo uso mucho para hacer unidades USB de arranque de diferentes distribuciones de Linux. Pero hay otros usos del dd comando también. Por ejemplo, el dd El comando se puede usar para hacer una copia de seguridad de la tabla de particiones, convertir textos y archivos, instalar un cargador de arranque en una unidad de disco duro, SSD o unidad USB. La dd El comando también se puede usar para probar el rendimiento de los dispositivos de almacenamiento, como la latencia de su disco duro, la velocidad de lectura y escritura de su disco duro, etc.

En este artículo, le mostraré algunos de los usos comunes del dd comando en Linux. Usaré Debian 9 Stretch para la demostración. Pero debería funcionar en cualquier otra distribución de Linux. Empecemos.

Hacer una unidad USB de arranque con dd:

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

Supongamos que ha descargado un YO ASI imagen de Alpine Linux y el archivo se guarda en la ~ / Descargas directorio como alpine-standard-3.8.0-x86_64.Yo asi

Ahora, puede enumerar todos los dispositivos de almacenamiento o bloque conectados con el siguiente comando:

$ sudo lsblk

Como puede ver, se enumeran todos los dispositivos de almacenamiento o bloque conectados. Aquí, / dev / sdb es mi unidad USB. Tiene dos particiones, / dev / sdb1 y / dev / sdb2. Pero cuando crea unidades de arranque USB, debe usar el / dev / sdb, todo el dispositivo de bloque, no particiones.

Ahora cree una unidad USB de arranque de Alpine Linux con el siguiente comando:

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

Aquí, si =~ / Descargas / alpine-standard-3.8.0-x86_64.Yo asi La opción se usa para decir dd que el archivo de entrada está en la ruta ~ / Descargas / alpine-standard-3.8.0-x86_64.Yo asi y de =/ dev / sdb La opción se usa para decir dd que el archivo de salida está en la ruta / dev / sdb. El bs =1 M dice dd para leer de ~ / Descargas / alpine-standard-3.8.0-x86_64.Yo asi y escribe a / dev / sdb 1 megabytes de datos a la vez.

Como puede ver, el archivo ISO se copia al dispositivo de bloque / dev / sdb. Ahora puede usarlo para instalar Alpine Linux.

Este comando es muy destructivo. La dd comando borra la tabla de particiones y otros metadatos, banderas del dispositivo de bloque. Entonces debes tener cuidado.

Visualización de la barra de progreso:

Por defecto, el dd el comando no muestra ninguna barra de progreso. Pero puedes decir dd para mostrarlo con el status = progreso opción.

Por ejemplo, para copiar datos de / dev / sda a / dev / sdb 1 Megabytes a la vez y también muestra la barra de progreso, ejecute el siguiente comando:

$ sudo dd if = / dev / sda of = / dev / sdb bs = 1M status = progress

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 facilmente. Por supuesto, hay muchos softwares gráficos que proporcionan esta información, pero los amantes de la línea de comandos lo encontrarían 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 fdisk comando y formatee en su sistema de archivos deseado (como FAT32, EXT4, NTFS, XFS etc). Aquí, supongo que tienes una partición / dev / sdb1 y tiene el formato EXT4.

Digamos que quieres montar / dev / sdb1 partición a / mnt directorio, luego ejecute el siguiente comando:

$ sudo mount / dev / sdb1 / mnt

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

$ df -h

Ahora creemos un archivo de 1 GB testrw en el / mnt directorio con dd:

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

Aquí, cuenta = 1 significa leer bs = 1G que es 1 Gigabyte de / dev / zero, y escríbele a / mnt / testrw expediente.

La oflag = directo La opción se usa para deshabilitar el almacenamiento en caché del disco. Si el almacenamiento en caché de disco está habilitado, no obtendrá resultados muy precisos.

NOTA: Recuerde, para esta operación, debe tener al menos 1 GB de memoria libre o RAM en su computadora. Si no puede permitirse tanta RAM libre, reduzca el tamaño de bs. Por ejemplo, establezca bs = 128 M o incluso menos, bs = 64 millones.

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 las 4.3 MB por segundo.

Prueba de la 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 dd mando.

Para probar la latencia, podemos escribir o leer pequeños fragmentos de datos (aproximadamente 512 bytes a la vez) X veces y ver cuánto tiempo lleva. Luego, podemos calcular cuánto tiempo se tarda en leer o escribir un solo fragmento de datos con mucha facilidad. Esto se llama latencia del dispositivo de almacenamiento.

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

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

Como puede ver, se necesitan aproximadamente dieciséis.4541 segundos para escribir 1000 trozos de 512 bytes de datos. Ahora, para escribir un solo fragmento de datos, se necesitan aproximadamente (16.4541s / 1000 = 0.0164 s) 0.0164 segundos. Entonces la latencia de escritura es aproximadamente 0.0164 segundos para este dispositivo de almacenamiento.

Puede calcular la latencia de lectura de la misma manera.

Así es como usa dd y prueba el rendimiento de un dispositivo de E / S con él. Gracias por leer este artículo.

El cursor salta o se mueve aleatoriamente mientras escribe en Windows 10
Si descubre que el cursor del mouse salta o se mueve por sí solo, automáticamente, de manera aleatoria mientras escribe en una computadora portátil o ...
Cómo invertir la dirección de desplazamiento del mouse y los paneles táctiles en Windows 10
Ratón y Panel táctils no solo facilitan la informática, sino que también hacen que sea más eficiente y requieran menos tiempo. No podemos imaginar una...
Cómo cambiar el tamaño, el color y el esquema del puntero del mouse y del cursor en Windows 10
El puntero y el cursor del mouse en Windows 10 son aspectos muy importantes del sistema operativo. Esto también se puede decir de otros sistemas opera...