GNU/Linux >> Znalost Linux >  >> Linux

Co je /dev/null v Linuxu

Soubor „/dev “ adresář v systémech založených na Linuxu a Unixu obsahuje soubory odpovídající zařízením připojeným k systému. Jak je například vidět na snímku obrazovky níže, k jednotce CD se přistupuje pomocí „cdrom ‘, jednotka DVD s ‘dvd ‘, k pevným diskům se přistupuje pomocí ‘sda1 ‘, ‘sda2 ‘ atd.

Doporučená četba :Co je „> /dev/null 2>&1“ v Linuxu

Všechny tyto soubory komunikují se systémem Linux prostřednictvím příslušných souborů v „/dev ‘. Vstupně/výstupní zpracování zařízení probíhá prostřednictvím těchto souborů. To je způsobeno důležitou vlastností souborového systému v Linuxu:vše je buď soubor, nebo adresář.

$ cd /dev

Kromě těchto souborů, které představují skutečná fyzická zařízení, existují některé soubory v „/dev “, které jsou známé jako „soubory virtuálního zařízení “ nebo „soubory pseudozařízení ‘. Tyto soubory nezpracovávají žádná zařízení a používají se k poskytování různých funkcí požadovaných operačním systémem.

Například soubor „/dev/random ‘ při čtení vrací sadu náhodných bajtů generovaných generátorem náhodných čísel.

Jedním z takových souborů, který je velmi populární, je „/dev/null ‘. Dnes se pokusíme dozvědět o tomto souboru a za jakým účelem je v Linuxu přítomen.

/dev/null:Co to je a proč to tam je?

V Linuxu možná víte, že příkazový řádek se primárně používá ke spouštění nejen administrativních procesů nebo procesů správy serveru, ale také každodenních procesů. Příkazový řádek (nazývaný také Terminál ) spustí program a vytiskne výstup (známý také jako log). ).

Terminál tiskne dva typy výstupu:

  1. STDOUT nebo „Standardní výstup “ je výstup obsahující obecné informace o běhu programu a zprávy o úspěchu běhu programu.
  2. STDERR nebo „Standardní chyba ‘ je výstup obsahující chybové zprávy běhu programu.

Čím větší je proces, tím větší je kláda vyrobená tímto procesem. Mnohokrát většinu logu není pro uživatele ani relevantní. To dokonce využívá zbytečné zdroje stroje.

Související čtení :Jak filtrovat záznamy v souboru protokolu na základě časového období

V takových případech „/dev/null ‘ přijde vhod. Tento soubor se používá jako „sink ‘, tj. cílový soubor pro zápis protokolu. Až na to, že jakmile je protokol zapsán do tohoto souboru, je okamžitě zahozen/smazán operačním systémem.

$ ls /dev

Žlutě nahoře je zvýrazněn soubor „null “ v adresáři „dev ‘ souborový systém.

Díky okamžitému vyřazení dat je tedy zabráněno zbytečné spotřebě paměti. To je užitečné zejména v případě složitých automatizačních skriptů, které obsahují výstup 10s a 20s programů.

Chcete-li přesměrovat výstup libovolného programu do /dev/null , jednoduše použijte operátor přesměrování v prostředí Linux (‘>’) následovně.

$ ls > /dev/null

Jak vidíte, když „ls ‘ běží normálně, zobrazuje obsah adresáře jako výstup, ale když je přesměrován na /dev/null , je celý výstup potlačen.

Závěr

V tomto článku jsme se dozvěděli o /dev/null a jeho použití v Linuxu. Další informace o přesměrování výstupu na /dev/null s různými kombinacemi STDOUT a STDERR zde.

Pokud máte nějaké dotazy nebo zpětnou vazbu, dejte nám vědět v komentářích níže!


Linux
  1. Linux:Rozdíl mezi /dev/console, /dev/tty a /dev/tty0?

  2. Jak přenosné jsou /dev/stdin, /dev/stdout a /dev/stderr?

  3. DD z /dev/zero do /dev/null...co se vlastně stane

  1. Linux:Rozdíl mezi /dev/console , /dev/tty a /dev/tty0

  2. Je špatné propojit /dev/random s /dev/urandom v Linuxu?

  3. Výstup ls -l v adresáři /dev systému Unix/Linux

  1. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  2. Kdy použít /dev/random vs /dev/urandom?

  3. Linux – Co znamená písmeno „u“ v /dev/urandom?