Section courante

A propos

Section administrative du site

dd

Description de donnée
Linux Externe

Syntaxe

dd [--help] [--version] [if=file] [of=file] [ibs=bytes] [obs=bytes] [bs=bytes] [cbs=bytes] [skip=blocks] [seek=blocks] [count=blocks] [conv={ascii, ebcdic, ibm, block, unblock, lcase, ucase, swab, noerror, notrunc, sync}]

Paramètres

Nom Description
bs=bytes Ce paramètre permet d'indiquer le nombre d'octets que contient un bloc de données en lecture ou écriture. Ce paramètre est prioritaire sur les paramètres ibs ou obs.
cbs=bytes Ce paramètre permet d'indiquer le nombre d'octets pouvant être convertie en seule fois.
count=blocks Ce paramètre permet d'indiquer le nombre de bloc de données à ignorer.
if=file Ce paramètre permet d'indiquer le fichier utilisé pour l'entrée plutôt que l'entrée standard.
ibs=bytes Ce paramètre permet d'indiquer le nombre d'octets que contient un bloc de données en lecture.
obs=bytes Ce paramètre permet d'indiquer le nombre d'octets que contient un bloc de données en écriture.
of=file Ce paramètre permet d'indiquer le fichier utilisé pour la sortie plutôt que le sortie standard.
seek=blocks Ce paramètre permet d'indiquer le nombre de bloc de données en écriture à ignorer.
skip=blocks Ce paramètre permet d'indiquer le nombre de bloc de données de lecture à ignorer.
--help Ce paramètre permet d'afficher l'aide de cette commande et quitte immédiatement après.
--version Ce paramètre permet d'afficher les informations de version de cette commande et quitte immédiatement après.
conv=conversion[,conversion]... Ce paramètre permet d'indiquer la conversion à utiliser :
Valeur Description
ascii Cette valeur permet d'indiquer qu'il faut effectuer la conversion de l'EBCDIC en ASCII.
ebcdic Cette valeur permet d'indiquer qu'il faut effectuer la conversion de l'ASCII en EBCDIC.
ibm Cette valeur permet d'indiquer qu'il faut effectuer la conversion de l'ASCII en EBCDIC d'IBM.
block Cette valeur permet d'indiquer qu'il faut attendre d'avoir terminer un bloc par un saut de ligne avec des espaces afin d'atteindre la taille spécifié.
unblock Cette valeur permet d'indiquer qu'il faut effectuer un remplacement des caractères d'espaces par des caractères de saut de ligne.
lcase Cette valeur permet d'indiquer qu'il faut effectuer la conversion de majuscules en minuscules.
ucase Cette valeur permet d'indiquer qu'il faut effectuer la conversion de minuscules en majuscules.
swab Cette valeur permet d'indiquer qu'il faut effectuer l'échange des paires d'octets reçu en entrée.
noerror Cette valeur permet d'indiquer qu'il faut poursuivre la lecture même si des erreurs sont rencontrées.
notrunc Cette valeur permet d'indiquer qu'il ne faut pas limiter la taille du fichier en écriture.
sync Cette valeur permet d'indiquer qu'il faut remplir avec des caractères NUL les blocs de taille inférieur à celle spécifié.

Description

Cette commande permet de convertir un fichier tant qu'il se copie.

Code source

Voici des exemples de code source de dd :

Lien Langage de programmation Projet
https://github.com/coreutils/coreutils/blob/master/src/dd.c C coreutils
https://github.com/gladir/corail/blob/master/DD.PAS Turbo Pascal, Free Pascal Corail

Exemples

Voici un exemple typique de l'utilisation de la commande dd :

dd if=source.txt of=dest.txt

Voici un exemple permettant de mettre en majuscule le contenu d'un fichier :

dd if=source.txt of=dest.txt conv=ucase

Dans cet exemple, la commande «dd» copie le contenu de «source.txt» vers «dest.txt». Le «if» signifie «fichier d'entrée» et «of» signifie «fichier de sortie». Il s'agit d'un cas d'utilisation de base de la commande «dd» sous Linux.

Les premiers pas

La commande «dd» sous Linux est un outil robuste pouvant être utilisé pour copier et convertir des fichiers. Dans sa forme la plus simple, la commande «dd» nécessite deux paramètres principaux : «if», le fichier d'entrée, et «of», le fichier de sortie. Voici un exemple de base d'utilisation de la commande «dd» :

dd if=source.txt of=destination.txt

Dans cet exemple, la commande «dd» copie le contenu de «source.txt» vers «destination.txt». Si «destination.txt» n'existe pas, la commande «dd» le créera. S'il existe, il sera écrasé.

La commande «dd» est puissante, mais elle est également risquée. Puisqu'il peut écraser des fichiers sans avertissement, il est crucial de revérifier vos commandes avant de les exécuter.

L'un des avantages de la commande «dd» est sa polyvalence. Il peut être utilisé pour copier et convertir des fichiers, créer des images disque et même effacer des disques. Cependant, ce pouvoir s'accompagne de pièges potentiels. Par exemple, l'utilisation d'un mauvais fichier d'entrée ou de sortie peut entraîner une perte de données. Utilisez toujours la commande «dd» avec prudence et assurez-vous de bien comprendre ce que fera votre commande avant d'appuyer sur Enter.

Explorer les fonctionnalités avancées de la commande DD

À mesure que vous serez plus à l'aise avec l'utilisation de base de la commande «dd», vous pourriez être curieux de connaître ses fonctionnalités plus avancées. La commande «dd» sous Linux est incroyablement flexible, capable de gérer des tâches plus complexes telles que la création d'images disque, la copie de données entre périphériques et la conversion de formats de données.

Avant de plonger dans ces utilisations avancées, familiarisons-nous avec quelques paramètres ou drapeaux de ligne de commande pouvant modifier le comportement de la commande «dd». Voici un tableau de quelques paramètres «dd» couramment utilisés et des exemples :

Paramètre Description Exemple
bs Définit la taille des blocs d'entrée et de sortie à la taille spécifiée. dd if=input_file of=output_file bs=1M
count Copie uniquement un nombre spécifié de blocs d'entrée. dd if=input_file of=output_file count=10
skip Ignore le nombre spécifié de blocs d'entrée avant la copie. dd if=input_file of=output_file skip=10
seek Ignore le nombre spécifié de blocs de sortie avant la copie. dd if=input_file of=output_file seek=10
conv Convertit le fichier selon la liste des symboles séparés par des virgules. dd if=input_file of=output_file conv=ucase
status Contrôle l'affichage des informations d'état. dd if=input_file of=output_file status=progress
iflag Modifie la façon dont le fichier d'entrée est lu. dd if=input_file of=output_file iflag=skip_bytes
oflag Modifie la façon dont le fichier de sortie est écrit. dd if=input_file of=output_file oflag=append
ibs Définit la taille du bloc d'entrée. dd if=input_file of=output_file ibs=512
obs Définit la taille du bloc de sortie. dd if=input_file of=output_file obs=512
noerror Continue après les erreurs de lecture. dd if=input_file of=output_file conv=noerror
notrunc Ne tronquez pas le fichier de sortie. dd if=input_file of=output_file conv=notrunc
sync Remplit chaque bloc d'entrée avec des NUL à la taille ibs. dd if=input_file of=output_file conv=sync

Maintenant que nous avons une compréhension de base des paramètres de ligne de commande «dd», approfondissons l'utilisation avancée de «dd».

Explorer des alternatives à la commande DD sous Linux

Bien que «dd» soit une commande incroyablement puissante, ce n'est pas le seul outil disponible sous Linux pour copier et convertir des fichiers. D'autres commandes telles que «cat», «cp» et «rsync» peuvent également être utilisées pour effectuer des tâches similaires à celles accomplies avec «dd». Examinons de plus près ces alternatives.

La commande CAT

La commande «cat», abréviation de concaténer, peut être utilisée pour afficher le contenu des fichiers, combiner des fichiers et en créer de nouveaux. Voici un exemple de la façon dont vous pouvez utiliser «cat» pour copier un fichier :

cat source.txt > destination.txt

Dans l'exemple ci-dessus, «cat» lit le fichier «source.txt» et l'opérateur «>» redirige la sortie vers «destination.txt». Si «destination.txt» n'existe pas, il est créé. S'il existe, il est écrasé.

La commande CP

La commande «cp» est une méthode simple pour copier des fichiers et des répertoires. Voici comment vous pouvez l'utiliser :

cp source.txt destination.txt

La commande «cp» dans l'exemple ci-dessus copie «source.txt» dans «destination.txt». Comme «cat», si «destination.txt» n'existe pas, il est créé. S'il existe, il est écrasé.

La commande RSYNC

La commande «rsync» est un outil rapide et polyvalent synchronisant les fichiers et répertoires entre deux emplacements. Voici un cas d'utilisation de base :

rsync -a source.txt destination.txt

Dans l'exemple ci-dessus, «rsync» copie «source.txt» vers «destination.txt». Le drapeau «-a» est destiné au mode d'archivage, garantissant que les liens symboliques, les périphériques, les attributs, les autorisations, les propriétés,... sont préservés lors du transfert.

Chacune de ces commandes a ses avantages et ses inconvénients. Bien que «cat» et «cp» soient plus simples à utiliser, ils ne disposent pas des fonctionnalités avancées et de la polyvalence de «dd». D'un autre côté, «rsync» est plus robuste et offre des fonctionnalités telles que le transfert de fichiers incrémentiel et la copie de fichiers à distance, mais il peut être plus complexe à utiliser.

En conclusion, même si «dd» est un outil puissant, il existe plusieurs alternatives, chacune avec ses propres atouts. En fonction de vos besoins spécifiques, «cat», «cp» ou «rsync» peuvent être plus appropriés. Comme toujours, n'oubliez pas d'utiliser ces commandes avec prudence pour éviter toute perte de données.

Dépannage des problèmes courants avec la commande DD

Bien que «dd» soit un outil puissant, comme toute commande, il n'est pas sans problèmes potentiels. Ici, nous explorerons certains problèmes courants que vous pourriez rencontrer lors de l'utilisation de «dd» et proposerons des solutions et des solutions de contournement.

Corruption de données

Un problème courant avec «dd» est la corruption des données. Cela peut se produire si le système tombe en panne ou perd de l'alimentation pendant une opération «dd». Voici un exemple de la façon dont vous pouvez utiliser «dd» pour créer une sauvegarde, pouvant présenter un risque de corruption :

dd if=/dev/sda of=/path/to/backup.img

Dans cet exemple, nous créons une image de sauvegarde du disque «/dev/sda». Si le système tombait en panne lors de cette opération, l'image de sauvegarde pourrait être corrompue.

Pour atténuer ce risque, vous pouvez utiliser l'option «sync» avec «dd», garantissant que toutes les opérations d'entrées/sorties sont terminées avant le retour de la commande :

dd if=/dev/sda of=/path/to/backup.img conv=sync

Performances lentes

Un autre problème courant avec «dd» est la lenteur des performances. Cela peut être dû à divers facteurs, tels que la vitesse du disque, la taille des blocs et la charge du système. Par exemple, l'utilisation d'une petite taille de bloc peut ralentir considérablement les opérations «dd»:

dd if=/dev/sda of=/path/to/backup.img bs=512

Dans cet exemple, la taille du bloc est définie sur 512 octets, ce qui peut entraîner un ralentissement des performances. Pour améliorer les performances, vous pouvez utiliser une taille de bloc plus grande, comme 4 Ko ou même 1 Mo :

dd if=/dev/sda of=/path/to/backup.img bs=1M

En conclusion, même si «dd» est un outil puissant, il est important d'être conscient des problèmes potentiels et de savoir comment les résoudre. Utilisez toujours «dd» avec prudence et assurez-vous de tester vos commandes sur des données non critiques avant de les exécuter sur des fichiers ou des systèmes importants.

Comprendre la commande DD sous Linux : une analyse approfondie

La commande «dd» est un élément essentiel de la boîte à outils de ligne de commande Linux. Il s'agit d'un utilitaire riche en fonctionnalités trouvant ses racines dans les débuts d'Unix et fait partie des distributions Linux depuis le début.

Le nom «dd» est un hommage à IBM JCL (Job Control Language), où «dd» signifie «Data Description». Dans le contexte de la commande «dd», elle est utilisée pour copier et convertir des données brutes.

Comment fonctionne la commande DD ?

La commande «dd» lit les entrées d'un fichier ou d'un périphérique et les écrit dans un autre fichier ou périphérique. L'entrée et la sortie peuvent être tout ce qui ressemble à un fichier. C'est pourquoi «dd» peut être utilisé pour effectuer des tâches telles que la copie de disques.

Voici un exemple simple de copie de données d'un fichier à un autre :

dd if=input.txt of=output.txt

Dans cet exemple, «dd» lit depuis «input.txt» et écrit dans «output.txt». Le «if» et le «of» signifient respectivement «fichier d'entrée» et «fichier de sortie».

Le rôle des systèmes de fichiers et des formats de données

L'une des raisons pour lesquelles «dd» est si polyvalent est qu'il fonctionne à un niveau bas, traitant directement des données brutes. Cela signifie qu'il ne se soucie pas des systèmes de fichiers ou des formats de données. Que vous copiez un fichier texte, une image ou un disque complet, «dd» les traite tous comme des données brutes.

C'est pourquoi «dd» peut être utilisé pour créer des images disque. Voici un exemple 

dd if=/dev/sda of=/path/to/backup.img

Dans cet exemple, «dd» lit les données directement à partir du disque «/dev/sda» et les écrit dans un fichier. Cela crée une image complète du disque, comprenant le secteur de démarrage, la table de partition et tous les systèmes de fichiers.

En conclusion, la commande «dd» est un outil puissant et flexible qui fonctionne à bas niveau, lui permettant de fonctionner avec un large éventail de types de données, de systèmes de fichiers et de périphériques. Sa polyvalence et sa puissance en ont fait un pilier de la boîte à outils de ligne de commande Linux.

La pertinence de la commande DD au-delà de la copie de fichiers

La commande «dd» sous Linux n'est pas seulement un outil de copie et de conversion de fichiers. Sa puissance et sa flexibilité en font un atout précieux dans des domaines tels que l'administration système et la récupération de données.

Commande DD dans l'administration système

Dans l'administration système, la commande «dd» peut être utilisée pour des tâches telles que la sauvegarde et la restauration de disques ou de partitions entières. Voici un exemple de création d'une image de sauvegarde d'un disque :

dd if=/dev/sda of=/path/to/backup.img bs=4M

Dans cet exemple, «dd» lit les données directement à partir du disque «/dev/sda» et les écrit dans un fichier. Cela crée une image complète du disque, pouvant être restaurée ultérieurement si nécessaire.

Commande DD dans la récupération de données

La commande «dd» peut également être utilisée pour la récupération de données. Par exemple, si un disque contient des secteurs défectueux, «dd» peut être utilisé pour créer une image du disque, en ignorant les secteurs défectueux. Cette image peut ensuite être montée et les fichiers peuvent en être récupérés. Voici un exemple :

dd if=/dev/sda of=/path/to/backup.img conv=noerror,sync bs=4M

Dans cet exemple, l'option «conv=noerror,sync» indique à «dd» de continuer l'opération après des erreurs de lecture et de compléter le bloc de sortie avec des NUL s'il y a des erreurs de lecture.



Dernière mise à jour : Samedi, le 14 novembre 2015