Introducción

Introducción

Lo que estás leyendo es solo el primero de los muchos artículos de la serie "Learning Linux Commands". ¿Por qué querríamos hacer tal cosa?? Porque es útil para usted tener todas las opciones y el uso posible de un comando ampliamente utilizado en un solo lugar. Encontrará algunas opciones o incluso algunos comandos que ni siquiera sabía que existía, y su vida como usuario / administrador de Linux se volverá más fácil. Si no tiene miedo de abrir una terminal y conocer los conceptos básicos de usar un sistema Linux, este artículo es para usted.

Por qué DD?

Elegimos DD como el primer contendiente en nuestra serie porque es una herramienta útil que tiene muchas opciones, como verá. Esto lo convierte en casi uno de los cuchillos del ejército suizo del mundo de Linux. Sí, este término (Swiss Army Shife) se usa más de lo que debería ser por los escritores de artículos orientados a Linux, por lo que no pudimos pasar la oportunidad de usarlo nosotros mismos.

Uso general

Antes de comenzar, queríamos darle una idea general de cómo se usa DD. En primer lugar, el nombre proviene del "duplicador de datos", pero también se dice en broma que representa el "destructor de disco" o el "destructor de datos" porque es una herramienta muy poderosa. Por lo tanto, recomendamos un cuidado adicional cuando use DD porque un momento de descuido puede costarle datos valiosos. La sintaxis general de un comando DD es

 # dd if = $ input_data of = $ output_data [opciones]

Los datos de entrada y salida pueden ser discos, particiones, archivos, dispositivos ... principalmente todo lo que puede escribir o leer. Como verá, puede usar DD en un contexto en red para enviar flujos de datos a través de su LAN, por ejemplo. Puede tener solo la parte de entrada en su comando DD, o solo el comando de salida, e incluso puede eliminar ambos en algunos casos. Todo esto será tratado en la tabla a continuación.



Ejemplos

Aprender el comando DD de Linux con ejemplos
Sintaxis del comando de Linux Descripción del comando de Linux
Sistemas de archivos
dd if =/dev/urandom of =/dev/sda bs = 4K
Llena la unidad con datos aleatorios
dd if =/dev/sda of =/dev/sdb bs = 4096

Duplicación de conducción a conducción

dd if =/dev/cero of =/dev/sda bs = 4K
Limpiar un disco duro (puede que deba repetirse)
dd if = inputfile de =/dev/st0 bs = 32k conv = sincron
Copiar desde el archivo al dispositivo de cinta
dd if =/dev/st0 of = outFile bs = 32k conv = sincron
Lo anterior, invertido
dd if =/dev/sda | hexdump -c | Grep [^00]
Verifique si la unidad está realmente a cero
dd if =/dev/urandom of =/home/$ user/greatfile \ bs = 4096
Completa una partición (cuidadoso con las particiones del sistema!)
ls -l myfile -rw-r-r-- 6703104 31 de octubre 18:25 myfile dd if =/dev/urandom of = myfile bs = 6703104 Count = 1
Revolver un archivo (tal vez antes de eliminarlo)
dd if =/dev/sda3 of =/dev/sdb3 bs = 4096 \ conv = nonRunc, noError
Copiar una partición a otra partición
dd if =/proc/filesystems | hexdump -c | menos
Ver sistemas de archivos disponibles
DD if =/Proc/Partitions | hexdump -c | menos
Ver particiones disponibles en KB
dd if =/dev/sdb2 IBS = 4096 | GZIP> Partición.imagen.gz \ conv = noError
Crea una imagen gzipped de la segunda partición
del segundo disco
DD BS = 10240 CBS = 80 Conv = ASCII, UNBLOCH \ if =/dev/st0 de = ASCII.afuera
Copiar el contenido de una unidad de cinta a un archivo, convertir
De Ebcdic a ASCII
DD if =/dev/st0 IBS = 1024 OBS = 2048 de =/dev/st1
Copiar desde el dispositivo de bloque de 1kb al dispositivo de bloque de 2kb
dd if =/dev/cero of =/dev/null bs = 100m Count = 100 100+0 registros en 100+0 registros de 10485760000 bytes (10 gb) copiados, 5.62955 S, 1.9 GB/s
Copiar 10 GB de ceros al lata de basura.
dd if =/dev/cero of =/dev/sda bs = 512 count = 2 fdisk -s/dev/sda dd if =/dev/cero of =/dev/sda seek = \ (number_of_sectores - 20) bs = 1k
Borrar GPT del disco. Dado que GPT escribe datos al principio
Y al final de la unidad, después
Borrando desde el principio, necesitamos averiguar el número
de sectores (segundo comando), luego borre los últimos 20 sectores.
dd if =/home/$ user/bootimage.img de =/dev/sdc
Crear unidad USB de arranque (aquí se muestra como /dev /sdc)
dd if =/dev/sda of =/dev/null bs = 1m
Una buena manera de verificar los bloques malos
Copia de seguridad y relacionado con el sistema
dd if =/dev/sda of =/dev/fd0 bs = 512 count = 1
Copia el MBR a un floppy
dd if =/dev/sda1 of =/dev/sdb1 bs = 4096
Duplicación de conducción a conducción
dd if =/dev/sr0 of =/home/$ user/mycdimage.ISO \ BS = 2048 Conv = Nosync
Crear una imagen de un CD
Mount -O loop/home/$ user/mycdimage.ISO \/mnt/cdimages/
Monte dijo la imagen localmente
dd if =/dev/sda of =/dev/sdb bs = 64k conv = sincron
Útil al reemplazar un disco con otro tamaño idéntico
dd if =/dev/sda2 of =/home/$ user/hddimage1.img \ bs = 1m count = 4430 dd if =/dev/sda2 of =/home/$ user/hddimage2.img \ bs = 1M Count = 8860 […]
Cree imágenes de DVD de una partición (útil para hacer una copia de seguridad)
dd if =/$ ubicación/hddimage1.img de =/dev/sda2 \ bs = 1m dd if =/$ ubicación/hddimage2.img de =/dev/sda2 \ seek = 4430 bs = 1m dd if =/$ ubicación/hddimage3.img de =/dev/sda2 \ seek = 8860 bs = 1m [y así sucesivamente ...]
Restaurar desde la copia de seguridad anterior
dd if =/dev/cero count = 1 bs = 1024 Seek = 1 de =/dev/sda6
Destruir el superbloque
dd if =/dev/cero count = 1 bs = 4096 Seek = 0 de =/dev/sda5
Otra forma de destruir el superbloque
dd if =/home/$ user/sospeche.DOC | clamscan -
Verifique el archivo de los virus (necesita clamav)
DD if =/home/$ user/archivo binario | hexdump -c | menos
Mire el contenido de un archivo binario (necesita hexdump)
dd if =/home/$ user/bigfile of =/dev/null dd if =/dev/cero of =/home/$ user/bigfile \ bs = 1024 count = 1000000
Plazo duro de referencia para la velocidad de lectura/escritura
dd if =/dev/sda of =/dev/sda
Da nueva vida a los discos duros mayores que no se han utilizado durante un tiempo (el disco debe ser desmontado)
dd if =/dev/mem | cuerdas | Grep 'String_to_search'
Examinar el contenido de la memoria (legible por humanos, es decir)
dd if =/dev/fd0 of =/home/$ user/floppy.Imagen \ bs = 2x80x18b Conv = NotRunc
Copiar un disco
dd if =/proc/kcore | hexdump -c | menos
Ver memoria virtual
dd if =/proc/filesystems | hexdump -c | menos
Ver sistemas de archivos disponibles
dd if =/proc/kallsyms | hexdump -c | menos
Ver módulos cargados
dd if =/proc/Interrupts | hexdump -c | menos
Ver tabla de interrupción
dd if =/proc/tiempo de inicio | hexdump -c | menos
Ver tiempo de actividad en segundos
DD if =/Proc/Partitions | hexdump -c | menos
Ver particiones disponibles en KB
dd if =/proc/meminfo | hexdump -c | menos
Ver memstats
dd if =/dev/urandom of =/home/$ user/myrandom \ bs = 100 count = 1
Crea un archivo de 1kb de galimatías aleatorias
dd if =/dev/mem of =/home/$ user/mem.bin \ bs = 1024
Crea una imagen del estado real de la memoria de su sistema
dd if =/home/$ user/myfile
Imprime el archivo a stdout
dd if =/dev/sda2 bs = 16065 | hexdump -c \ | GREP 'Text_To_Search'
Busque una partición completa para una cadena; Incluso si está asegurado,
puedes arrancar un livecd
dd if =/home/$ user/archivo.bin skip = 64k bs = 1 \ of =/home/$ user/convfile.papelera
Copiar archivo.contenedor para convencer.Bin omitiendo los primeros 64 kb
dd if =/home/$ user/bootimage.img de =/dev/sdc
Crear unidad USB de arranque (aquí se muestra como /dev /sdc)
dd if =/dev/mem bs = 1k skip = 768 count = 256 \ 2>/dev/null | cadenas -n 8
Leer BIOS.
DD BS = 1K if = ImageFile.nrg de = ImageFile.ISO Skip = 300k
Convertir la imagen nero en una imagen estándar ISO.
Esto es posible porque la única diferencia entre
Los dos son un encabezado de 300 kb que Nero se suma a un archivo ISO estándar.
echo -n "Hola mundo vertical" | DD CBS = 1 \ Conv = Unblock 2> /dev /null
Pruébalo, es seguro. 🙂
dd if =/dev/sda1 | GZIP -C | dividido -b 2000m - \/mnt/hdc1/copia de seguridad.img.GZ
Crear una imagen gzipped de una partición usando división
CAT/MNT/HDC1/COMPARDO.img.GZ.* | gzip -dc | \ dd of =/dev/sda1
Restaurar la copia de seguridad de arriba
dd if =/dev/cero of = myImage BS = 1024 Count = 10240
Crear una imagen de disco vacía
DD IBS = 10 Skip = 1
Delire los primeros 10 bytes de Stdin
dd bs = 265b conv = noError if =/dev/st0 \ of =/tmp/bad.cinta.imagen
Haga la imagen de una unidad de cinta con puntos malos
dd if =/dev/sda count = 1 | hexdump -c
Vea su MBR
dd if =/dev/sda | NC -L 10001 NC $ System_To_Backup_IP 10001 | DD \ OF = SYSBACKUPSDA.img
Copia de seguridad de red rápida usando NetCat
dd if =/dev/cero of =/dev/sdx \ bs = 1024000 count = 1
Clear los primeros 10 MB de la partición
dd if =/dev/cero de = tmpswap bs = 1k \ count = 1000000 chmod 600 tmpswap mkswap tmpswap swapon tmpswap
Crear espacio de intercambio temporal
dd if =/dev/sda of =/dev/null bs = 1024k \ count = 1024 1073741824 bytes (1.1 GB) copiado, 24.1684 S, 44.4 MB/s
Determine la velocidad de E/S secuencial de su unidad. Leer el archivo de 1 GB
dd if =/dev/random count = 1 2>/dev/null | OD -T U1 | \ Awk 'imprimir $ 2' | Cabeza -1
Generar un número aleatorio
dd if =/dev/mem of = myram bs = 1024
Copiar la memoria RAM en un archivo
dd if =/dev/sda bs = 512 count = 1 | OD -xa
Vea el contenido de su MBR en formato Hex y ASCII
dd if =/my/old/mbr of =/dev/sda bs = 446 count = 1
Restaurar MBR sin perturbar el registro de la tabla de partición
que está entre 447 y 511 bytes
dd if =/dev/sda1 | división -B 700m -IMAGE SDA1
Crear una copia de partición y guardar imágenes donde sea máximo
El tamaño del volumen es de 700 MB
Manipulación de texto
ls -l | dd conv = ucase
Convierta la salida de un comando en mayúsculas
Echo "Mi texto en mayúsculas" | dd conv = lcase
Convertir cualquier texto en minúsculas
dd if =/etc/passwd cbs = 132 conv = ebcdic of =/tmp/passwd.EBCDIC
Convierta el archivo de contraseña del sistema a archivo de formato EBCDIC de longitud fija
dd if = texto.ASCII de = texto.ebcdic conv = ebcdic
Convertir de ASCII a EBCDIC
dd if = myfile of = myfile conv = ucase
Convierta un archivo en mayúsculas (reemplazo simple de SED o TR)

Conclusión

Esto ha sido solo una pequeña parte de lo que DD puede hacer, y esperamos que este artículo haya logrado comprender los ejemplos más útiles para el usuario cotidiano. Sin embargo, antes de ir más allá, le recomendamos que lea la documentación de su disco duro, busque cosas como la limitación de LBA, y tenga mucho cuidado al usar DD en un terminal raíz.
Por supuesto, ya tiene copias de seguridad, pero un poco de cuidado adicional le ahorrará horas de trabajo innecesario.

Tutoriales de Linux relacionados:

  • Cosas para instalar en Ubuntu 20.04
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Cosas que hacer después de instalar Ubuntu 22.04 Jellyfish de Jammy ..
  • Descarga de Linux
  • Cosas para instalar en Ubuntu 22.04
  • Ubuntu 20.04 Guía
  • Instale Arch Linux en VMware Workstation
  • Cómo arrancar dual Kali Linux y Windows 10
  • Comandos de Linux: los 20 comandos más importantes que necesitas ..