Volevo produrre un file casuale da 1 GB, quindi ho usato il seguente comando.
dd if=/dev/urandom of=output bs=1G count=1
Ma invece ogni volta che lancio questo comando ottengo un file da 32 MB:
<11:58:40>$ dd if=/dev/urandom of=output bs=1G count=1
0+1 records in
0+1 records out
33554431 bytes (34 MB, 32 MiB) copied, 0,288321 s, 116 MB/s
Che c'è?
MODIFICARE:
Grazie alle ottime risposte in questo argomento, sono arrivato con una soluzione che legge 32 blocchi di 32 MB di larghezza che rende 1 GB:
dd if=/dev/urandom of=output bs=32M count=32
È stata fornita un'altra soluzione che legge 1 GB direttamente nella memoria e quindi scrive sul disco. Questa soluzione richiede molta memoria, quindi non è preffered:
dd if=/dev/urandom of=output bs=1G count=1 iflag=fullblock
head
non può svolgere questa attività senza l' -c
opzione non presente in POSIX . Non conosco nessuna versione cat
che possa risolvere questo problema. rsync
è un'utilità completamente non standard. Questo non è né qui né lì; sfogliando la sua pagina man, non vedo nemmeno come possa risolvere questo problema.
/dev/urandom
non è nemmeno in POSIX ...
dd
niente. Usereihead
,cat
orsync
al suo posto quasi sempre. E la tua domanda se uno dei motivi per cui le alternative sono generalmente più sicure.