Comparte el método de visualización d progreso d

  
                  

dd es un comando muy útil en Linux /UNIX. Se utiliza para copiar un archivo con un bloque del tamaño especificado y realizar la conversión especificada mientras se copia.

Ya que se ejecuta el comando dd, La velocidad de copia de datos durante la impresión de dd, por lo que muchas personas usan dd para probar la E /S del disco. Espero utilizar el resultado como datos de referencia para comparar las capacidades de lectura y escritura del disco con diferentes proveedores de servicios o diferentes configuraciones de hardware. Aunque se muestra una velocidad promedio después de ejecutar el comando, no se muestra información durante la ejecución, lo que hace que el operador espere en una secuencia infinita al copiar archivos grandes.

Este artículo presentará el progreso de la observación del dd en ejecución, espero que este método sea útil para todos.

Paso 1: cree una nueva ventana y encuentre el PID correspondiente al comando dd actual


El código es el siguiente: pgrep -l '^ dd $'. pgrep -l '^ Dd $ '

El resultado:

8269 dd.8269 dd

Paso 2: envíe la instrucción USR1 al proceso dd


El código es el siguiente: kill -USR1 8269.kill -USR1 8269 En este punto, verá el tamaño de los datos que se han copiado y la velocidad por segundo en la ventana donde se ejecuta el comando dd.

Por supuesto, si solo tiene un proceso de dd ejecutándose, también puede usar el siguiente comando:


El código es el siguiente: kill -USR1 `pgrep ^ dd`.kill -USR1 `pgrep ^ dd`

Si no puede esperar, puede usar este comando para enviar cada segundo:


El código es el siguiente: watch -n1 'sudo kill -USR1 `pgrep ^ dd`'.watch -n1 'sudo kill -USR1` pgrep ^ dd`'

Por supuesto, también puede hacer esto, y cuando ejecute el comando dd, deje que salga automáticamente:


El código es el siguiente: dd if = /dev /zero of = /home /test &pid = $ !; while [[-d /proc /$ pid]]; -USR1 $ pid &&sleep 1 &&clear; done.dd if = /dev /zero of = /home /test &pid = $ !; while [[-d /proc /$ pid]]; do kill -USR1 $ pid &&sleep 1 &&clear; done

dd Explicación del parámetro

1. if = filename: nombre de archivo de entrada, el valor predeterminado es estándar Entrada Es decir, especifique el archivo fuente. < if = archivo de entrada >

2. of = filename: El nombre del archivo de salida, el valor predeterminado es la salida estándar. Es decir, especifique el archivo de destino. < of = archivo de salida >

3. ibs = bytes: Lee bytes bytes a la vez, es decir, especifica un tamaño de bloque de bytes.

obs = bytes: Bytes de salida de bytes a la vez, es decir, especifique un tamaño de bloque de bytes.

bs = bytes: también establece el tamaño del bloque de lectura /salida en bytes.

4. cbs = bytes: Convierte bytes bytes a la vez, es decir, especifica el tamaño del búfer de conversión.

5. skip = blocks: salta los bloques desde el principio del archivo de entrada antes de iniciar la copia.

6. seek = blocks: salta los bloques desde el principio del archivo de salida y comienza a copiar.

Nota: Por lo general, solo es válido cuando el archivo de salida es un disco o una cinta, es decir, es válido cuando se realiza una copia de seguridad en un disco o una cinta.

7. count = blocks: Sólo se copian los bloques, el tamaño del bloque es igual al número de bytes especificados por ibs.

8. conv = conversion: Convierte archivos con los parámetros especificados.

ascii: Convierte ebcdic en ascii

ebcdic: convierte ascii en ebcdic

ibm: convierte ascii en bloque ebcdic

: convierte cada línea en La longitud es cbs, la parte insuficiente se rellena con espacios

desbloquear: haga cada línea de longitud cbs, la parte insuficiente se rellena con espacios

lcase: convierta los caracteres en mayúscula en minúsculas

ucase: convierte caracteres en minúsculas en caracteres en mayúsculas

swab: intercambia cada par de bytes de entrada

noerror: no se detiene cuando se produce un error

notrunc: no trunca la salida Archivo

sync: cada bloque de entrada se rellena con bytes de ibs y la parte insuficiente se rellena con caracteres nulos (NUL).

Algunos ejemplos de aplicaciones de dd

1. Realice una copia de seguridad del disco local /dev /hdb en /dev /hdd


El código es el siguiente: dd If = /dev /hdb of = /dev /hdd.dd if = /dev /hdb of = /dev /hdd

2. Realice una copia de seguridad de los datos del disco /dev /hdb full en el archivo de imagen de la ruta especificada


El código es el siguiente: dd if = /dev /hdb of = /root /image.dd if = /dev /hdb of = /root /image

3. Se realizará una copia de seguridad Recuperación de archivos en el disco especificado


El código es el siguiente: dd if = /root /image of = /dev /hdb.dd if = /root /image of = /dev /hdb

4. Realice una copia de seguridad de los datos completos del disco /dev /hdb y use la herramienta gzip para comprimir y guardar en la ruta especificada


El código es el siguiente: dd if = /dev /hdb

Copyright © Conocimiento de Windows All Rights Reserved