Wprowadzaniu puleccń 35
Strumień błędów został skierowany do pliku, nie ujrzeliśmy więc na ekranie żadnego komunikatu. Plik nowyraport.txt pozostanie pusty, ale w pliku bledy.txt znajdzie się informacja o powstałym błędzie.
Pionowa kreska (znak |) nosi nazwę operatora polaku i służy do przekazywania rezultatów jednego polecenia kolejnemu w charakterze danych wejściowych. Potoki umożliwiają szybkie konstruowanie złożonych procedur.
Użycie potoków pozwala na zaoszczędzenie czasu i wysiłku podczas pracy z poleceniami linuksowymi. Aby dane polecenie można było umieścić w potoku, musi ono odczytywać dane zc standardowego strumienia wejścia i zapisywać rezultaty do standardowego strumienia wyjścia. Polecenia spełniające te dwa warunki nazywamy filtrami.
PATRZ RÓWNIEŻ
* Więcej o filtrach służących do obróbki tekstu powiemy w rozdziale 4.
Potoki mogą być bardzo proste lub bardzo złozonc i mieć różnorodne zastosowania. Oto kilka przykładów wykorzystania potoków:
# cat raport.txt | wc -1 >liczba wierszy.txt
Polecenie zliczające wiersze we wskazanym pliku i generujące prosty raport:
# find / | wc -1 >liczba_pJ.ikow. txt
Polecenie zliczające pliki w systemie począwszy od katalogu głównego:
# find / | sort | uniq -d >powtorzone_nazwy_plikow.txt Polecenie wyszukujące w systemie pliki o powtarzających się nazwach:
# strings /usr/lib/ispell/american.hash | sort | \ tee duzo_litery.dict | tr A-Z a-z >male_litery.diet
Powyższy potok generuje listę słów zawartych w słowniku systemowym korzystając z polecenia string. Lista ta zostaje następnie posortowana (sort); polecenie tee zapisuje kopię słownika w pierwotnej postaci (słowa zapisane dużymi literami) w pliku <iu-ze_J.itery.txt, program tr konwertuje wszystkie duże litery do małych, a rezultat zostaje umieszczony w pliku nale litery.txt. Otrzymujemy zatem dwie kopie słownika: jedną zapisaną dużymi literami, a drugą małymi.
Symbol ł służy do uruchamiania programów linuksowych w tle co umożliwia korzystanie z danej konsoli wirtualnej w trakcie działania programu.