Script que gera um arquivo com conteúdo aleatório

1

Alguém pode sugerir uma maneira de escrever um script que crie um arquivo de texto preenchido com dados aleatórios de exatamente 12 MB ? Digamos que eu esteja interessado em criar dentro do script o arquivo /home/student/john.bin que consiste apenas em dados aleatórios e seu tamanho seria exatamente 12MB ?

    
por user43389 13.12.2014 / 00:47

2 respostas

5

dd if=/dev/random of=~/student/john.bin bs=1024 count=12000
 ou dd if=/dev/urandom of~/student/john.bin bs=1024 count=12000

Em que bs é o tamanho de cada entrada aleatória que você deseja (1024 = 1 KB) e count é quantos desses blocos você deseja.

ie.
bs = 1024, contagem = 12000: 12MB
bs = 512, contagem = 24000: 12MB
bs = 256, contagem = 48000: 12MB
etc

    
por amanthethy 13.12.2014 / 00:54
1

O dd / dev / urandom deve concluir o trabalho. Se você precisar de mais "pureza" para a aleatoriedade, você também pode usar / dev / random.

i.e. :

mgodby@mgodby-nb1:~$ dd if=/dev/urandom of=/home/mgodby/blah.crap bs=4 count=3000000
3000000+0 records in
3000000+0 records out
12000000 bytes (12 MB) copied, 7.73399 s, 1.6 MB/s
mgodby@mgodby-nb1:~$ 

Ajuste seu "tamanho de bloco" e "contagem" para obter a quantidade exata de dados que você deseja.

Nota: O uso de / dev / random pode, em vez disso, demorar significativamente mais que / dev / urandom, mas será "mais aleatório". Veja o seguinte artigo para mais informações:
Wikipedia - / dev / random

    
por MGodby 13.12.2014 / 00:54