bup-random(1) General Commands Manual bup-random(1)

bup-random - تولید یک جریان بایت تصادفی تکرارپذیر

bup random [-S seed] [-fv] <numbytes>

دستور bup random جریانی از بایت‌های خروجی شبه‌تصادفی را در stdout تولید می‌کند. نکته: بایت‌ها با استفاده از الگوریتم رمزنگاری تولید نشده‌اند و هرگز نباید برای مقاصد امنیتی استفاده شوند.

توجه داشته باشید که جریان بایت‌های تصادفی در هر بار اجرای bup random یکسان خواهد بود، مگر اینکه مقدار seed متفاوتی تعیین کنید. این رفتار عمدی است: هدف این برنامه امکان اجرای آزمایش‌های تکرارپذیر بر روی مقادیر زیادی از داده‌هاست، بنابراین در هر بار اجرا داده‌های یکسانی می‌خواهیم.

دستور bup random در یک سیستم آزمایشی مدرن (Intel Core2) حدود ۲۴۰ مگابایت بر ثانیه داده تولید می‌کند که این مقدار سریع‌تر از خواندن داده‌ها از اغلب دیسک‌ها است. بنابراین، می‌تواند هنگام اجرای بنچمارک‌های کوچک (microbenchmarks) مفید باشد.

<numbytes>
تعداد بایت‌های داده برای تولید. می‌تواند همراه با پسوندهای k، M یا G برای مشخص کردن به ترتیب کیلوبایت، مگابایت یا گیگابایت استفاده شود.
استفاده از مقدار ارائه‌شده برای بذردهی (seed) مولد اعداد شبه‌تصادفی. جریان خروجی تولیدشده برای تمام جریان‌هایی که با مقدار یکسان بذردهی شده باشند، یکسان خواهد بود. مقدار پیش‌فرض seed برابر با ۱ است. مقدار seed برابر با ۰ معادل ۱ است.
تولید خروجی حتی اگر stdout یک tty باشد. (تولید داده‌های تصادفی در یک tty عموماً اقدامی نامناسب در نظر گرفته می‌شود، اما در صورت تمایل واقعی می‌توانید این کار را انجام دهید.)
چاپ یک پیام پیشرفت که تعداد بایت‌های خروجی تولیدشده تا این لحظه را نشان می‌دهد.

$ bup random 1k | sha1sum
2108c55d0a2687c8dacf9192677c58437a55db71  -
$ bup random -S1 1k | sha1sum
2108c55d0a2687c8dacf9192677c58437a55db71  -
$ bup random -S2 1k | sha1sum
f71acb90e135d98dad7efc136e8d2cc30573e71a  -
$ time bup random 1G >/dev/null
Random: 1024 Mbytes, done.
real   0m4.261s
user   0m4.048s
sys    0m0.172s
$ bup random 1G | bup split -t --bench
Random: 1024 Mbytes, done.
bup: 1048576.00kbytes in 18.59 secs = 56417.78 kbytes/sec
1092599b9c7b2909652ef1e6edac0796bfbfc573

بخشی از مجموعه bup(1).

Avery Pennarun apenwarr@gmail.com.

2026-09-01 Bup 0.34+