Sie können eine Datei mit geringer Dichte erstellen, haben jedoch möglicherweise nicht die gewünschten Ergebnisse, je nachdem, warum Sie dies tun:
dd if=/dev/zero of=sparse_file bs=1 count=1 seek=512M
ls -l sparse_file
-rw-rw-r-- 1 kbrandt kbrandt 536870913 2010-03-03 08:30 sparse_file
Das Problem ist, dass wenn ein Programm nicht weiß, wie man mit spärlichen Dateien umgeht, wenn Sie so etwas wie die Datei kopieren, es mit Nullen gefüllt wird. Siehe beispielsweise diesen vorherigen Beitrag zum Serverfehler . Sie können den Unterschied auch sehen mit du
:
[kbrandt@kbrandt-opadmin: /bigfiles] du sparse_file
12 sparse_file
[kbrandt@kbrandt-opadmin: /bigfiles] du sparse_file --apparent-size
524289 sparse_file
[kbrandt@kbrandt-opadmin: /bigfiles] #cat is not sparse aware, watch what happens
[kbrandt@kbrandt-opadmin: /bigfiles] cat sparse_file > sparse_file2
[kbrandt@kbrandt-opadmin: /bigfiles] du sparse_file2
524808 sparse_file2
Wenn Sie tatsächlich die Nullen eingeben möchten und ein höheres bs festlegen, ist es möglicherweise etwas schneller als bs = 4096. Hier ist ein Link zu jemandem, der tatsächlich einige Benchmarks mit dd-Blockgrößen durchgeführt hat.