GNU/Linux >> Znalost Linux >  >> Linux

Úvod do rour a pojmenovaných rour v Linuxu

V Linuxu pipe příkaz umožňuje odeslat výstup jednoho příkazu druhému. Piping, jak tento termín napovídá, může přesměrovat standardní výstup, vstup nebo chybu jednoho procesu na jiný pro další zpracování.

Syntaxe pro pipe nebo unnamed pipe příkaz je | znak mezi libovolnými dvěma příkazy:

Command-1 | Command-2 | …| Command-N

Zde nelze k potrubí přistupovat prostřednictvím jiné relace; je vytvořen dočasně, aby vyhovoval provádění Command-1 a přesměrovat standardní výstup. Po úspěšném provedení se smaže.

Další zdroje pro Linux

  • Cheat pro příkazy Linuxu
  • Cheat sheet pro pokročilé příkazy systému Linux
  • Bezplatný online kurz:Technický přehled RHEL
  • Síťový cheat pro Linux
  • Cheat sheet SELinux
  • Cheat pro běžné příkazy pro Linux
  • Co jsou kontejnery systému Linux?
  • Naše nejnovější články o Linuxu

Ve výše uvedeném příkladu contents.txt obsahuje seznam všech souborů v určitém adresáři – konkrétně výstup ls -al příkaz. Nejprve grep názvy souborů s klíčovým slovem "file" z contents.txt potrubím (jak je znázorněno), takže výstup cat příkaz je poskytován jako vstup pro grep příkaz. Dále přidáme potrubí pro provedení awk příkaz, který zobrazí sloupec 9 z filtrovaného výstupu z grep příkaz. Můžeme také spočítat počet řádků v contents.txt pomocí wc -l příkaz.

Pojmenované propojení může trvat tak dlouho, dokud je systém v provozu, nebo dokud není smazán. Je to speciální soubor, který se řídí mechanismem FIFO (first in, first out). Lze jej použít jako běžný soubor; tj. můžete do něj psát, číst z něj a otevírat nebo zavírat. Chcete-li vytvořit pojmenovaný kanál, příkaz je:

mkfifo <pipe-name>

Tím se vytvoří soubor pojmenovaného kanálu, který lze použít i ve více relacích shellu.

Dalším způsobem, jak vytvořit FIFO pojmenované potrubí, je použít tento příkaz:

mknod p <pipe-name>

Chcete-li přesměrovat standardní výstup libovolného příkazu na jiný proces, použijte > symbol. Chcete-li přesměrovat standardní vstup libovolného příkazu, použijte < symbol.

Jak je ukázáno výše, výstup ls -al příkaz je přesměrován na contents.txt a vložen do souboru. Podobně vstup pro tail příkaz je poskytován jako contents.txt prostřednictvím < symbol.

Zde jsme vytvořili pojmenované potrubí, my-named-pipe a přesměroval výstup ls -al příkaz do pojmenovaného kanálu. Můžeme otevřít novou shellovou relaci a cat obsah pojmenovaného kanálu, který zobrazuje výstup ls -al příkaz, jak bylo dodáno dříve. Všimněte si, že velikost pojmenovaného kanálu je nula a má označení "p".

Takže až budete příště pracovat s příkazy na linuxovém terminálu a zjistíte, že přesouváte data mezi příkazy, doufejme, že roura tento proces urychlí a zjednoduší.


Linux
  1. Pipes a přesměrování v Linuxu – vysvětleno!

  2. Příklady příkazů mkdir a rmdir v Linuxu

  3. Příklady příkazů swapon a swapoff v Linuxu

  1. Úvod do linuxového příkazu chown

  2. Příklad použití pojmenovaných kanálů v Linux Bash

  3. Jak přejdu pomocí kanálu na příkaz rozdělení Linuxu?

  1. Linux Cat Command:Použití a příklady

  2. Jak používat Pipes a Named Pipes v Linuxu (s příklady)

  3. Úvod do příkazu alternatives v Linuxu