El comando dd
de Linux se utiliza para la conversión y copia de archivos. El nombre dd
significa “Data Duplicator” (‘duplicador de datos‘), lo que refleja su función principal: copiar y convertir datos sin procesar.
Es conocido por su capacidad para manejar tareas que otros comandos similares no pueden realizar con la misma eficacia, como crear unidades USB de arranque, copiar datos entre discos duros o incluso rescatar datos de unidades dañadas.
Sin embargo, es importante utilizar dd
con precaución. Debido a que opera a un nivel bajo, puedes sobrescribir fácilmente datos importantes si no tienes cuidado.
Estas son algunas formas de utilizar el comando dd:
- Copiar un archivo
- Crear una Imagen ISO desde un CD/DVD
- Crear una Unidad USB de Arranque
- Hacer una Copia de Seguridad de una Unidad Completa
- Restaurar una Unidad desde una Imagen de copia de Seguridad
- Copiar una Partición
- Crear un Archivo de un Tamaño Determinado
- Borrar un Disco de Forma Segura
- Diferencias entre dd y cp en Linux
Copiar un archivo
La sintaxis básica para copiar un archivo es:
dd if=archivo_entrada of=archivo_salida.
Ejemplo:
dd if=entrada.txt of=salida.txt
Entonces, cuando ejecutas dd if=entrada.txt of=salida.txt
, el contenido del archivo entrada.txt
se copiará byte por byte en el archivo salida.txt
.
Crear una Imagen ISO desde un CD/DVD
Puedes utilizar dd para crear una imagen ISO desde un CD o DVD.
Utiliza el siguiente comando lsblk
o fdisk -l
para identificar el nombre del dispositivo correspondiente al CD o DVD. Por ejemplo, podría ser /dev/sr0
o /dev/cdrom
.
dd if=/dev/cdrom of=/ruta/donde/guardar/imagen.iso
Ten en cuenta que necesitarás privilegios de superusuario (sudo) para acceder al dispositivo de CD/DVD y crear la imagen ISO.
Crear una Unidad USB de Arranque
Si tienes una imagen ISO de una distribución de Linux, puedes escribirla en una unidad USB para crear una memoria USB de arranque.
Utiliza el siguiente comando lsblk
o fdisk -l
para identificar el nombre del dispositivo correspondiente a tu unidad USB. Por ejemplo, podría ser /dev/sdb
. Asegúrate de identificar correctamente el dispositivo USB, ya que todos los datos en ese dispositivo serán sobrescritos.
- Antes de continuar, desmonta la unidad USB si está montada automáticamente. Puedes hacerlo con el siguiente comando, reemplazando
/dev/sdb1
con el nombre de tu dispositivo USB:
sudo umount /dev/sdb1
Reemplaza /dev/sdb
con la ruta a tu unidad USB.
sudo dd if=/ruta/de/imagen.iso of=/dev/dispositivo-usb bs=4M status=progress
if=/ruta/de/imagen.iso
: Especifica la ubicación de la imagen ISO que deseas escribir en la unidad USB.of=/dev/dispositivo-usb
: Especifica el nombre del dispositivo USB al que deseas escribir la imagen. Asegúrate de usar el nombre correcto del dispositivo USB, como/dev/sdb
. No uses particiones como/dev/sdb1
.bs=4M
: Especifica el tamaño del bloque de escritura. Usar un tamaño de bloque más grande puede mejorar la velocidad de escritura.status=progress
: Muestra el progreso de la escritura.
Hacer una Copia de Seguridad de una Unidad Completa
Puedes utilizar dd
para crear una copia de seguridad de una unidad completa.
sudo dd if=/dev/dispositivo-origen of=/ruta/donde/guardar/copia_de_seguridad.img bs=4M status=progress
Una vez que dd
haya terminado de crear la imagen de respaldo, recibirás un mensaje indicando cuántos bytes se han copiado.
Restaurar una Unidad desde una Imagen de copia de Seguridad
Puedes restaurar una unidad desde una imagen de copia de seguridad creada con dd.
sudo dd if=/ruta/donde/esta/copia_de_seguridad.img of=/dev/dispositivo-destino bs=4M status=progress
Por ejemplo:
sudo dd if=/ruta/donde/esta/copia_de_seguridad.img of=/dev/sda bs=4M status=progress
Ten en cuenta que este proceso sobrescribirá todos los datos en la unidad de destino con los datos de la imagen de copia de seguridad, por lo que debes asegurarte de seleccionar correctamente la unidad de destino antes de ejecutar el comando.
Copiar una Partición
Puedes utilizar dd
para copiar una partición en otra partición.
sudo dd if=/dev/sda1 of=/dev/sdb1 bs=4M status=progress
Crear un Archivo de un Tamaño Determinado
Puedes utilizar dd
para crear un archivo de un tamaño determinado relleno con bytes cero.
dd if=/dev/zero of=archivo.txt bs=1M count=100
Este comando crea un archivo llamado archivo.txt
que tiene un tamaño de 100 MB. Puedes ajustar el tamaño y la ubicación del archivo según tus necesidades.
Borrar un Disco de Forma Segura
Puedes utilizar dd
para borrar un disco de forma segura sobrescribiéndolo con bytes aleatorios.
sudo dd if=/dev/urandom of=/dev/dispositivo bs=tamaño
if=/dev/urandom
: Utiliza/dev/urandom
como fuente de datos para escribir bytes aleatorios en el disco.of=/dev/dispositivo
: Especifica el nombre del dispositivo del disco que deseas borrar. Asegúrate de seleccionar el disco correcto, ya que todos los datos en él serán sobrescritos.bs=tamaño
: Especifica el tamaño del bloque de escritura. Puedes utilizar un tamaño de bloque adecuado para tu disco. Un tamaño común es 1M (1 megabyte).
Por ejemplo, para borrar el disco /dev/sdX
con bytes aleatorios, usarías el siguiente comando:
sudo dd if=/dev/urandom of=/dev/sdX bs=1M
Este proceso sobrescribirá todo el disco con bytes aleatorios, lo que dificultará significativamente la recuperación de datos. Ten en cuenta que este proceso llevará tiempo, especialmente en discos grandes. Además, ten mucho cuidado al seleccionar el disco de destino, ya que todos los datos en él serán irrecuperables después de este proceso.
Diferencias entre dd y cp en Linux
Los comandos dd y cp en Linux se utilizan para copiar datos, pero tienen diferentes propósitos y capacidades.
El comando cp
, abreviatura de copy (copiar), se utiliza para copiar archivos y directorios. Suele utilizarse para tareas rutinarias como crear un duplicado de un archivo o copiar archivos de un directorio a otro. Opera a nivel de archivo, leyendo y escribiendo datos de tal manera que se copia el contenido del archivo.
Por otro lado, el comando dd
opera a un nivel más bajo, leyendo y escribiendo directamente datos sin procesar desde y hacia dispositivos o archivos. Este comando se utiliza normalmente para tareas como crear y escribir imágenes de disco, realizar copias de seguridad y restaurar particiones enteras o incluso crear unidades USB de arranque.
A diferencia de cp
, dd
se puede utilizar para copiar datos entre dispositivos de diferentes sistemas de archivos y puede copiar archivos no regulares como directorios o archivos de dispositivos.
Por lo tanto, en resumen, cp
es un comando de propósito más general para duplicar archivos y directorios, mientras que dd
es una herramienta más especializada que se utiliza para operaciones de bajo nivel que implican datos sin procesar.
Más comandos de Linux:
Operaciones de Directorios | rmdir · cd · pwd · exa · ls |
Operaciones de Archivos | cat · cp · dd · less · touch · ln · rename · more · head |
Operaciones de Sistema de Archivos | chown · mkfs · locate |
Redes | ping · curl · wget · iptables · mtr |
Búsqueda y Procesamiento de Texto | find · grep · sed · whatis · ripgrep · fd · tldr |
Información y Gestión del Sistema | env · history · top · who · htop · glances · lsof |
Gestión de Usuarios y Sesiones | screen · su · sudo · open |
¿Qué te parece?
Es bueno conocer tu opinión. Deja un comentario.