Ich habe diese Frage gelesen: So erstellen Sie eine Datei mit einer bestimmten Größe in Linux?
Aber ich habe keine Antwort auf meine Frage.
Ich möchte eine Datei von 372,07 MB erstellen,
Ich habe die folgenden Befehle in Ubuntu 10.08 ausprobiert:
%Vor%390143672 = 372,07 * 1024 * 1024
Gibt es noch andere Methoden?
Vielen Dank!
Bearbeiten:
So zeigen Sie die Größe einer Datei in der Linux-Befehlszeile mit Dezimalzahl an. Ich meine, die Befehlszeile ls -hl
sagt nur: '373M', aber die Datei ist tatsächlich '372.07M'.
Dies hat den zusätzlichen Vorteil, dass die Datei sparse erstellt, wenn das zugrunde liegende Dateisystem dies unterstützt. Das heißt, es wird kein Platz verschwendet wenn auf einige Seiten (_blocks) jemals geschrieben wird und die Erstellung der Datei extrem schnell ist . .
Bearbeiten weil Leute richtig darauf hingewiesen haben, dass sparse Dateien Eigenschaften haben, die in einigen Szenarien von Nachteil sein könnten, hier ist der süße Punkt :
Sie könnten stattdessen fallocate
(in Debian vorhanden wegen util-linux
) verwenden:
Dies hat immer noch den Vorteil, dass Sie die Blöcke nicht schreiben müssen, also ist es so so schnell wie das Erstellen der Sparse-Datei, aber es ist nicht spärlich . Das Beste aus beiden Welten.
Ändern Sie Ihre Parameter:
%Vor% andernfalls dd
versucht einen 370 MB Puffer im Speicher zu erstellen.
Wenn Sie es effizienter machen wollen, schreiben Sie zuerst das 372MB-Teil mit großen Blöcken (sagen wir 1M) und schreiben Sie dann den Endteil mit 1-Byte-Blöcken, indem Sie die seek
-Option verwenden, um zum Ende der Datei zuerst.
Beispiel:
%Vor%truncate - verkleinert oder erweitert die Größe einer Datei auf die angegebene Größe
Im folgenden Beispiel wird putty.log von 298 Byte auf 235 Byte gekürzt.
%Vor%Tags und Links command-line linux ubuntu