Scroll to navigation

DD(1) Manuel de l'utilisateur Linux DD(1)

NOM

dd - Convertir et copier un fichier

SYNOPSIS

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

DESCRIPTION

dd copie un fichier (par défaut, depuis l'entrée standard vers la sortie standard) en permettant de sélectionner la taille de bloc, et d'effectuer des conversions.

Il lit son entrée bloc par bloc, en utilisant la taille des blocs d'entrée mentionnée (par défaut 512 octets). Si l'option bs=octets est présente, et si aucune autre conversion que sync, noerror ou notrunc n'est indiquée, il écrit la quantité de données lues (qui peut être plus petite que celle demandée) dans un bloc de sortie indépendant. Ce bloc a exactement la même taille que les données lues, sauf si la conversion sync a été réclamée, auquel cas les données sont complétées avec des octets nuls, ou des espaces (voir plus bas).

Sinon, l'entrée, lue un bloc à la fois, est traitée et les résultats sont regroupés et écrits par blocs de la taille indiquée. La taille finale des blocs de sortie peut être inférieure à celle des blocs d'entrée.

Les options prenant une valeur numérique peuvent être suivies d'un multiplicateur : `k'=1024, `b'=512, `w'=2, `c'=1. « w » et « c » sont des extensions GNU, et « w » ne devrait jamais être utilisé car il signifie 2 sur le System V et 4 sur BSD 4.2). Deux expressions numériques, ou plus, peuvent être multipliées en insérant un « x » entre elles. La version GNU fileutils-4.0 accepte également les multiplicateurs suivants dans les tailles de blocs (bs=, cbs=, ibs=, obs=) : M=1048576, G=1073741824, et ainsi de suite avec T, P, E, Z, et Y. Un suffixe « D' arrondit ces multiplicateurs en décimal : kD=1000, MD=1000000, GD=1000000000, etc. (Notez que pour les commandes ls, df, du, la taille des M, G, etc. est déterminée par l'environnement, mais qu'elle est fixe pour dd).

OPTIONS

Lire les données depuis le fichier indiqué plutôt que depuis l'entrée standard.
Écrire les données dans le fichier mentionné, et non pas sur la sortie standard. Si conv=notrunc n'est pas indiqué, le fichier est initialement tronqué à la taille spécifiée par seek= (0 octet si seek= n'est pas fourni).
Lire le nombre indiqué d'octets en une fois. Par défaut 512.
Écrire le nombre indiqué d'octets en une fois. Par défaut 512.
Lire et écrire le nombre indiqué d'octets en une fois. À priorité sur ibs et obs. (et indiquer bs n'est pas équivalent à indiquer la même valeur pour ibs et obs du moins lorsqu'aucune autre conversion que sync, noerror et notrunc n'est indiquée, car cela indique que chaque bloc d'entrée doit être copié dans un bloc de sortie indépendant, sans regrouper les blocs plus courts).
Indique la taille des blocs pour les conversion block et unblock.
Ignorer le nombre indiqué de blocs (dont la taille est fournie par ibs) au début de la lecture.
Ignorer le nombre indiqué de blocs (dont la taille est fournie par ibs) au début de l'écriture.
Copier seulement le nombre indiqué de blocs (dont la taille est fournie par ibs), et non pas tout jusqu'à la fin du fichier.
Modifier le fichier comme indiqué par l'argument conversion, qui peut prendre les valeurs suivantes (pas d'espace autour des virgules lorsque plusieurs arguments sont fournis) :
Convertir l'EBCDIC en ASCII.
Convertir l'ASCII en EBCDIC.
Convertir l'ASCII en EBCDIC IBM.
Compléter les blocs se terminant par un saut de ligne avec des espaces, jusqu'à atteindre la taille mentionnée par cbs.
Remplacer les espaces en fin de blocs (de taille cbs) par un saut de ligne.
Transformer les majuscules en minuscules.
Transformer les minuscules en majuscules.
Échanger par paire les octets lus en entrée. Contrairement à la commande dd d'Unix, la version GNU fonctionne également lorsqu'on copie un nombre impair d'octets. Dans ce cas, le dernier octet est tout simplement copié. [POSIX.2b, interprétations PASC 1003.2 #3 et #4]
Continuer même après des erreurs de lecture.
Ne pas limiter la taille du fichier de sortie.
Compléter chaque bloc lu avec des octets nuls pour atteindre la taille ibs.

OPTIONS STANDARDS GNU

Afficher un message d'aide sur la sortie standard, et se terminer correctement.
Afficher un numéro de version sur la sortie standard, et se terminer correctement.
--
Fin de la liste d'options.

ENVIRONNEMENT

Les variables LANG, LC_ALL, LC_CTYPE et LC_MESSAGES ont leurs significations habituelles.

CONFORMITÉ

POSIX.2.

EXEMPLE

Souvent, un lecteur de bandes n'accepte pas des blocs de tailles arbitraires, et dd recevra une erreur d'entrée-sortie pour le dernier morceau de données qui ne rentre pas intégralement dans un bloc. Utilisez « dd if=mon_fic of=/dev/ma_bande conv=sync » pour que tout soit écrit sur la bande. Bien sûr, la lecture fournira un fichier légèrement plus grand, avec des octets nuls ajoutés à la fin.

BOGUES

Les commandes du type « dd if=mon_fic of=/dev/fd0 bs=1k seek=172 » échouent sur certains systèmes car dd essaye de tronquer le fichier de sortie, mais cela n'est pas possible sur un périphérique de type bloc. Dans ce cas, utilisez l'option « conv=notrunc ».

NOTES

Cette page documente la version de dd trouvée dans le paquetage fileutils-4.0, d'autres versions peuvent différer légèrement.

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 19 décembre 1996 et révisée le 19 novembre 2007.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 1 dd ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.

Novembre 1998 LDP