Saya ingin menghasilkan file acak 1 GB, jadi saya menggunakan perintah berikut.
dd if=/dev/urandom of=output bs=1G count=1
Tetapi alih-alih setiap kali saya meluncurkan perintah ini saya mendapatkan file 32 MB:
<11:58:40>$ dd if=/dev/urandom of=output bs=1G count=1
0+1 records in
0+1 records out
33554431 bytes (34 MB, 32 MiB) copied, 0,288321 s, 116 MB/s
Apa yang salah?
SUNTING:
Berkat jawaban yang bagus dalam topik ini, saya datang dengan solusi yang bertuliskan 32 bongkahan 32 MB besar yang menghasilkan 1GB:
dd if=/dev/urandom of=output bs=32M count=32
Solusi lain diberikan yaitu membaca 1 GB langsung ke memori dan kemudian menulis ke disk. Solusi ini membutuhkan banyak memori sehingga tidak diutamakan:
dd if=/dev/urandom of=output bs=1G count=1 iflag=fullblock
head
tidak dapat melakukan tugas ini tanpa -c
opsi yang tidak ada di POSIX . Saya tidak tahu versi cat
mana yang bisa menyelesaikan ini. rsync
adalah utilitas yang sama sekali tidak standar. Itu tidak ada di sini atau di sana; membaca halaman manualnya, saya juga tidak bisa mengatasi masalah ini.
/dev/urandom
juga tidak ada di POSIX ...
dd
semua. Saya akan menggunakanhead
,cat
ataursync
di tempatnya hampir selalu. Dan pertanyaan Anda jika salah satu alasan mengapa alternatif biasanya lebih aman.