Comando dd de Linux

Linux 命令大全Manual completo de comandos de Linux

El comando dd de Linux se utiliza para leer, convertir y generar datos.

dd puede leer datos desde la entrada estándar o desde un archivo, convertirlos según el formato especificado y luego emitirlos a un archivo, dispositivo o salida estándar.

Descripción de parámetros:

  • if=nombre de archivo: nombre del archivo de entrada, por defecto es la entrada estándar. Es decir, especifica el archivo de origen.
  • of=nombre de archivo: nombre del archivo de salida, por defecto es la salida estándar. Es decir, especifica el archivo de destino.
  • ibs=bytes: lee bytes de una vez, es decir, especifica un tamaño de bloque de bytes.
    obs=bytes: escribe bytes de una vez, es decir, especifica un tamaño de bloque de bytes.
    bs=bytes: establece a la vez el tamaño de bloque de lectura/salida en bytes.
  • cbs=bytes: convierte bytes a la vez, es decir, especifica el tamaño del búfer de conversión.
  • skip=blocks: omite blocks bloques desde el principio del archivo de entrada antes de comenzar a copiar.
  • seek=blocks: omite blocks bloques desde el principio del archivo de salida antes de comenzar a copiar.
  • count=blocks: copia solo blocks bloques; el tamaño de bloque es igual al número de bytes especificado por ibs.
  • conv=<palabra clave>; las palabras clave pueden ser de los siguientes 11 tipos:
    • conversion: convierte el archivo con los parámetros especificados.
    • ascii: convierte EBCDIC a ASCII
    • ebcdic: convierte ASCII a EBCDIC
    • ibm: convierte ASCII a EBCDIC alternativo
    • block: convierte cada línea a una longitud de cbs, rellenando la parte faltante con espacios
    • unblock: hace que la longitud de cada línea sea cbs, rellenando la parte faltante con espacios
    • lcase: convierte caracteres en mayúsculas a minúsculas
    • ucase: convierte caracteres en minúsculas a mayúsculas
    • swap: intercambia cada par de bytes de entrada
    • noerror: no se detiene cuando ocurre un error
    • notrunc: no trunca el archivo de salida
    • sync: rellena cada bloque de entrada hasta ibs bytes, completando la parte faltante con caracteres nulos (NUL).
  • --help: muestra información de ayuda
  • --version: muestra información de versión

Ejemplos

En Linux, para crear un disco de arranque, se puede usar el siguiente comando:

dd if=boot.img of=/dev/fd0 bs=1440k 

Convierte todas las letras inglesas del archivo testfile a mayúsculas y luego lo convierte en el archivo testfile_1. Use el siguiente comando en el símbolo del sistema:

dd if=testfile_2 of=testfile_1 conv=ucase 

El contenido de testfile_2 es:

$ cat testfile_2 #testfile_2的内容  
HELLO LINUX!  
Linux is a free unix-type opterating system.  
This is a linux testfile!  
Linux test 

Después de la conversión, el contenido de testfile_1 es el siguiente:

$ dd if=testfile_2 of=testfile_1 conv=ucase #使用dd 命令,大小写转换记录了0+1 的读入  
记录了0+1 的写出  
95字节(95 B)已复制,0.000131446 秒,723 KB/s  
cmd@hdd-desktop:~$ cat testfile_1 #查看转换后的testfile_1文件内容  
HELLO LINUX!  
LINUX IS A FREE UNIX-TYPE OPTERATING SYSTEM.  
THIS IS A LINUX TESTFILE!  
LINUX TEST #testfile_2中的所有字符都变成了大写字母 

Para leer una cadena desde el dispositivo de entrada estándar, convertirla a mayúsculas y luego enviarla al dispositivo de salida estándar, el comando utilizado es:

dd conv=ucase 

Después de ingresar el comando anterior, presione Enter, ingrese la cadena, presione Enter nuevamente, presione la combinación de teclas Ctrl+D para salir, y aparecerá el siguiente resultado:

$ dd conv=ucase 
Hello Linux! #输入字符串后按回车键  
HELLO LINUX! #按组合键Ctrl+D退出,转换成大写结果  
记录了0+1 的读入  
记录了0+1 的写出  
13字节(13 B)已复制,12.1558 秒,0.0 KB/s 

Linux 命令大全Manual completo de comandos de Linux

Otras extensiones