Gestion de disque

Commande Linux dd

Commande Linux dd
"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 :

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
Comment installer et jouer à Doom sur Linux
Introduction à Doom La série Doom est née dans les années 90 après la sortie du Doom original. Ce fut un succès instantané et à partir de ce moment-là...
Vulkan pour les utilisateurs Linux
Avec chaque nouvelle génération de cartes graphiques, nous voyons les développeurs de jeux repousser les limites de la fidélité graphique et se rappro...
OpenTTD contre Simutrans
Créer votre propre simulation de transport peut être amusant, relaxant et extrêmement attrayant. C'est pourquoi vous devez vous assurer que vous essay...