/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
editovatČ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
editovatUnixová 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
editovatV 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).