Linux 4 Möglichkeiten beliebig große Dateien zu erstellen

Für Tests benötigt man manchmal Dateien mit verschiedener oder auch bestimmte Größe. Diese lassen sich unter Linux, wie z.B. unter Debian, recht einfach per Befehl erzeugen. Nachfolgend 4 Möglichkeiten.

fallocate

Mit dem einfachen Befehl fallocate wird aus dem freien Speicherbereich eine Datei erzeugt. mit dem -l Argument kann die Größe mit Kilobytes (K), Megabytes (M) oder Gigabytes (G), angegeben werden.

# fallocate -l 10M file1.txt
# ls -lh file1.txt 
-rw-rw-r-- 1 root root 10M Nov 18 20:26 file1.txt

truncate

Truncate erlaubt es nicht nur Dateien zu erzeugen, sondern diese auch zu verkleinern oder erweitern. Falls die Datei existiert wird sie auf die mit der Option -s angegebene Option verkleinert oder vergrößert, je nachdem ob die existierende Datei kleiner oder größer als die Angabe ist.

# truncate -s 300M file2.txt
# ls -lh file2.txt
-rw-rw-r-- 1 root root 300M Nov 18 21:36 file2.txt

head und tail

Mit dem head Befehl cann eine Datei durch Erzeugung von ASCII NUL Charakter aus /dev/zero erzeugt werden.

# head --bytes 3G /dev/zero > file3.txt
# ls -lh file3.txt
-rw-rw-r-- 1 root root 3.0G Nov 18 21:47 file3.txt

Tail ist als Befehl änlich:

# tail --bytes 4G /dev/zero > file4.txt
# ls -lh file4.txt
-rw-rw-r-- 1 root root 4.0G Nov 18 21:52 file4.txt

dd

Der dd Befehl kopiert und konvertiert eine Datei. Dabei gibt die Option bs die Blockgröße in bytes an und count die anzahl der Blöcke die kopiert werden sollen. Im nachfolgenden Beispiel wird so eine 10MB große Datei erzeugt.

# dd if=/dev/zero of=file5.txt bs=1M count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB, 10 MiB) copied, 0.0387031 s, 271 MB/s
# ls -lh file5.txt
-rw-rw-r-- 1 groot groot 10M Nov 19 21:58 file5.txt

Thats it .. Have Fun!

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.