Nulové zariadenie
Nulové zariadenie je vo viacerých operačných systémoch špeciálny súbor, ktorý zahodí všetky doň zapísané údaje, pričom zapisujúcemu procesu oznámi, že operácia prebehla úspešne. V prípade čítania (pokiaľ je podporované) nevráti žiadne údaje, len príznak konca súboru (end-of-file, EOF).[1]
V unixových a odvodených operačných systémoch (vrátane Linuxu, BSD, macOS) má štandardne názov /dev/null
.[1][2] V žargóne unixových programátorov je niekedy nazývaný ako čierna diera (angl. black hole, blackhole).[3][4]
Nulové zariadenie sa zvyčajne používa na odstránenie nežiaducich výstupov procesu alebo ako vhodný prázdny súbor pre vstup. Toto sa najčastejšie spraví presmerovaním.[5]
Tieto poznatky sú často inšpiráciou pre unixových programátorov ako žargónové výrazy a metafory, napríklad „prosím pošlite sťažnosti na adresu /dev/null
“ alebo „môj mail je archivovaný v /dev/null
“ namiesto málo vtipných fráz „neposielajte žiadne sťažnosti“, „môj mail bol zmazaný“ a „choď do /dev/null
“ je vlastne iba pretvorené a humornejšie „choď do pekla“.[chýba zdroj]
Nulové zariadenie je často obľúbeným predmetom technických vtipov,[6] ako napríklad varovanie používateľa že systémový /dev/null
je už na 98 % plný. Na 1. apríla roku 1995 si nemecký časopis c't vystrelil z čitateľov reportážou o zosilnenom /dev/null
čipe, ktorý sa mal efektívnejšie zbaviť prichádzajúcich dát ich premenením na blikanie internej LED diódy.[chýba zdroj]
/dev/null
je špeciálny súbor, nie adresár, preto sa doň nemôžu prenášať súbory so známym Unixovým mv
príkazom za účelom vymazať ich. Na tento účel je štandardne príkaz rm
.
Nulové zariadenie bolo podľa manuálovej stránky Berkeley Unix zavedené v Unixe verzie 4 z roku 1973.[7][8]
Ekvivalentné zariadenie v CP/M (a neskôr DOS a Windows) sa nazýva NUL:
resp. len NUL
.[9] Pod klasickým Amiga operačným systémom je toto zariadenie nazvané NIL:
. Podobne, v OpenVMS je toto zariadenie nazvané NL:
.[chýba zdroj]
Príklady použitia
[upraviť | upraviť zdroj]Unix/Linux/BSD/macOS
[upraviť | upraviť zdroj]rm neexistujuci-subor 2> /dev/null
– pokúsi sa vymazať neexistujúci súbor bez zobrazenia chybovej hlášky (chybový výstup, kam sa hláška posiela je presmerovaný na nulové zariadenie)
DOS/Windows
[upraviť | upraviť zdroj]PAUSE >NUL
– počká na stlačenie klávesy bez zobrazenia akejkoľvek hlášky (štandardný výstup, kam sa správa posiela je presmerovaný na nulové zariadenie)
Referencie
[upraviť | upraviť zdroj]- ↑ a b Directory Structure and Devices [online]. pubs.opengroup.org, [cit. 2023-05-28]. Dostupné online.
- ↑ null(4) — Linux manual page [online]. man7.org, [cit. 2023-05-28]. Dostupné online.
- ↑ ABBASI, Nawaz. Q&A trip to Linux’s Black Hole - /dev/null [online]. linuxjournal.com, 2021-09-07, [cit. 2023-05-28]. Dostupné online.
- ↑ SHARMA, Sagar. What is /dev/null in Linux? [online]. linuxhandbook.com, 2023-01-23, [cit. 2023-05-28]. Dostupné online.
- ↑ ALBING, Carl. bash Cookbook by Carl Albing, JP Vossen, Cameron Newham : Throwing Output Away [online]. oreilly.com, [cit. 2023-05-28]. Dostupné online.
- ↑ 16. The FreeBSD Funnies : 16.4. Where does data written to /dev/null go? [online]. docs.freebsd.org, [cit. 2023-05-28]. Dostupné online.
- ↑ null(4) [online]. The NetBSD Project. Dostupné online.
- ↑ sh(1) manual from version 4 Unix [online]. . Dostupné online.
- ↑ HaiyingYu. Redirecting error messages from Command Prompt: STDERR/STDOUT [online]. learn.microsoft.com, [cit. 2023-05-28]. Dostupné online.