Wie kann ich eine neue Datei erstellen und sie mit zufälligen Daten im Wert von 1 Gigabyte füllen? Ich brauche das, um Software zu testen.
Ich würde lieber /dev/random
oder verwenden /dev/urandom
.
Wie kann ich eine neue Datei erstellen und sie mit zufälligen Daten im Wert von 1 Gigabyte füllen? Ich brauche das, um Software zu testen.
Ich würde lieber /dev/random
oder verwenden /dev/urandom
.
Antworten:
Auf den meisten Unices:
head -c 1G </dev/urandom >myfile
Wenn Sie head
das G
Suffix nicht verstehen , können Sie die Größe in Byte angeben:
head -c 1073741824 </dev/urandom >myfile
Wenn du head
die -c
Option nicht verstehst (es ist üblich, aber nicht POSIX; du hast wahrscheinlich OpenBSD):
dd bs=1024 count=1048576 </dev/urandom >myfile
Verwenden Sie nicht /dev/random
unter Linux, verwenden Sie /dev/urandom
.
head
nicht -c
auf meinem Solaris 10-Rechner zu verstehen .
head
lesen kann /dev/urandom
, aber tail
nicht.
tail
versucht zunächst, an das Ende der Eingabedatei zu gelangen, was (im wahrsten Sinne des Wortes) ewig dauert.
/dev/zero
auch, wenn du keine Abwechslung magst .
Vorausgesetzt, dass pseudozufällige Daten ausreichen, dd if=/dev/urandom of=target-file bs=1M count=1000
werden Sie tun, was Sie wollen.
dd (1) liest Datenblöcke aus einer Eingabedatei und schreibt sie in eine Ausgabedatei. Die Kommandozeilensprache ist etwas schrullig, aber sie ist eines der wirklich nützlichen Werkzeuge, deren Erlernen es sich lohnt, die Grundlagen zu beherrschen.
In diesem Fall if
ist die Eingabedatei, of
die Ausgabedatei, bs
die "Blockgröße" - und ich habe die GNU-Erweiterung verwendet, um die Größe bequemer einzustellen. (Sie können auch 1048576 verwenden, wenn Sie dd
keine GNU-Erweiterung haben.) count
Die Anzahl der Blöcke, aus denen gelesen if
und in die geschrieben werden soll of
.
/dev/urandom
ist eine bessere Wahl als, /dev/random
weil es unter Linux auf starke pseudozufällige Daten zurückgreift und nicht blockiert, wenn wirklich zufällige Daten erschöpft sind.
Möglicherweise möchten Sie auch http://www.random.org/ als einen anderen Weg betrachten, um zufällige Daten abzurufen, ohne sie selbst generieren zu müssen.
1M
gibt es nicht in jeder Standardvariante dd
. Wenn Ihre Version von dd
betroffen ist, verwenden Sie bs=1048576
.
while true;do head /dev/urandom | tr -dc A-Za-z0-9;done | head -c 5000K | tee 5000kb
Wird verwendet, um 5 MB zufällige Zeichendaten zu generieren. Wenn Sie eine andere Größe benötigen, ändern Sie den -c
Wert von head, ändern Sie den Outfile-Namen, führen Sie aus und warten Sie, bis die Ausführung abgeschlossen ist.
vi
mitvi -w randomfile
und bitten Sie jemanden, der noch nie gesehen hatvi
, das Programm zu beenden. ;)