UNIX shell tutorial

3. A standard perifériák és átirányításuk

A Unixban 3 standard be- és kimeneti csatorna van definiálva:

Alapértelmezésben a standard bemenet a billentyűzet, a kimenet és a hibacsatorna pedig a képernyő. Az átiranyítás (redirection) lényege, hogy a programot utasíthassunk arra, hogy a bemenetet ne a billentyűzetről varja, illetve eredményeit ne a képernyőre írja ki.

3.1. A csővezeték (pipe), csövek elágaztatása (tee)

A pipe egyik program kimenetét a másik program bemenetével köti össze.
Jele   |
pl.
$ who | sort

A fenti példa kiírja a bejelentkezett felhasználók listáját, de az nem egyszerűen megjelenik, hanem előtte a sort programba is belekerül, ami végül már sorbarendezve írja ki.

A csövek elágaztatását a tee parancs segítségével lehet elérni. A tee bemenetet a standard inputról veszi, kimenetet két helyre küldi: egyrészt a standard kimenetre, másrészt a paraméterként megnevezett állományba.
pl.

$ date | tee temp
   Tue Feb 10 09:36:38 MET DST 1999
$ cat temp
   Tue Feb 10 09:36:38 MET DST 1999

A fenti esetben a dátum megjelenik a képernyőn is, de a tee parancs a temp fileba is kiírja azt.

$ ls | tee tart | wc -l
   5
$ cat tart
   Mailbox Tomogr Unix mail nsmail
$

A fenti esetben az ls parancs által adott könyvtárlista belekerül a tart fileba, de onnan továbbhalad egy pipe-on át a wc parancs bemenetébe is. Ez megszámolja a szavakat és kiírja azok számát.