informatique:se:linux:commandes:dd

dd

dd - copier et convertir des fichiers de type block

dd ⇒ Data Destroyer / Data Dump / Dataset Definition

Le programme dd lance deux tâches asynchrones, d'une part de lecture et d'autre part d'écriture, contrairement à cp qui copie un fichier de façon séquentielle (lecture d'une partie du fichier sur un premier périphérique, puis copie sur le second).

Pour créer une clé USB bootable à partir d'une image ISO.

On considère :

  • /dev/sdX la clé non montée
  • debian.iso est l'image ISO présent dans le dossier courant
# dd if=debian.iso of=/dev/sdX bs=1M; sync

Créé une image ISO de sauvegarde d'un CD ou d'un DVD :

On considère :

  • /dev/cdrom le chemin d'accès au DVD
  • debian.iso est le nom de l'image ISO
$ dd if=/dev/cdrom of=debian.iso

Pour découper un fichier en tranches de 100 Mio.

On considère :

  • grosfichier le nom du fichier à découper
  • grosfichier-part1 le nom du 1er fichier de 100 Mio.
  • grosfichier-part2 le nom du 2nd fichier des 100 Mio suivant.
$ dd bs=10K count=10K if=grosfichier of=grosfichier-part1
$ dd bs=10K count=10K skip=10K if=grosfichier of=grosfichier-part2
$ dd bs=10K count=10K skip=20K if=grosfichier of=grosfichier-part3
$ dd bs=10K count=10K skip=30K if=grosfichier of=grosfichier-part4

Remarque, la commande split aurait été plus appropriée.

Pour faire une copie du MBR (table des partitions principales comprises) d'un disque.

On considère :

  • /dev/hda le disque dur contenant le MBR
  • full-mbr.bin le nom du fichier contant le MBR sauvegardé
$ dd if=/dev/hda of=full-mbr.bin bs=512 count=1

Pour détruire les données d'un disque dur hda en le remplissant de zéros.

$ dd if=/dev/zero of=/dev/hda

Remarque, la commande shred aurait été plus approprié.

Sous Linux, la commande dd peut être utilisée pour une mesure de performance en lecture et écriture séquentielle.

Pour se concentrer sur l'écriture des données sur un disque, la source des informations sera une suite de zero disponible depuis le chemin /dev/zero. Si nous voulions mesurer la performance du disque, il aurait fallu écrire directement sur le chemin du disque (par exemple of=/dev/sda), mais cela effacerait le contenu du disque. En indiquant le chemin d'un fichier of=/media/disk_6/test, nous devons passer par le systèmes de gestion de fichiers, qui peut nous ralentir. Mais cela n’enlèvera pas les conditions réelles que nous pouvons avoir avec un disque.

En utilisant if=/dev/zero et bs=1G, Linux aura besoin de 1GB d'espace disponible dans la RAM. Si vous n'avez pas suffisamment d'espace disponible, pensez à réduire cette valeur, par exemple à 512MB.

$ dd if=/dev/zero of=/media/disk_6/testfile bs=1G count=1 oflag=direct

Entrer votre commentaire. La syntaxe wiki est autorisée:
     __   ____ __  __  _____   ___ 
 __ / /  /  _/ \ \/ / / ___/  / _ )
/ // /  _/ /    \  / / (_ /  / _  |
\___/  /___/    /_/  \___/  /____/
 
  • informatique/se/linux/commandes/dd.txt
  • Dernière modification: 2020/04/18 16:34
  • par jside