Come posso creare un nuovo file e riempirlo con dati casuali del valore di 1 Gigabyte? Ho bisogno di questo per testare alcuni software.
Preferirei usare /dev/random
o /dev/urandom
.
Come posso creare un nuovo file e riempirlo con dati casuali del valore di 1 Gigabyte? Ho bisogno di questo per testare alcuni software.
Preferirei usare /dev/random
o /dev/urandom
.
Risposte:
Sulla maggior parte dei Unix:
head -c 1G </dev/urandom >myfile
Se il tuo head
non capisce il G
suffisso, puoi specificare la dimensione in byte:
head -c 1073741824 </dev/urandom >myfile
Se il tuo head
non capisce l' -c
opzione (è comune ma non POSIX; probabilmente hai OpenBSD):
dd bs=1024 count=1048576 </dev/urandom >myfile
head
non capisco -c
sulla mia macchina Solaris 10.
head
sa leggere /dev/urandom
, ma tail
non può.
tail
prima prova ad andare alla fine del file di input, che impiega un'eternità (letteralmente).
/dev/zero
, se non ti piace la varietà.
Supponendo che i dati pseudo-casuali siano sufficienti, dd if=/dev/urandom of=target-file bs=1M count=1000
farà quello che vuoi.
dd (1) leggerà blocchi di dati da un file di input e li scriverà in un file di output. Il linguaggio della riga di comando è un po 'strano, ma è uno di quegli strumenti davvero utili di cui vale la pena padroneggiare le basi.
In questo caso if
è il file di input, of
è il file di output, bs
è "dimensione blocco" - e ho usato l'estensione GNU per impostare le dimensioni in modo più conveniente. (Puoi anche usare 1048576 se il tuo dd
non ha estensione GNU.) count
È il numero di blocchi da cui leggere if
e scrivere of
.
/dev/urandom
è una scelta migliore rispetto a quella che /dev/random
, su Linux, ricadrà su dati pseudo casuali piuttosto che bloccarsi quando i dati autenticamente casuali sono esauriti.
Potresti anche voler guardare http://www.random.org/ come un altro percorso per ottenere alcuni dati casuali senza doverli generare da soli.
1M
non sono disponibili in tutte le dd
varianti standard . Se la tua versione di dd
è interessata, usa bs=1048576
.
while true;do head /dev/urandom | tr -dc A-Za-z0-9;done | head -c 5000K | tee 5000kb
Usato per generare dati di carattere casuale di 5 MB. Se hai bisogno di dimensioni diverse, cambia il -c
valore di head, cambia il nome del file, esegui e attendi il completamento dell'esecuzione.
vi
convi -w randomfile
e chiedi a qualcuno che non ha mai vistovi
di uscire dal programma. ;)