Làm cách nào tôi có thể tạo một tệp mới và điền vào nó với dữ liệu ngẫu nhiên trị giá 1 Gigabyte? Tôi cần điều này để kiểm tra một số phần mềm.
Tôi muốn sử dụng /dev/random
hoặc /dev/urandom
.
Làm cách nào tôi có thể tạo một tệp mới và điền vào nó với dữ liệu ngẫu nhiên trị giá 1 Gigabyte? Tôi cần điều này để kiểm tra một số phần mềm.
Tôi muốn sử dụng /dev/random
hoặc /dev/urandom
.
Câu trả lời:
Trên hầu hết các đơn vị:
head -c 1G </dev/urandom >myfile
Nếu bạn head
không hiểu G
hậu tố, bạn có thể chỉ định kích thước theo byte:
head -c 1073741824 </dev/urandom >myfile
Nếu bạn head
không hiểu -c
tùy chọn (nó phổ biến nhưng không phải POSIX; bạn có thể có OpenBSD):
dd bs=1024 count=1048576 </dev/urandom >myfile
head
không hiểu -c
trên máy Solaris 10 của tôi.
head
có thể đọc /dev/urandom
, nhưng tail
không thể.
tail
trước tiên cố gắng đi đến cuối tệp đầu vào, sẽ mất mãi mãi (theo nghĩa đen).
/dev/zero
cũng vậy, nếu bạn không thích sự đa dạng.
Giả sử rằng dữ liệu giả ngẫu nhiên là đủ, dd if=/dev/urandom of=target-file bs=1M count=1000
sẽ làm những gì bạn muốn.
dd (1) sẽ đọc các khối dữ liệu từ tệp đầu vào và ghi chúng vào tệp đầu ra. Ngôn ngữ dòng lệnh hơi kỳ quặc, nhưng nó là một trong những công cụ thực sự hữu ích đáng để nắm vững những điều cơ bản.
Trong trường hợp if
này là tệp đầu vào, of
là tệp đầu ra, bs
là "kích thước khối" - và tôi đã sử dụng phần mở rộng GNU để đặt kích thước thuận tiện hơn. (Bạn cũng có thể sử dụng 1048576 nếu dd
không có phần mở rộng GNU.) count
Là số khối để đọc if
và ghi vào of
.
/dev/urandom
là một lựa chọn tốt hơn /dev/random
becuase, trên Linux, nó sẽ quay trở lại dữ liệu giả ngẫu nhiên mạnh thay vì chặn khi dữ liệu ngẫu nhiên thực sự cạn kiệt.
Bạn cũng có thể muốn xem http://www.random.org/ như một đường dẫn khác để nhận một số dữ liệu ngẫu nhiên mà không phải tự tạo dữ liệu.
1M
không có sẵn trong mọi dd
biến thể tiêu chuẩn . Nếu phiên bản của bạn dd
bị ảnh hưởng, sử dụng bs=1048576
.
while true;do head /dev/urandom | tr -dc A-Za-z0-9;done | head -c 5000K | tee 5000kb
Đã sử dụng điều này để tạo dữ liệu ký tự ngẫu nhiên 5MB. Nếu bạn cần kích thước khác nhau, thay đổi -c
giá trị của đầu, thay đổi tên outfile, thực thi và đợi cho đến khi thực hiện hoàn tất.
vi
vớivi -w randomfile
và yêu cầu ai đó chưa từng thấyvi
để thoát khỏi chương trình. ;)