Verwenden Sie diesen Befehl:
dd if=$INPUT-FILE of=$OUTPUT-FILE bs=$BLOCK-SIZE count=$NUM-BLOCKS
Um eine große (leere) Datei zu erstellen, setzen Sie $INPUT-FILE=/dev/zero
.
Die Gesamtgröße der Datei beträgt $BLOCK-SIZE * $NUM-BLOCKS
.
Die neu erstellte Datei ist $OUTPUT-FILE
.
Bitte, modern ist einfacher und schneller. Unter Linux (wählen Sie eine aus)
truncate -s 10G foo
fallocate -l 5G bar
Es braucht angegeben werden, dass truncate
auf einem Dateisystem, das Sparse-Dateien unterstützt, wird eine Sparse-Datei und fallocate
erstellt wird nicht. Eine Sparse-Datei ist eine Datei, bei der die Zuordnungseinheiten, aus denen die Datei besteht, eigentlich nicht vorhanden sind bis zur Verwendung zugeteilt. Die Metadaten für die Datei werden nehmen jedoch beträchtlichen Speicherplatz ein, aber wahrscheinlich nicht annähernd die tatsächliche Größe der Datei. Sie sollten Ressourcen zu Sparse-Dateien konsultieren, um weitere Informationen zu erhalten, da dieser Dateityp Vor- und Nachteile hat. Einer Datei ohne Sparse werden ihre Blöcke (Zuordnungseinheiten) im Voraus zugewiesen, was bedeutet, dass der Speicherplatz reserviert ist, soweit das Dateisystem ihn sieht. Auch fallocate
noch truncate
setzt den Inhalt der Datei nicht auf einen bestimmten Wert wie dd
, stattdessen den Inhalt einer mit fallocate
zugewiesenen Datei oder truncate
kann irgendein Müllwert sein, der während der Erstellung in den zugewiesenen Einheiten vorhanden war, und dieses Verhalten kann erwünscht sein oder nicht. Die dd
ist am langsamsten, da es tatsächlich den Wert oder Datenblock in den gesamten Dateistrom schreibt, wie mit seinen Befehlszeilenoptionen angegeben.
Dieses Verhalten kann möglicherweise unterschiedlich sein – abhängig vom verwendeten Dateisystem und der Konformität dieses Dateisystems mit einem Standard oder einer Spezifikation. Daher wird empfohlen, dass angemessene Nachforschungen angestellt werden, um sicherzustellen, dass die geeignete Methode verwendet wird.
Für kleine Dateien:
dd if=/dev/zero of=upload_test bs=file_size count=1
Wobei file_size
ist die Größe Ihrer Testdatei in Bytes.
Für große Dateien:
dd if=/dev/zero of=upload_test bs=1M count=size_in_megabytes
Nur um Toms Beitrag nachzugehen, können Sie dd auch verwenden, um Sparse-Dateien zu erstellen:
dd if=/dev/zero of=the_file bs=1 count=0 seek=12345
Dadurch wird auf den meisten Unix-Systemen eine Datei mit einem "Loch" darin erstellt - die Daten werden nicht wirklich auf die Festplatte geschrieben oder nehmen Speicherplatz in Anspruch, bis etwas anderes als Null hineingeschrieben wird.