Bagaimana saya bisa membuat file baru dan mengisinya dengan data acak 1 Gigabyte? Saya perlu ini untuk menguji beberapa perangkat lunak.
Saya lebih suka menggunakan /dev/random
atau /dev/urandom
.
Bagaimana saya bisa membuat file baru dan mengisinya dengan data acak 1 Gigabyte? Saya perlu ini untuk menguji beberapa perangkat lunak.
Saya lebih suka menggunakan /dev/random
atau /dev/urandom
.
Jawaban:
Di sebagian besar unices:
head -c 1G </dev/urandom >myfile
Jika Anda head
tidak memahami G
sufiks, Anda bisa menentukan ukuran dalam byte:
head -c 1073741824 </dev/urandom >myfile
Jika Anda head
tidak memahami -c
opsi (ini umum tetapi bukan POSIX; Anda mungkin memiliki OpenBSD):
dd bs=1024 count=1048576 </dev/urandom >myfile
head
tidak mengerti -c
pada mesin Solaris 10 saya.
head
bisa membaca /dev/urandom
, tetapi tail
tidak bisa.
tail
pertama kali mencoba untuk pergi ke akhir file input, yang membutuhkan waktu lama (secara harfiah).
/dev/zero
, jika Anda tidak suka variasi.
Dengan asumsi bahwa data pseudo-acak sudah cukup, dd if=/dev/urandom of=target-file bs=1M count=1000
akan melakukan apa yang Anda inginkan.
dd (1) akan membaca blok data dari file input dan menulisnya ke file output. Bahasa command line sedikit aneh, tetapi itu adalah salah satu alat yang sangat berguna layak menguasai dasar-dasar.
Dalam hal ini if
adalah file input, file of
output, bs
adalah "ukuran blok" - dan saya menggunakan ekstensi GNU untuk mengatur ukuran lebih nyaman. (Anda juga dapat menggunakan 1048576 jika Anda dd
tidak memiliki ekstensi GNU.) count
Adalah jumlah blok untuk membaca if
dan menulis of
.
/dev/urandom
adalah pilihan yang lebih baik daripada /dev/random
karena, di Linux, itu akan kembali ke data pseudo-acak yang kuat daripada memblokir ketika data yang benar-benar acak habis.
Anda mungkin juga ingin melihat http://www.random.org/ sebagai jalur lain untuk mendapatkan beberapa data acak tanpa harus membuatnya sendiri.
1M
tidak tersedia di setiap dd
varian standar . Jika versi Anda dd
terpengaruh, gunakan bs=1048576
.
while true;do head /dev/urandom | tr -dc A-Za-z0-9;done | head -c 5000K | tee 5000kb
Gunakan ini untuk menghasilkan data karakter acak 5MB. Jika Anda membutuhkan ukuran yang berbeda, ubah -c
nilai head, ubah nama file outfile, jalankan dan tunggu sampai eksekusi selesai.
vi
bersamavi -w randomfile
dan tanyakan pada seseorang yang belum pernahvi
keluar dari program. ;)