Każdy program pracujący w konsoli ma trzy strumienie: wejściowy, wyjściowy oraz błędów. Standardowe wejście to konsola, wyjście oraz wyjście dla błędów to ekran monitora. Pozwala to w wygodny sposób kierować strumieniami komunikatów a także układać polecenia w ciągi, co pozwala tworzyć nawet skomplikowane polecenia.
Strumień wyjściowy możemy przekierować korzystając ze znaku >. Pozwala to w łatwy sposób np. zapisać dane do pliku.
Przykład: zapiszmy wszystkie pliki z obecnego katalogu do pliku spis.txt.
ls > spis.txt
Strumień wejściowy zmieniamy z domyślnej klawiatury dzięki '<’. Przydatne jest to w przypadku, gdy chcemy przekazać dane zapisane w pliku do skryptu czy polecenia.
Przykład: Policzmy ile jest plików zapisanych w poprzednim przykładzie.
wc -l < spis.txt
Standardowy strumień błędów aplikacji możemy przekierować używając znaku '2>’. Dzięki temu możemy łatwo zapisać błędy np. do pliku.
Przykład: błędy z programu ls zapiszemy do pliku bledy.txt.
ls bledny_katalog 2> bledy.txt
Jeżeli chcemy przekazywać dane z jednego polecenia do drugiego najlepiej skorzystać z łącznika |.
Przykład: Chcemy znaleźć pakiety z nazwą zawierającą słowo MySQL. Zrobimy to następująco:
rpm -qa | grep MySQL
ćwiczenie 2
Proszę wykonać następujące czynności:
- Stworzyć plik z listą katalogów i plików w katalogu głównym (tylko).
- Przeliczyć ile katalogów zostało zapisanych w pliku z poprzedniego punktu, czyli ile katalogów znajduje się w katalogu głównym.
- Sporządzić listę katalogów i plików z katalogu /usr/share/doc (tylko i wyłącznie z tego katalogu) z literą y w nazwie (z pomocą polecenia grep).