Preskočiť na obsah

Nulové zariadenie

z Wikipédie, slobodnej encyklopédie

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]

unixových a odvodených operačných systémoch (vrátane Linuxu, BSD, macOS) má štandardne názov /dev/null.[1][2]ž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]
  1. a b Directory Structure and Devices [online]. pubs.opengroup.org, [cit. 2023-05-28]. Dostupné online.
  2. null(4) — Linux manual page [online]. man7.org, [cit. 2023-05-28]. Dostupné online.
  3. ABBASI, Nawaz. Q&A trip to Linux’s Black Hole - /dev/null [online]. linuxjournal.com, 2021-09-07, [cit. 2023-05-28]. Dostupné online.
  4. SHARMA, Sagar. What is /dev/null in Linux? [online]. linuxhandbook.com, 2023-01-23, [cit. 2023-05-28]. Dostupné online.
  5. ALBING, Carl. bash Cookbook by Carl Albing, JP Vossen, Cameron Newham : Throwing Output Away [online]. oreilly.com, [cit. 2023-05-28]. Dostupné online.
  6. 16. The FreeBSD Funnies : 16.4. Where does data written to /dev/null go? [online]. docs.freebsd.org, [cit. 2023-05-28]. Dostupné online.
  7. null(4) [online]. The NetBSD Project. Dostupné online.
  8. sh(1) manual from version 4 Unix [online]. . Dostupné online.
  9. HaiyingYu. Redirecting error messages from Command Prompt: STDERR/STDOUT [online]. learn.microsoft.com, [cit. 2023-05-28]. Dostupné online.