Diferencia entre revisiones de «Comando dd»

Línea 23: Línea 23:
 
|web=
 
|web=
 
}}
 
}}
 +
<div align="justify">
 
'''Dd (duplicate disk)'''. Es un comando que se utiliza para transferir datos desde un dispositivo/archivo hacia un [[dispositivo]]/[[archivo]].
 
'''Dd (duplicate disk)'''. Es un comando que se utiliza para transferir datos desde un dispositivo/archivo hacia un [[dispositivo]]/[[archivo]].
  
 
== Sinopsis ==
 
== Sinopsis ==
      dd  [--help]  [--version]  [if=fichero]  [of=fichero]  [ibs=bytes]
+
dd  [--help]  [--version]  [if=fichero]  [of=fichero]  [ibs=bytes]
      [obs=bytes]  [bs=bytes]  [cbs=bytes]  [skip=bloques]  [seek=bloques]
+
[obs=bytes]  [bs=bytes]  [cbs=bytes]  [skip=bloques]  [seek=bloques]
      [count=bloques]  [conv={ascii,  ebcdic,  ibm,  block,  unblock,  lcase,
+
[count=bloques]  [conv={ascii,  ebcdic,  ibm,  block,  unblock,  lcase,
      ucase, swab, noerror, notrunc, sync}]
+
ucase, swab, noerror, notrunc, sync}]
 
==Descripción==
 
==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.
 
'''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).
 
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.
 
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, eltamaño de M, etc., viene determinado por  variables  de  entorno,  pero para dd es fijo.)
 
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, eltamaño de M, etc., viene determinado por  variables  de  entorno,  pero para dd es fijo.)
 
==Opciones==
 
==Opciones==
      '''if'''=fichero
+
'''if'''=fichero
 
Lee desde fichero en vez de desde la entrada estándar.
 
Lee desde fichero en vez de desde la entrada estándar.
  
      '''of'''=fichero
+
'''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  altamaño especificado con seek=).
 
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  altamaño especificado con seek=).
  
      '''ibs'''=bytes
+
'''ibs'''=bytes
 
Lee bytes bytes de una vez. El valor predeterminado es 512.
 
Lee bytes bytes de una vez. El valor predeterminado es 512.
  
      '''obs'''=bytes
+
'''obs'''=bytes
 
Escribe bytes bytes de una vez. El valor predeterminado es 512.
 
Escribe bytes bytes de una vez. El valor predeterminado es 512.
  
      '''bs'''=bytes
+
'''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.)
 
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
+
'''cbs'''=bytes
 
Especifica el tamaño  de  bloque  de  conversión  para  block  y unblock.
 
Especifica el tamaño  de  bloque  de  conversión  para  block  y unblock.
  
      '''skip'''=bloques
+
'''skip'''=bloques
 
Se  salta bloques bloques de tamaño en bytes determinado por ibs del fichero de entrada antes de la copia.
 
Se  salta bloques bloques de tamaño en bytes determinado por ibs del fichero de entrada antes de la copia.
      '''seek'''=bloques
+
'''seek'''=bloques
 
Se salta bloques bloques de tamaño en bytes determinado por  obs en el fichero de salida antes de la copia.
 
Se salta bloques bloques de tamaño en bytes determinado por  obs en el fichero de salida antes de la copia.
  
      '''count'''=bloques
+
'''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.
 
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]...
+
'''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.)
 
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==
 
==Conversiones==
  
              '''ascii'''  Convierte EBCDIC a ASCII.
+
'''ascii'''  Convierte EBCDIC a ASCII.
  
              '''ebcdic''' Convierte ASCII a EBCDIC.
+
'''ebcdic''' Convierte ASCII a EBCDIC.
  
              '''ibm'''    Convierte ASCII a un EBCDIC alternativo.
+
'''ibm'''    Convierte ASCII a un EBCDIC alternativo.
  
              '''block'''  Para cada línea de la  entrada, saca cbs bytes, reemplazando el
+
'''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.
              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  
+
'''unblock''' Reemplaza espacios del final en cada bloque de entrada de tamaño             determinado por cbs por un salto de línea.
              determinado por cbs por un salto de línea.
 
  
              '''lcase'''  Cambia las letras mayúsculas a minúsculas.
+
'''lcase'''  Cambia las letras mayúsculas a minúsculas.
  
              '''ucase'''  Cambia las letras minúsculas a mayú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
+
'''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]
               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.
+
'''noerror''' Continúa después de producirse errores de lectura.
  
              '''notrunc''' No trunca el fichero de salida.
+
'''notrunc''' No trunca el fichero de salida.
  
              '''sync'''  Rellena cada bloque de entrada hasta el tamaño determinado por
+
'''sync'''  Rellena cada bloque de entrada hasta el tamaño determinado por ibs con bytes cero al final.
              ibs con bytes cero al final.
 
 
==Opciones Estánadres de GNU==
 
==Opciones Estánadres de GNU==
      '''--help''' Muestra un mensaje en la salida estándar sobre el modo de empleo y acaba
+
'''--help''' Muestra un mensaje en la salida estándar sobre el modo de empleo y acaba       con código de éxito.
      con código de éxito.
 
  
      '''--version''' Muestra en la salida estándar información  sobre  la  versión  y  
+
'''--version''' Muestra en la salida estándar información  sobre  la  versión  y luego acaba con código de éxito.
      luego acaba con código de éxito.
 
  
      '''--'''    Termina la lista de opciones.
+
'''--'''    Termina la lista de opciones.
 
==Ejemplo==
 
==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.
 
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.
 
                                    
 
                                    
 
==Fuentes==
 
==Fuentes==
Autor: Autor: Jason Gunthorpe
 
 
==Enlaces Externos==
 
 
*http://www.linuxtotal.com
 
*http://www.linuxtotal.com
 
*http://www.linuxtotal.com.mx/index.php?cont=info_admon_002
 
*http://www.linuxtotal.com.mx/index.php?cont=info_admon_002

Revisión del 07:54 13 oct 2011

dd
Información sobre la plantilla
Uptime.png
Sistemas Operativos compatiblesUnix
LicenciaGNU

Dd (duplicate disk). Es un comando que se utiliza para transferir datos desde un dispositivo/archivo hacia un dispositivo/archivo.

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, eltamañ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 altamañ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ánadres 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.

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.

Fuentes