Datei (leer) mit fester Größe erstellen?

babaloo

babaloo

Aktives Mitglied
Thread Starter
Dabei seit
09.03.2003
Beiträge
1.602
Reaktionspunkte
82
Servus,

wie ist es möglich, im Terminal eine leere Datei zu erstellen, die aber nicht 0kB groß ist, sondern eine vorbestimmte Größe hat (z.B. 100 MB oder 2,54Gb oder oder oder)?

Mit touch wird das ja wohl nix, denn da finde ich keine Option für die Dateigröße. Gibt es da was anderes?
 
ich würde mir eine kleine funktion bzw. ein programm schreiben, das an eine datei jeweils ein byte anfügt, bis die gewünschte größe erreicht ist. aber wofür braucht man das?
 
Muss es ein bestimmter Dateityp sein? Sonst leg doch einfach mit dem Festplatten-Dienstprogramm ein Image mit der gewünschten Größe an.
 
Hi babaloo,

dabei hilft mkfile.

$ mkfile 100m testfile

/tyake
 
Ahh ja, mkfile. Danke! :)

Und nein, ein bestimmtes Dateiformat muss es nicht sein. Ein Freund braucht das, um Speedtest mit Dateien bestimmter Größe durchzuführen.
 
Ein Freund braucht das, um Speedtest mit Dateien bestimmter Größe durchzuführen.

Dann soll er beachten, was in die Datei geschrieben wird. Sind es nur Nullen oder sonst irgendwelche Muster, dann kann die Datei möglicherweise bei der Übertragung sehr effektiv komprimiert werden.
 
dd tuts auch wunderbar.
 
Dann soll er beachten, was in die Datei geschrieben wird. Sind es nur Nullen oder sonst irgendwelche Muster, dann kann die Datei möglicherweise bei der Übertragung sehr effektiv komprimiert werden.

Bei mkfile werden ja nur Nullen geschrieben. Das ist in diesem Fall aber völlig egal, denn es handelt sich um Übertragungen auf direkt angeschlossene Festplatten. Da wird wohl nix komprimiert. Genaueres über die Speedtests weiss ich aber nicht (ist mir auch egal :D ).

Ansonsten müsste man halt noch mit randBytes arbeiten (z.B. über Perl).
 
naja, wenn ihr nachher werte im terrabyte/s bereich habt würd ich denen aber nicht vertrauen... ;)
 
dd if=/dev/urandom of=./myfile bs=1M count=10 && sync

der count-Parameter steuert die Größe in MB; /dev/urandom erzeugt zufällige Bytes (-alternativ /dev/random nehmen -) und /dev/zero erzeugt Nullen. Das sync ist oprional
 
Zurück
Oben Unten