"dd" est un outil CLI de Linux. Maintenant, la version actuelle de "dd" fait partie des coreutils GNU, c'est celle que chaque système UNIX/Linux présente. L'objectif principal de cet outil est de convertir et de copier des fichiers. Cependant, c'est assez différent des autres outils de copie de fichiers comme "cp".
fonctionnalités dd « dd » peut être utilisé à diverses fins :
En utilisant "dd", il est possible de lire et/ou d'écrire directement depuis/vers différents fichiers à condition que la fonction soit déjà implémentée dans les pilotes respectés. C'est super utile à des fins telles que la sauvegarde du secteur de démarrage, l'obtention de données aléatoires, etc. Conversion de données, par exemple, conversion de codage ASCII en EBCDIC. utilisation jj Voici quelques-unes des utilisations les plus courantes et les plus intéressantes de « dd ». Bien sûr, "dd" est beaucoup plus capable que ces choses. Si vous êtes intéressé, je vous recommande toujours de consulter d'autres ressources approfondies sur "dd".
Emplacement
quel jj
Comme l'indique la sortie, chaque fois que vous exécutez "dd", il se lance à partir de "/usr/bin/dd".
Utilisation de base Voici la structure que "dd" suit.
jj si=
de= Par exemple, créons un fichier avec des données aléatoires. Il existe des fichiers spéciaux intégrés dans Linux qui apparaissent comme des fichiers normaux comme "/dev/zero" qui produit un flux continu de NULL, "/dev/random" qui produit des données aléatoires continues.
dd if=/dev/urandom of=~/Desktop/random.txt bs=1M compte=5
Les toutes premières options sont explicites. Cela signifie utiliser "/dev/urandom" comme source de données et "~/Desktop/random.txt" comme destination. Quelles sont les autres options?
Ici, "bs" signifie "taille de bloc". Lorsque dd écrit des données, il écrit en blocs. En utilisant cette option, la taille du bloc peut être définie. Dans ce cas, la valeur "1M" indique que la taille du bloc est de 1 mégaoctet.
"count" décide du nombre de blocs à écrire. S'il n'est pas corrigé, « dd » continuera le processus d'écriture à moins que le flux d'entrée ne se termine. Dans ce cas, "/dev/urandom" continuera à générer des données à l'infini, cette option était donc primordiale dans cet exemple.
Sauvegarde de données En utilisant cette méthode, "dd" peut être utilisé pour vider les données d'un lecteur entier! Tout ce dont vous avez besoin est d'indiquer le lecteur comme source.
jj si= de=
Si vous optez pour de telles actions, assurez-vous que votre source n'est pas un répertoire. "dd" n'a aucune idée de comment traiter un répertoire, donc les choses ne fonctionneront pas.
"dd" ne sait travailler qu'avec des fichiers. Donc, si vous avez besoin de sauvegarder un répertoire, utilisez d'abord tar pour l'archiver, puis utilisez "dd" pour le transférer sur un fichier.
démo cvJf tar.le goudron.xz Rép Démo/
dd if=démo.le goudron.xz of=~/Bureau/sauvegarde.img
Dans l'exemple suivant, nous effectuerons une opération très sensible : la sauvegarde du MBR! Maintenant, si votre système utilise MBR (Master Boot Record), alors il se situe dans les 512 premiers octets du disque système : 466 octets pour le bootloader, d'autres pour la table de partition.
Exécutez cette commande pour sauvegarder l'enregistrement MBR.
dd if=/dev/sda of=~/Desktop/mbr.img bs=512 compte=1
Restauration des données Pour toute sauvegarde, le mode de restauration des données est nécessaire. Dans le cas de "dd", le processus de restauration est un peu différent de tout autre outil. Vous devez réécrire le fichier de sauvegarde sur un dossier/partition/périphérique similaire.
Par exemple, j'ai cette "sauvegarde.img" contenant le fichier "demo.le goudron.xz" fichier. Pour l'extraire, j'ai utilisé la commande suivante.
dd si=sauvegarde.img de=démo.le goudron.xz
Encore une fois, assurez-vous que vous écrivez la sortie dans un fichier. "dd" n'est pas bon avec les répertoires, rappelez-vous?
De même, si "dd" a été utilisé pour créer une sauvegarde d'une partition, sa restauration nécessiterait la commande suivante.
jj si= de=
Par exemple, que diriez-vous de restaurer le MBR que nous avons sauvegardé plus tôt?
jj si=mbr.img de=/dev/sda
options "jj" À un moment donné dans ce guide, vous avez été confronté à des options « dd » comme « bs » et « compter », à droite? Eh bien, il y en a plus. Voici une liste de ce qu'ils sont et comment les utiliser.
obs : détermine la taille des données à écrire à la fois. La valeur par défaut est de 512 octets.
cbs : détermine la taille des données à convertir à la fois.
ibs : détermine la taille des données à lire à la fois. count : copier uniquement N blocs
chercher : sauter N blocs au début de la sortie
skip : ignore N blocs au début de l'entrée
conv=ascii : convertit le fichier d'entrée d'EBCDIC en ASCII
conv=ebcdic : convertit le fichier d'entrée ASCII en EBCDIC
conv=ibm : convertit le fichier d'entrée ASCII en EBCDIC alternatif
conv=lcase : convertit le fichier d'entrée de majuscule en minuscule
conv=ucase : convertit l'entrée du fichier de minuscules en majuscules
conv=swab : échanger chaque paire d'entrées
Options additionelles:
nocreat : ne crée pas le fichier de sortie notruc : ne pas tronquer le fichier de sortie noerror : Continuez l'opération, même après avoir rencontré une erreur fdatasync : écrivez des données sur le stockage physique avant la fin du processus fsync : similaire à fdatasync, mais écrit également les métadonnées iflag : ajustez l'opération en fonction de divers drapeaux. Les indicateurs disponibles incluent : ajouter à Ajouter des données à la sortie
Options additionelles:
répertoire : faire face à un répertoire échouera l'opération dsync : E/S synchronisées pour les données sync : similaire à dsync mais inclut des métadonnées nocache : demandes de suppression du cache. nofollow : ne suivez aucun lien symbolique
Options additionelles:
count_bytes : similaire à « count=N » seek_bytes : similaire à « seek=N » skip_bytes : similaire à « skip=N » Comme vous l'avez vu, il est possible d'empiler plusieurs indicateurs et options dans une seule commande « dd » pour modifier le comportement de l'opération.
dd if=démo.txt de=demo1.txt bs=10 count=100 conv=ebcdic iflag=append,nocache,nofollow,sync
Dernières pensées Le flux de travail de « dd » est assez simple. Cependant, pour que "dd" brille vraiment, c'est à vous de décider. Il existe de nombreuses façons créatives d'utiliser « dd » pour effectuer des interactions intelligentes.
Pour des informations détaillées sur "dd" et toutes ses options, consultez la page man et info.
homme jj