Cosa sono i blocchi di input 'dd'? [chiuso]

0

Sto cercando una spiegazione semi-tecnica di "blocchi di input". Quando crea contenitori crittografati usiamo dd con "count = n", ma non sono sicuro della differenza tra "count = 0" e "count = 1". La manpage dd riporta semplicemente:

   count=N
          copy only N input blocks

Che cosa sono i blocchi di input?

    
posta user184947 24.08.2018 - 02:41
fonte

1 risposta

2

La dimensione del blocco che dd elaborerà count di è determinata dall'argomento bs ( ibs , obs ) a dd :

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

Questo è per questa nuova pagina man ; quando ho imparato su SunOS 4 era più chiaro che "bs" era per "dimensione del blocco":

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.

Come puoi vedere in questa risposta le prime versioni di Unix utilizzavano un "blocco" di 512 byte, o unità di allocazione, nei filesystem. Ecco perché il valore corrente per dd bs è ancora 512 byte!

Puoi anche specificare altre unità di misura; ad esempio, bs=5M per avere una dimensione di blocco di 5 Megabyte:

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.

Nel tuo caso, a prescindere dal bs impostato, se scegli count=0 non scriverai nulla! Se lasci bs non impostato e scegli count=1 , scriverai 512 byte.

Questo controllo rigoroso sulle "dimensioni del blocco" ha molto più senso quando si ha a che fare con nastri o altri dispositivi sequenziali e limitati. Se scrivi blocchi da 128k di dati su un'unità a nastro con 64k di dimensione del blocco, hai appena perso metà dei tuoi dati! Scrivere su un file (sistema), a differenza di un dispositivo reale, è molto più indulgente nell'allocare lo spazio per qualsiasi cosa tu voglia dargli.

    
risposta data 24.08.2018 - 02:54
fonte