logo

Commande 'dd' sous Linux

jj est un utilitaire de ligne de commande pour les systèmes d'exploitation Unix et de type Unix dont l'objectif principal est de convertir et de copier des fichiers.

  • Sous Unix, les pilotes de périphériques pour le matériel (tels que les disques durs) et les fichiers de périphériques spéciaux (tels que /dev/zero et /dev/random) apparaissent dans le système de fichiers tout comme les fichiers normaux.
  • dd peut également lire et/ou écrire depuis/vers ces fichiers, à condition que cette fonction soit implémentée dans leurs pilotes respectifs.
  • En conséquence, dd peut être utilisé pour des tâches telles que la sauvegarde du secteur de démarrage d'un disque dur et l'obtention d'une quantité fixe de données aléatoires.
  • Le programme dd peut également effectuer des conversions sur les données au fur et à mesure de leur copie, y compris l'échange de l'ordre des octets et la conversion vers et depuis les codages de texte ASCII et EBCDIC.

Utilisation : La syntaxe de ligne de commande de dd diffère de celle de nombreux autres programmes Unix, dans la mesure où elle utilise la syntaxe option=valeur pour ses options de ligne de commande, plutôt que le plus standard -valeur d'option ou –option=valeur formats. Par défaut, dd lit depuis stdin et écrit sur stdout, mais ceux-ci peuvent être modifiés en utilisant les options if (fichier d'entrée) et of (fichier de sortie).

Quelques exemples pratiques sur la commande dd :



    Pour sauvegarder l'intégralité du disque dur : Pour sauvegarder une copie entière d'un disque dur sur un autre disque dur connecté au même système, exécutez la commande dd comme indiqué. Dans cet exemple de commande dd, le nom de périphérique UNIX du disque dur source est /dev/hda et le nom de périphérique du disque dur cible est /dev/hdb.
     # dd if=/dev/sda of=/dev/sdb>
    • si représente le fichier d'entrée, et de représente le fichier de sortie. Donc la copie exacte de /dev/sda sera disponible dans /dev/sdb .
    • S'il y a des erreurs, la commande ci-dessus échouera. Si vous donnez le paramètre conv=aucune erreur alors il continuera à copier s'il y a des erreurs de lecture.
    • Le fichier d’entrée et le fichier de sortie doivent être mentionnés très attentivement. Juste au cas où vous mentionnez le périphérique source dans la cible et vice versa, vous risquez de perdre toutes vos données.
    • Pour copier un disque dur sur un disque dur à l'aide de la commande dd ci-dessous, l'option de synchronisation vous permet de tout copier à l'aide d'E/S synchronisées.
       # dd if=/dev/sda of=/dev/sdb conv=noerror, sync>
    Pour sauvegarder une partition : vous pouvez utiliser le nom de périphérique d'une partition dans le fichier d'entrée, et dans la sortie, vous pouvez spécifier votre chemin cible ou votre fichier image comme indiqué dans la commande dd.
     # dd if=/dev/hda1 of=~/partition.img>
    Pour créer une image d'un disque dur : Au lieu de faire une sauvegarde du disque dur, vous pouvez créer un fichier image du disque dur et l'enregistrer sur d'autres périphériques de stockage. La sauvegarde de vos données sur une image disque présente de nombreux avantages, l'un étant la facilité d'utilisation. Cette méthode est généralement plus rapide que les autres types de sauvegardes, vous permettant de restaurer rapidement les données suite à une catastrophe inattendue. Elle crée l'image d'un disque dur /dev/hda.
     # dd if=/dev/hda of=~/hdadisk.img>
    Pour restaurer à l'aide de l'image du disque dur : Pour restaurer un disque dur avec le fichier image d'un autre disque dur, la commande dd suivante peut être utilisée
     # dd if=hdadisk.img of=/dev/hdb>

    Le fichier image hdadisk.img est l'image d'un /dev/hda, donc la commande ci-dessus restaurera l'image de /dev/hda dans /dev/hdb. Pour créer une sauvegarde sur CDROM : la commande dd permet de créer un fichier iso à partir d'un fichier source. Nous pouvons donc insérer le CD et entrer la commande dd pour créer un fichier iso du contenu d'un CD.

     # dd if=/dev/cdrom of=tgsservice.iso bs=2048>

    La commande dd lit un bloc d'entrée, le traite et l'écrit dans un fichier de sortie. Vous pouvez spécifier la taille du bloc pour le fichier d'entrée et de sortie. Dans l'exemple de commande dd ci-dessus, le paramètre bs spécifie la taille de bloc pour le fichier d'entrée et de sortie. Donc dd utilise 2048 octets comme taille de bloc dans la commande ci-dessus.

Les références :