orm@doc-tcpip.org

Erstellt: Januar 2000 - Letzte Modifikation: Juni 2001

[ Main | Local ]


Files beliebiger Größe erzeugen

Sehr nützlich beim Debuggen

Wie für alles unter Unix gibt es auch hier verschiedene Wege:
Ein wenige eleganter Weg ist, sich einen Anfang zu generieren und dann den Inhalt tausende von Malen zu wiederholen:

date > file1
touch file2
dd if=file1 of=file2 seek=2048
Die seek-Anweisung rechnet mit 512-Byte Blöcken, es kommt also ein MB bei der Sache herraus.

Ein anderer Weg (eleganter) ist, sich einer schon vorhanden Quelle zu bedienen. Da bietet sich z.B. der Pagingspace an, ein volles Filesystem oder auch das Device /dev/zero, was ohne Ende Nullen sprudeln läßt.

touch file1
dd if=/dev/hd6 of=file1 bs=1024 count=1024
Hier ist /dev/hd6 der Pagingspace auf einem AIX System. Die Blocksize (bs) ist 1024 Byte, und die Anweisung "count" sagt, das dd 1024 solche 1024 Byte Blöcke schreiben soll - also 1 MB.

Gut ist das ganze auch mit dem Zero-Device. So kann man prima Files zum Durchführen von IP-Traces herstellen; die Files sind wirklich so groß wie sie sein sollen, aber der IP-Trace kürzt alle Nullen raus, sodaß man den Trace leicht lesen kann.

Bei der ganzen Sache die alte Geschichte nicht vergessen: Files werden in Byte angegeben, ls -l zeigt daher: 1MB == 1048605. Das sehen Festplatterhersteller bekanntlich anders, dort ist das Mega, Giga etc. wirklich das numerisch/technische, und nicht der Exponent von 2. (Platten-Kapazitäten sind so einfach größer..)


[ Main | Local ]

[ Allgemein | UNIX | AIX | TCP-IP | TCP | ROUTING | DNS | NTP | NFS | FreeBSD | Linux | SMTP | Tracing | GPS ]

Copyright 2001-2014 by Orm Hager - Es gilt die GPL
Feedback bitte an: Orm Hager (orm@doc-tcpip.org )