Untuk apa nilainya, headtidak mengerti -cpada mesin Solaris 10 saya.
rahmu
2
Menarik yang headbisa membaca /dev/urandom, tetapi tailtidak bisa.
Stefan Lasiewski
22
@StefanLasiewski tailpertama kali mencoba untuk pergi ke akhir file input, yang membutuhkan waktu lama (secara harfiah).
Gilles
Ah, seperti 'tail / dev / infinity`, jika ada perangkat seperti itu.
Stefan Lasiewski
3
@StefanLasiewski Anda juga memilikinya /dev/zero, jika Anda tidak suka variasi.
Gilles
35
Dengan asumsi bahwa data pseudo-acak sudah cukup, dd if=/dev/urandom of=target-file bs=1M count=1000akan 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 ifadalah file input, file ofoutput, bsadalah "ukuran blok" - dan saya menggunakan ekstensi GNU untuk mengatur ukuran lebih nyaman. (Anda juga dapat menggunakan 1048576 jika Anda ddtidak memiliki ekstensi GNU.) countAdalah jumlah blok untuk membaca ifdan menulis of.
/dev/urandomadalah pilihan yang lebih baik daripada /dev/randomkarena, 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.
Catatan - spesifikasi unit seperti 1Mtidak tersedia di setiap ddvarian standar . Jika versi Anda ddterpengaruh, gunakan bs=1048576.
Chris Down
4
Perintah contoh akan membuat file dengan jumlah 1.000.000 blok masing-masing berukuran 1 MB. Itu sekitar 1 TB (1M x 1MB), bukan 1 GB (yang akan menjadi 1K x 1MB). Sebagai tambahan, sampai batas tertentu, meningkatkan ukuran blok dan mengurangi jumlah blok cenderung menghasilkan throughput yang lebih baik untuk sejumlah data output tertentu.
CVn
2
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 -cnilai 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. ;)Jawaban:
Di sebagian besar unices:
Jika Anda
head
tidak memahamiG
sufiks, Anda bisa menentukan ukuran dalam byte:Jika Anda
head
tidak memahami-c
opsi (ini umum tetapi bukan POSIX; Anda mungkin memiliki OpenBSD):Jangan gunakan
/dev/random
di Linux, gunakan/dev/urandom
.sumber
head
tidak mengerti-c
pada mesin Solaris 10 saya.head
bisa membaca/dev/urandom
, tetapitail
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, fileof
output,bs
adalah "ukuran blok" - dan saya menggunakan ekstensi GNU untuk mengatur ukuran lebih nyaman. (Anda juga dapat menggunakan 1048576 jika Andadd
tidak memiliki ekstensi GNU.)count
Adalah jumlah blok untuk membacaif
dan menulisof
./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.
sumber
1M
tidak tersedia di setiapdd
varian standar . Jika versi Andadd
terpengaruh, gunakanbs=1048576
.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.sumber