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

if=fichier
    Lire les données depuis le fichier indiqué plutôt que depuis l'entrée standard.

of=fichier
    É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).

ibs=nombre
    Lire le nombre indiqué d'octets en une fois. Par défaut 512.

obs=nombre
    Écrire le nombre indiqué d'octets en une fois. Par défaut 512.

bs=nombre
    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).

cbs=nombre
    Indique la taille des blocs pour les conversion block et unblock.

skip=nombre
    Ignorer le nombre indiqué de blocs (dont la taille est fournie par ibs) au début de la lecture.

seek=nombre
    Ignorer le nombre indiqué de blocs (dont la taille est fournie par ibs) au début de l'écriture.

count=nombre
    Copier seulement le nombre indiqué de blocs (dont la taille est fournie par ibs), et non pas tout jusqu'à la fin du fichier.

conv=conversion[,conversion]...
    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) :

    ascii
        Convertir l'EBCDIC en ASCII.

    ebcdic
        Convertir l'ASCII en EBCDIC.

    ibm Convertir l'ASCII en EBCDIC IBM.

    block
        Compléter les blocs se terminant par un saut de ligne avec des espaces, jusqu'à atteindre la taille mentionnée par cbs.

    unblock
        Remplacer les espaces en fin de blocs (de taille cbs) par un saut de ligne.

    lcase
        Transformer les majuscules en minuscules.

    ucase
        Transformer les minuscules en majuscules.

    swab
        É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]

    noerror
        Continuer même après des erreurs de lecture.

    notrunc
        Ne pas limiter la taille du fichier de sortie.

    sync
        Compléter chaque bloc lu avec des octets nuls pour atteindre la taille ibs.

OPTIONS STANDARDS GNU

--help
    Afficher un message d'aide sur la sortie standard, et se terminer correctement.

--version
    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.