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/randomo /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/randomo /dev/urandom.
Risposte:
Sulla maggior parte dei Unix:
head -c 1G </dev/urandom >myfile
Se il tuo headnon capisce il Gsuffisso, puoi specificare la dimensione in byte:
head -c 1073741824 </dev/urandom >myfile
Se il tuo headnon capisce l' -copzione (è comune ma non POSIX; probabilmente hai OpenBSD):
dd bs=1024 count=1048576 </dev/urandom >myfile
headnon capisco -csulla mia macchina Solaris 10.
headsa leggere /dev/urandom, ma tailnon può.
tailprima 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=1000farà 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 ddnon ha estensione GNU.) countÈ il numero di blocchi da cui leggere ife 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.
1Mnon sono disponibili in tutte le ddvarianti 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 -cvalore di head, cambia il nome del file, esegui e attendi il completamento dell'esecuzione.
viconvi -w randomfilee chiedi a qualcuno che non ha mai vistovidi uscire dal programma. ;)