Random

如何使用隨機數據填充文件?

  • March 22, 2022

如何創建一個新文件並用 1 GB 的隨機數據填充它?我需要這個來測試一些軟體。

我更喜歡使用/dev/randomor /dev/urandom

在大多數 unices 上:

head -c 1G </dev/urandom >myfile

如果您head不理解G後綴,您可以指定字節大小:

head -c 1073741824 </dev/urandom >myfile

如果您head不理解該-c選項(這很常見,但不是 POSIX;您可能有 OpenBSD):

dd bs=1024 count=1048576 </dev/urandom >myfile

不要/dev/random在 Linux 上使用,使用/dev/urandom.

假設偽隨機數據就足夠了,dd if=/dev/urandom of=target-file bs=1M count=1000就會做你想做的事。

dd(1)將從輸入文件中讀取數據塊並將它們寫入輸出文件。命令行語言有點古怪,但它是值得掌握基礎知識的真正有用的工具之一。

在這種情況下if是輸入文件,of是輸出文件,bs是“塊大小”——我使用 GNU 擴展來更方便地設置大小。(如果您dd沒有 GNU 擴展,您也可以使用 1048576。) count是要讀取if和寫入的塊數of.

/dev/urandom是一個更好的選擇,/dev/random因為在 Linux 上,當真正的隨機數據耗盡時,它將回退到強偽隨機數據而不是阻塞。

您可能還想查看http://www.random.org/作為獲取一些隨機數據而無需自己生成的另一種途徑。

引用自:https://unix.stackexchange.com/questions/33629