la commande dd signifie « data duplicator” et est utilisée pour copier et convertir des données. Il est très puissant utilitaire de bas niveau de Linux qui peut faire beaucoup plus comme;
• sauvegarde et restauration de l’ensemble du disque dur ou de la partition.
• sauvegarde DE MBR(Master Boot Record)
• Il peut copier et convertir le format de bande magnétique, convertir entre les formats ASCII et EBCDIC, échanger des octets et peut également convertir des minuscules en majuscules.
* Il peut également être utilisé par le noyau Linux faire des fichiers pour faire des images de démarrage.,
seul le superutilisateur peut exécuter cette commande car vous pouvez faire face à une perte de données importante en raison de son utilisation incorrecte, vous devez donc être très prudent lorsque vous travaillez avec cet utilitaire. À ce moment-là, la perte de données peut convertir l’utilitaire dd en « destructeur de données” pour vous. C’est pourquoi il est recommandé aux débutants de ne pas utiliser cette commande sur une machine de production jusqu’à ce qu’ils se familiarisent à ce sujet. Vous devez vous assurer que l’emplacement cible doit avoir suffisamment d’espace lors de l’exécution de cette commande.
syntaxe de la commande dd
avant de commencer par un travail pratique, nous devons parler de sa syntaxe.,
dd if=<source file name> of=<target file name>
Nous n’expliquons normalement pas la syntaxe mais cette syntaxe de commande nécessite une explication. La syntaxe est totalement différente par rapport à de nombreuses commandes Linux que nous connaissons. Dans cette syntaxe dd est suivi par deux choses
si=<source> –C’est une source à partir de laquelle vous souhaitez copier les données et les » si » signifie entrée-fichier.
de=<destination> –C’est une source d’où vous voulez écrire/coller des données et des stands pour le fichier de sortie.,
– ces options incluent, à quelle vitesse les données doivent être écrites, quel format, etc.
L’Entrée(nom du fichier source) et la sortie(Nom du fichier cible) dans la syntaxe sont des disques, des partitions, des fichiers et des périphériques sur lesquels vous souhaitez écrire et lire des données. Il existe de nombreuses options dont nous discuterons dans des exemples.
apprendre la commande Linux DD avec des exemples
exemple 1: cloner un disque dur sur un autre disque dur. Ceci est utile lorsque nous construisons de nombreuses machines avec la même configuration. Nous n’avons pas besoin d’installer OS sur toutes les machines., Installez simplement le système d’exploitation et le logiciel requis sur la machine, puis clonez avec l’exemple ci-dessous.
dd if=/dev/sda of=/dev/sdb
exemple 2: nous pouvons effectuer une sauvegarde d’une partition / disque dur complet pour une restauration future.
sauvegarde d’une partition dans un fichier(dans mon répertoire personnel en tant que hdadisk.img)
dd if =/dev/sda2 of=~/hdadisk.img
la Restauration de ce fichier image à une autre machine
dd if=hdadisk.img of=/dev/sdb3
Exemple 3: vous sentez-vous hdadisk.img est un peu gros? Utilisez gzip ou bzip2 pour compresser lors de la création d’image.
dd if =/dev/sda2 | bzip2 hdadisk.img.bz2
exemple 4: savez-vous que la commande dd peut également être utilisée comme copieur de fichier?, Oui, si vous n’avez pas de commande cp, utilisez la commande dd pour copier un fichier d’un emplacement à un autre.
dd if=/home/imran/abc.txt of=/mnt/abc.txt
Ok, c’est très bien pour une utilisation de base de la commande dd. Mais la beauté de la commande dd réside dans les utilisations avancées comme l’essuyage des disques, l’essuyage complet des disques, les sauvegardes MBR, etc.
utilisation avancée de la commande Linux DD
à partir de là, vous devez être prudent lorsque vous utilisez cette commande et vous devez d’abord essayer ces commandes sur une machine de test avant de vous familiariser.
Exemple 5: Effacer/supprimer le contenu d’un disque de sorte qu’il sera vide pour quelque usage.,
dd if=/dev/zero of=/dev/sdb
cela effacera votre deuxième disque dur et chaque bit est écrit avec zéro. vous pourriez être intéressé par l’apprentissage des fichiers/dev /null et/dev / zero qui font des choses similaires, mais il y a un peu de différence.
Comment l’écriture d’un fichier sur disque dur avec des données se produire?
normalement, quoi que vous écriviez sur un disque au niveau du bloc, il écrira une combinaison de zéros et de uns. J’espère que vous le savez et ce que nous faisons ici, c’est que nous écrivons simplement des zéros qui effaceront tous les 1 du disque dur. Cela rend finalement votre disque vide.,
exemple 6: Que cacher votre cul en supprimant vos données personnelles. Beaucoup de gens pensent que si nous n’rm-rf /<vos données> va faire le nécessaire. Mais nous pouvons récupérer ces suppressions en utilisant des outils de récupération de disque comme Photorec ou certains outils médico-légaux. Mais si vous voulez que certains ne récupèrent pas vos données, vous devez écrire des données aléatoires sur votre partition où vos données résident.
dd if=/dev/random of=/dev/sdb
faites la commande ci-dessus plusieurs fois afin qu’il soit vraiment difficile de récupérer des données. Si je suis à votre place, j’écrirai ci-dessous le script shell pour le faire.,
for i in {1..10};do dd if=/dev/random of=/dev/sdb;done
execute la commande dd 10 fois de suite, l’un après l’autre.
exemple 7: Nous pouvons créer un système de fichiers virtuel avec la commande dd qui peut être utilisée comme swap. Pour en savoir plus, vous devez savoir comment créer un espace d’échange virtuel sous Linux.
dd if=/dev/zero of=/swapfile bs=1024 count=200000
où bs signifie block size et count n’est rien d’autre que le nombre de ces blocs utilisés pour créer ce fichier d’échange.
assurez-vous d’utiliser des tailles de blocs en multiples de 1024 octets, ce qui équivaut à 1 Ko., Si vous ne spécifiez pas de taille de bloc, DD utilisez une taille de bloc par défaut de 512 octets. Les conventions ci-dessous fonctionneront pour les tailles de blocs.
N et octets peuvent être suivis des suffixes multiplicatifs suivants: c =1, w =2, b =512,
kB =1000, K =1024,
Mb =1000*1000, MB=1024*1024,
Gb =1000*1000*1000, GB =1024*1024*1024,
and so on for T, P, E, Z, Y.
exemple 8: nous pouvons même créer des fichiers ISO à partir d’un CD-ROM ou d’un DVD-ROM en utilisant la commande dd.,
dd if=/dev/dvd of=/opt/my_linux_image.iso
ou avec plus
dd if=/dev/sr0 of=/home/$user/mycd_image.iso bs=2048 conv=sync
quelques autres exemples:
dd if=/dev/sda1 of=/dev/sdb1 bs=4096 conv=noerror,sync
cela fera le clone d’une partition sda1 à une autre partition sdb1, également utilisé l’option de synchronisation pour synchroniser la partition
dd if=/dev/sdx of=/dev/sdy bs=64k conv=noerror,sync
cela clone le lecteur entier, y compris le MBR, toutes les partitions et les données où noerrr demande à DD d’Ignorer toutes les erreurs de lecture tout en continuant les opérations. Les décalages de données snyc restent synchronisés et BS = définit la taille du bloc qui est définie sur 64k.,
exemple 9: nous pouvons même vérifier le quota de disque en utilisant la commande dd en créant d’énormes fichiers qui mangent le disque dur en un rien de temps.
dd if=/dev/zero of=/usr/disk-img/disk-quota.ext3 count=40960
cela créera un fichier de 20 Mo (image disque) sur ledit chemin.
exemple 10: nous pouvons même créer des USB amorçables en utilisant la commande dd.
dd if=/home/user user/bootimage.img of= / dev/sdc
cela créera un lecteur USB capable de démarrer où/dev / sdc est un lecteur USB.
exemple 11: récupération de données à l’aide de la commande ddrescue.
l’outil ddrescue est utilisé pour le clonage et la récupération de données. ce n’est pas installé par défaut dans de nombreuses machines Linux., Vous trouverez ci-dessous les commandes à installer pour les distributions respectives.
installation de ddrescue dans les machines basées sur Debian
apt-get install gddrescue
installation de ddrescue dans les machines basées sur Redhat
yum install gddrescue
Il peut copier des données d’un fichier/bloc périphérique(disque dur ou CD-ROM) à un autre tout en essayant de sauver les données. Pour récupérer les données, la commande ddrescue doit s’exécuter en deux étapes suivies de l’exécution de la commande fsck.
Étape 1: Il copie chaque bloc sans erreurs de lecture et en enregistrant ces erreurs dans le fichier journal.,
Étape 2: il ne copiera que le mauvais bloc et essaiera de lire 3 fois à la source avant d’abandonner. Que vous pouvez exécuter la commande pour vérifier le système de fichiers pour la corruption.
Étape 3: Exécution de la commande fsck.
ddrescue –f –n /dev/sdX /dev/sdY rescue.log ddrescue –d –f –r3 /dev/sdX /dev/sdY rescue.log fsck –f /dev/sdY
exemple 12: Computer forensics using dcfldd
dcfldd est la version améliorée de dd ayant des fonctionnalités utiles utilisées pour la criminalistique informatique et la sécurité ainsi. Il prend les paramètres de dd. Vous pouvez utiliser la commande dcfldd lorsque vous devez savoir qu’une copie et les copies suivantes sont identiques à l’original., dcfldd a quelques fonctionnalités supplémentaires comme:
- Hachage à la volée
- sortie de l’État
- Image/essuyer vérifier
- Split output
- de hachage
Encore une fois, Nous devons installer cette commande en tant que bien, si ce n’est pas présente.
installation de dcfldd dans les machines basées sur Debian
apt-get install dcfldd
installation de dcfldd dans les machines basées sur Redhat
yum install dcfldd
exemple
la commande ci-dessus Lira un Go du lecteur source et écrira dans un fichier appelé image.dd.aa., il calculera également le hachage MD5 et le sha512 de chaque Gigbyte lu.
- Bio
- derniers articles
Latest posts by Imran Ashraf (see all)
- 12 Linux dd command examples – March 8, 2016