it-swarm-eu.dev

Jak mohu naplnit soubor náhodnými daty?

Jak mohu vytvořit nový soubor a vyplnit jej náhodnými daty v hodnotě 1 Gigabyte? Potřebuji to, abych otestoval nějaký software.

Raději bych použil /dev/random nebo /dev/urandom.

145

Ve většině odvětví:

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

Pokud vaše head nerozumí příponě G, můžete zadat velikost v bajtech:

head -c 1073741824 </dev/urandom >myfile

Pokud váš head nerozumí -c option (je to běžné, ale nikoli POSIX; pravděpodobně máte OpenBSD):

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

Nepoužívat /dev/random na Linuxu, použijte /dev/urandom.

Za předpokladu, že pseudonáhodná data jsou dostatečná, dd if=/dev/urandom of=target-file bs=1M count=1000 Udělá, co chcete.

dd (1) načte bloky dat ze vstupního souboru a zapíše je do výstupního souboru. Jazyk příkazového řádku je trochu nepředvídatelný, ale je to jeden z těch opravdu užitečných nástrojů, které stojí za zvládnutí základů.

V tomto případě if je vstupní soubor, of je výstupní soubor, bs je "velikost bloku" - a použil jsem rozšíření GNU rozšíření) (Chcete-li velikost nastavit pohodlněji. (Můžete také použít 1048576, pokud vaše dd nemá příponu GNU).) count je počet bloků, do kterých čtení z if a zápis do of.

/dev/urandom Je lepší volbou než /dev/random, Protože v Linuxu se v případě vyčerpání skutečně náhodných dat vrátí zpět k silným pseudonáhodným datům, než k blokování.

Můžete také chtít podívat na http://www.random.org/ jako další cestu k získání náhodných dat, aniž byste je museli sami generovat.

37
Daniel Pittman
while true;do head /dev/urandom | tr -dc A-Za-z0-9;done | head -c 5000K | tee  5000kb

Slouží ke generování 5MB náhodných znaků. Pokud potřebujete jinou velikost, změňte -c value of head, změňte název outfile, spusťte a vyčkejte, dokud se provedení nedokončí.

2
James Jithin