Wie erstelle ich eine Datei mit JEDER gegebenen Größe in Linux?

7

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'.

    
DocWiki 01.11.2011, 11:05
quelle

4 Antworten

15

Sparse-Datei

%Vor%

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 . .

Nicht-spärliche (undurchsichtige) Datei:

  

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:

%Vor%

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.

    
sehe 01.11.2011, 11:08
quelle
7

Ä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%     
Mat 01.11.2011 11:07
quelle
1

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%     
Hardy Feng 15.10.2013 02:19
quelle
0

Tauschen Sie die Anzahl und bs. BS Bytes werden im Speicher sein, also kann es nicht so groß sein.

    
thejh 01.11.2011 11:08
quelle

Tags und Links