Ich habe eine USB-Festplatte mit7 GBan freiem Speicherplatz, den ich mithilfe dieser Befehle mit pseudozufälligen Daten zu füllen versuchte:
$ cd /media/username/volume_name
$ sudo dd if=/dev/urandom of=random_data_file.txt
random_data_file.txt
vorher nicht existierte. Ich erwartete, dass der Befehl die Datei erstellt, pseudozufällige Daten hineinschreibt und stoppt, wenn die enthaltene Partition voll ist. Die Statusleiste des Dateimanagers zeigte schließlich 0 bytes
freien Speicherplatz an. Aber der dd
Befehl stoppte nicht, und weder der Terminalemulator noch der Dateimanager zeigten eine Benachrichtigung an, dass das Laufwerk voll war. Nachdem ich den Befehl mit beendet hatte Ctrl+C
, lautete die Terminalausgabe40 GBgeschrieben wurde. Ich wählte die Datei im Manager aus, in dessen Statusleiste auch die Größe angezeigt wurde als40 GB, das sind 33 GB mehr als die vorherige Menge an freiem Speicherplatz.
- Besteht die Möglichkeit, dass dieser Befehl einige meiner anderen Dateien, die Partition oder andere Partitionen überschrieben oder geändert hat? Oder bedeutet dies, dass
random_data_file.txt
40 GB / 7 GB = 5,7 Mal geschrieben und überschrieben wurden? Wenn Letzteres zutrifft, warum hat der Dateimanager dann seine Größe als größer als 7 GB angezeigt? Nach dem Löschenrandom_data_file.txt
mit dem Dateimanager wird in der Statusleiste wieder 7 GB freier Speicherplatz angezeigt. - Wie kann ich den Befehl richtig verwenden,
dd
um pseudozufällige Daten zu erstellen und in eine Ausgabedatei zu schreiben, bis die enthaltene Partition voll ist, ohne irgendetwas (außer dem freien Speicherplatz auf derselben Partition), einschließlich der Ausgabedatei, zu überschreiben?
Antwort1
Vorausgesetzt, Ihre Festplattenhardware ist in Ordnung (und es handelt sich nicht um eine betrügerische SD-Karte, die falschen verfügbaren Speicherplatz anzeigt) und Ihr Dateisystem ist nicht durch beschädigte Freelists und Dateien beschädigt, deren Blöcke sich noch in der Freelist befinden, dd if=/dev/urandom of=random_data_file.txt
würde die Festplatte nicht beschädigt oder etwas überschrieben (außer random_datafile.txt).
Wahrscheinlich war das vorherige „sudo“ nicht erforderlich, und wenn Sie nicht sicher sind, ob Ihr dd-Befehl korrekt ist, sollten Sie ihn auf keinen Fall als „sudo“ ausführen.
Ein möglicher Grund, warum mehr Daten geschrieben wurden als erwartet, ist, dass die meisten Dateisysteme etwas freien Speicherplatz reservieren (normalerweise 5 %), sodass Root mit dem Schreiben fortfahren kann, wenn normale Benutzer feststellen, dass die Festplatte voll ist. (Auch hier gilt: Tun Sie dies nicht mit sudo...)