¿Qué son los bloques de entrada 'dd'? [cerrado]

0

Estoy buscando una explicación semi-técnica de "bloques de entrada". Cuando creando contenedores encriptados usamos dd con "count = n", pero no estoy seguro de la diferencia entre "count = 0" y "count = 1". La página de manual de dd simplemente dice:

   count=N
          copy only N input blocks

¿Qué son los bloques de entrada?

    
pregunta user184947 24.08.2018 - 02:41
fuente

1 respuesta

2

El tamaño de bloque que dd procesará count de está determinado por el argumento bs ( ibs , obs ) para dd :

bs=BYTES
      read and write up to BYTES bytes at a time (default: 512);
      overrides ibs and obs

Eso está de acuerdo con esta nueva la página de manual ; Cuando supe que en SunOS 4 estaba más claro que "bs" estaba para "tamaño de bloque":

bs=n
   Sets both input and output block sizes to n bytes, superseding ibs= and obs=. If 
   no conversion other than sync,noerror , and notrunc is specified, each input 
   block is copied to the output as a single block without aggregating short blocks.

Y como puede ver en esta respuesta las primeras versiones de Unix utilizaban un "bloque" de 512 bytes, o unidad de asignación, en los sistemas de archivos. ¡Es por eso que el valor predeterminado actual para dd bs sigue siendo 512 bytes!

También puede especificar otras unidades de tamaño; por ejemplo, bs=5M para tener un tamaño de bloque de 5 Megabytes:

N and BYTES may be followed by the following multiplicative suffixes:
c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024,
xM =M, GB =1000*1000*1000, G =1024*1024*1024, and so on for T, P, E,
Z, Y.

En tu caso, no importa a qué bs esté configurado, si eliges count=0 ¡no escribirás nada! Si deja bs sin establecer y elige count=1 , escribirá 512 bytes.

Este estricto control sobre el "tamaño de bloque" tiene mucho más sentido cuando se trata de cintas u otros dispositivos secuenciales limitados. Si escribe 128k bloques de datos en una unidad de cinta con un tamaño de bloque de 64k, ¡acaba de perder la mitad de sus datos! Escribir en un archivo (sistema), a diferencia de un dispositivo real, es mucho más indulgente sobre la asignación de espacio para lo que quieras darle.

    
respondido por el gowenfawr 24.08.2018 - 02:54
fuente

Lea otras preguntas en las etiquetas