Strumieniowanie danych

Damian Stelmach

Strumieniowanie to bardzo często stosowana technika podczas pracy z systemem Linux. Polega ona na przekierowaniu dowolnej informacji z wejścia lub wyjścia w inne miejsce czyli do innego polecenia, programu lub też pliku. Wejściem może być np. znak wpisany z klawiatury, a wyjściem to co dane polecenie czy program wyświetli na ekranie. Przykład? Polecenie ip a, które wyświetla konfigurację adresów IP. To co zobaczymy na ekranie po jego wykonaniu to właśnie wyjście.

Podstawowy przykład działania strumieni zobrazować można z wykorzystaniem polecenia, które poznaliśmy w poprzednim wpisie, a mianowicie cat. Załóżmy, że chcemy zapisać jakąś informację, jakiś dowolny tekst do pliku. Do tego wykorzystamy właśnie program cat, a także przekierowanie stronienia danych wejściowych, danych wpisanych z klawiatury do pliku. Wykonanie takiego polecania:

cat > plik1

Uruchomi możliwość wprowadzenia dowolnego tekstu z klawiatury. Zapiszmy coś takiego:

tekst wpisany z klawiatury

Edycję kończymy wybierając kombinację CTRL + D na klawiaturze.

To co wpisaliśmy, ten tekst: tekst wpisany z klawiatury czyli dane wejściowe, zostały przekierowane do pliku o podanej nazwie. Mówiąc prościej tekst podany z klawiatury został zapisany do pliku.

Kolejne dane do tego pliku? Nie ma problemu, pamiętać musimy tylko o tym, iż dodanie kolejnych danych wejściowych o tego samego pliku wymaga już podwojenia znaku większości. Takie polecenie:

cat >> plik1

Ponownie uruchomi możliwość dodania tekstu do pliku, w którym już co jest zapisane. Podajemy teskt:

kolejna linia tekstu

Teraz w naszym pliku znajdują się już dwie linie tekstu:

cat_strumien

Jeśli w podanym przykładzie nie zastosowalibyśmy podwójnego strumienia, podwojonego znaku większości dane zostały by nadpisane, a nie dodane.

ZAPAMIĘTAJ!
Jeśli chcesz dodać dane z wejścia lub wyjścia do pliku, a nie chcesz nadpisywać danych, które już tam są tylko dodać nowe - używaj podwójnego strumienia!

Przykładów zastosowania strumieni jest wiele, podczas administrowania systemem korzysta się z tej technik bardzo często. Wykonanie np. takiego polecenia:

chage -l damian > dane_hasla_damian

Spowoduje zapisanie informacji o ustawieniach hasła usera damian do pliku o nazwie dane_hasla_damian. W tym przypadku dane zwrócone przez polecenie chage -l damian zostają przekierowane strumieniem > do pliku o nazwie dane_hasla_damian

Po wykonaniu polecenia cat dane_hasla_damian te informacje nam się wyświetlą:

cat_strumien_chage

W kolejnych wpisach pojawi się więcej przykładów przekierowania strumienia danych z wykorzystaniem wielu inny poleceń.