/dev/zero
/dev/zero je speciální soubor v unixovém operačním systému, který poskytuje neomezené množství nulových bajtů při čtení.[1] Jedním z typických použití je poskytnutí streamu bajtů pro inicializaci úložiště dat.[2] Původně byl představen v roce 1988 v operačním systému SunOS 4.0 (nyní operační systém Solaris).
Funkce
Čtení z /dev/zero vrací nulové znaky (0x00) po celou dobu čtení. Na rozdíl od /dev/null může být /dev/zero použit i jako zdroj, nikoli pouze jako černá díra pro data. Všechny operace zápisu do /dev/zero uspějí a data se ztratí, avšak soubor /dev/null je pro tento účel známější.
V okamžiku, kdy je soubor /dev/zero namapován na virtuální adresní prostor, je jeho použití shodné s použitím anonymní paměti, například paměti nepřipojené k žádnému souboru.
Příklady
Unixová utilita dd umí kopírovat stream ze zdroje do cíle za možného provedení změn dat během procesu.
Smazání dat v diskovém oddílu (nízkoúrovňové formátování)
$ dd if=/dev/zero of=/dev/$cilovy_oddil
Vytvoření 1 MiB souboru nazvaného foobar naplněného nulami:[3]
$ dd if=/dev/zero of=foobar count=1024 bs=1024
Poznámka: velikost bloku, hodnoty mohou být uvedeny v SI (desetinné) hodnoty, např. v GB, MB, atd. Pro vytvoření souboru o velikosti 1 GB je možné napsat
$ dd if=/dev/zero of=foobar count=1 bs=1GB
Poznámka: Namísto vytváření skutečného souboru naplněného samými nulami umožňuje mnoho souborových systémů také vytvoření řídkého souboru, které mají totožný obsah, avšak využívají méně skutečného místa.
Reference
V tomto článku byl použit překlad textu z článku /dev/zero na anglické Wikipedii.
- ↑ Mitchell, Mark; Oldham, Jeffrey; Samuel, Alex (2001), "6.5.2 /dev/zero", Advanced Linux Programming, Sams Publishing, p. 136, ISBN 9780735710436
- ↑ Love, Robert (2007), "Mapping /dev/zero", Linux System Programming: Talking Directly to the Kernel and C Library, O'Reilly Media, Inc., pp. 259–260, ISBN 9780596009588
- ↑ Optimizing NFS Performance: Tuning and Troubleshooting NFS on HP-UX Systems, Dave (2002).