Zweck von / dev / zero?
On Februar 17, 2021 by admin Ich habe versucht, cat /dev/zero
zu verwenden, und es schien nichts zu tun. Ich habe /dev/zero
, und es heißt, es ist im Grunde eine leere Datei mit unendlicher Größe. Druckt cat
eine unendliche Anzahl nicht vorhandener Zeichen? Wie funktioniert das? Wie liefert es unendliche Daten, wenn es 0 Bytes sind? Was nützt diese Datei, wenn man einfach eine leere Datei erstellen kann?
Kommentare
- Führen Sie
cat -v /dev/zero
aus, um zu sehen, was es tut. Siehe Nicht verwendeten Speicherplatz mit Nullen löschen (ext3, ext4) für einen gemeinsamen Zweck. - Es gibt auch / dev / null , das sich wie eine leere Datei verhält, wenn Sie sie lesen möchten und als Schwarzes Loch, wenn Sie darauf schreiben.
- @jofel, aber Sie können ' / dev / null nicht für unendliche 0-Bits verwenden, oder?
cat foo > /dev/null
undcat foo > /dev/zero
sind identisch, abercat /dev/null
undcat /dev/zero
Sind ' nicht gleich, richtig? - @tkbx ja, richtig.
/dev/null
gibt sofort EOF , wenn ein Programm daraus lesen möchte./dev/zero
gibt unendlich 0 Byte zurück.
Antwort
/dev/zero
ist eine spezielle Datei (in diesem Fall ein Pseudogerät), die einen endlosen Strom von Nullzeichen bereitstellt (also hex 0x00)? Aus diesem Grund gibt Ihre cat
nichts aus (aber versuchen Sie, sie über od
(oktaler Speicherauszug) auszuführen.
„leere Datei mit unendlicher Größe“ ist nicht 100% korrekt: Es handelt sich nicht um eine reguläre Datei, sondern um eine spezielle Datei (eher wie ein „Stream“ oder ein Generator). Sie können so viel davon lesen, wie Sie möchten, beispielsweise mit dd
(wie dd if=/dev/zero of=yourfile count=1024 bs=1024
).
Es „ist nicht wirklich eine leere Datei, noch wird es zum Erstellen von leeren Dateien verwendet: Es wird verwendet, um Dateien oder Speicherseiten zu erstellen, die nur mit Nullen gefüllt sind. Sie können auch darauf schreiben, damit es wie ein Dreckloch funktioniert (sein beliebterer Bruder /dev/null
wird hierfür jedoch häufiger verwendet).
Kommentare
- Warum sollte jemand eine Lücke füllen wollen?
- Zum Beispiel, um das zu löschen, was vorher da war. Oder beim Senden.
- Ich ' habe das
srm
Handbuch oder die Quelle nicht gelesen, aber die meisten ' sichere Radiergummis ' schreiben lieber (Pseudo-) Zufallsdaten, anstatt ein Laufwerk auf Null zu setzen, da ein Null-Durchgang nicht sicher genug ist (Bestimmte Agenturen mit drei Buchstaben können weiterhin den ursprünglichen Inhalt einer Festplatte mit Nullen abziehen, da die einzelnen Bits nicht 100% wirklich 1 oder 0 sind, sondern nur " meistens 1 " oder " meistens 0 ". Vergleichen Sie es mit einem Hebel, den Sie ganz links " oder " ganz rechts ", aber normalerweise reicht es aus, nur auf die andere Seite zu schwingen. - @tkbx versucht
dd
eine Partition zu erstellen, die Sie möglicherweise den gesamten leeren Raum auf 0 füllen möchten eher als zufällig, um eine kleinere komprimierte Datei lat zu erhalten äh. - @Konerak Ich ' bin dem ziemlich misstrauisch. Ich habe ' gehört, dass es überall gesagt wurde, und ich ' habe noch nie einen Beweis dafür gesehen, dass dies auf einer neuen Festplatte möglich ist ( hergestellt in den letzten 10 Jahren mindestens).
Schreibe einen Kommentar