DD(1)

NOMBRE
dd - convierte y copia un fichero

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

DESCRIPCIÓN
dd copia un fichero (de la entrada estándar a la salida estándar, por omisión) con un tamaño de bloque seleccionable por el usuario, a la par que, opcionalmente, realiza sobre él ciertas conversiones.

Lee de la entrada un bloque cada vez, empleando el tamaño de bloque especificado para la entrada (el valor predeterminado es 512 bytes). Si la opción bs=bytes se dio, y no se especificó una conversión aparte de sync, noerror, o notrunc, escribe la cantidad de datos leídos (que podría ser menor de la pedida) en un bloque de salida separado. Este bloque de salida tiene precisamente la misma longitud que cuando se leyó a menos que se haya especificado la conversión sync, en cuyo caso los datos se rellenan con NULos (o espacios, vea más abajo).

De otro modo, la entrada, leída un bloque cada vez, se procesa y la salida resultante se recoge y se escribe en bloques del tamaño especificado para el bloque de salida. El bloque de salida final puede ser más corto.

Las opciones de más abajo con valores numéricos (bytes y bloques) pueden ir seguidas por un factor multiplicador: `k'=1024, `b'=512, `w'=2, `c'=1 (`w' y `c' son extensiones de GNU; `w' nunca debería utilizarse: significa 2 en System V y 4 en 4.2BSD). Dos o más de tales expresiones numéricas pueden multiplicarse poniendo una `x' (equis minúscula) entre ellas. La versión fileutils-4.0 de GNU también permite los siguientes sufijos multiplicativos al especificar tamaños de bloque (en bs=, cbs=, ibs=, obs=): M=1048576, G=1073741824, y así para T, P, E, Z, Y. Un sufijo `D' los convierte en decimal: kD=1000, MD=1000000, GD=1000000000, etc. (Dese cuenta que para ls, df, du, el tamaño de M, etc., viene determinado por variables de entorno, pero para dd es fijo.)

OPCIONES

if=fichero
    Lee desde fichero en vez de desde la entrada estándar.

of=fichero
    Escribe a fichero en vez de en la salida estándar. A menos que se haya dado conv=notrunc, dd trunca fichero a cero bytes (o al tamaño especificado con seek=).

ibs=bytes
    Lee bytes bytes de una vez. El valor predeterminado es 512.

obs=bytes
    Escribe bytes bytes de una vez. El valor predeterminado es 512.

bs=bytes
    Lee y escribe bytes bytes de una vez. Esto sustituye a ibs y a obs. (Y poner bs no es equivalente a poner ibs y obs a su mismo valor, al menos si no se ha especificado una conversión aparte de sync, noerror y notrunc, puesto que estipula que cada bloque de entrada será copiado en la salida como un solo bloque sin agregar bloques cortos.)

cbs=bytes
    Especifica el tamaño de bloque de conversión para block y unblock.

skip=bloques
    Se salta bloques bloques de tamaño en bytes determinado por ibs del fichero de entrada antes de la copia.

seek=bloques
    Se salta bloques bloques de tamaño en bytes determinado por obs en el fichero de salida antes de la copia.

count=bloques
    Copia bloques bloques de tamaño en bytes determinado por ibs del fichero de entrada, en vez de todo hasta el final del fichero.

conv=CONVERSIÓN[,CONVERSIÓN]...
    Convierte el fichero según se haya especificado en el o los argumentos CONVERSIÓN. (No se permite ningún espacio al lado de ninguna coma.)

    Conversiones:

    ascii
        Convierte EBCDIC a ASCII.

    ebcdic
        Convierte ASCII a EBCDIC.

    ibm Convierte ASCII a un EBCDIC alternativo.

    block
        Para cada línea de la entrada, saca cbs bytes, reemplazando el salto de línea de la entrada con un espacio y rellenando con más espacios si fuera menester.

    unblock
        Reemplaza espacios del final en cada bloque de entrada de tamaño determinado por cbs por un salto de línea.

    lcase
        Cambia las letras mayúsculas a minúsculas.

    ucase
        Cambia las letras minúsculas a mayúsculas.

    swab
        Intercambia cada par de bytes de la entrada. Si se lee un número impar de bytes el último byte se copia tal cual (ya que no tiene con quién intercambiarse). [POSIX 1003.2b, PASC interpretaciones 1003.2 nª 3 y nº 4]

    noerror
        Continúa después de producirse errores de lectura.

    notrunc
        No trunca el fichero de salida.

    sync
        Rellena cada bloque de entrada hasta el tamaño determinado por ibs con bytes cero al final.

OPCIONES ESTÁNDARES DE GNU

--help
    Muestra un mensaje en la salida estándar sobre el modo de empleo y acaba con código de éxito.

--version
    Muestra en la salida estándar información sobre la versión y luego acaba con código de éxito.

--  Termina la lista de opciones.

ENTORNO
Las variables LANG, LC_ALL, LC_CTYPE y LC_MESSAGES tienen los significados usuales.

CONFORME A
POSIX 1003.2

EJEMPLO
A menudo, una unidad de cinta no aceptará bloques de tamaño arbitrario y dd obtendrá un error de E/S en el último fragmento de datos que no ocupe un bloque entero. Use `dd if=mifichero of=/dev/miunidaddecinta conv=sync' para asegurarse de que todo se ha grabado en la cinta. Naturalmente, leerla de nuevo producirá ahora un fichero ligeramente más grande, con caracteres nulos añadidos al final.

OBSERVACIONES
Esta página describe dd según se encuentra en el paquete fileutils-4.0; otras versiones pueden diferir un poco. Envíe por correo electrónico correcciones y adiciones a la dirección aeb@cwi.nl. Informe de fallos en el programa a fileutils-bugs@gnu.ai.mit.edu.