Potokowanie strumienia danych Zastosowanie znaku | pozwala na
Transkrypt
Potokowanie strumienia danych Zastosowanie znaku | pozwala na
Potokowanie strumienia danych Zastosowanie znaku | pozwala na łączenie wyjścia jednego polecenia z wejściem innego. Dane wygenerowane za pomocą pierwszego polecenia przekazane zostaną na wejście następnego polecenia i po przetworzeniu przekazane na wejście kolejnego lub na ekran. Tego typu przetwarzanie danych jest nazywane potokiem. Polecenia często wykorzystywane potokach: more – służy do przeglądania tekstu strona po stronie, jeden ekran na raz, przewijanie stron możliwe tylko „do przodu”, np. ls –la | more, less – podobnie jak more, ale przewijanie stron możliwe w obu kierunkach, np. ls –la | less, cat – polecenie wyświetla na ekranie zawartość pliku tekstowego, np. cat /etc/passwd | less, grep – przeszukuje wskazany strumień danych, szukając linii zawierających ciąg znaków pasujących do podanego wzorca, cat /etc/passwd | grep uczen, wc – wypisuje liczbę bajtów, słów lub linii w plikach, np. ls –la | wc –l sort – sortuje, zlepia lub porównuje wszystkie linie z podanych plików, np. cat /etc/passwd | sort tee – rozgałęzienie strumienia. Pobiera dane ze strumienia wejściowego i tworzy dwa strumienie wyjściowe – jeden podłączony do standardowego wyjścia, a drugi do wskazanego pliku, np. cat /etc/passwd | sort | tee konta_alfabetycznie Przykład: ls –la | grep plik | wc –l W tym przykładzie polecenie ls –la wygeneruje zestaw danych, będący listą zbiorów w katalogu bieżącym (każdy zbiór w nowej linii). Dane te przekazane zostaną na wejście polecenia grep. Polecenie to wyszuka linie zawierające ciąg znaków „plik”. Polecenie wc zliczy linie w zbiorze danych uzyskanych na wyjściu polecenia grep. W wyniku przetwarzania danych przez cały potok zostanie uzyskana liczba plików zawierających w nazwie ciąg znaków „plik”. Ćwiczenie 1 – Tworzenie potoków danych 1. Zaloguj się na konto użytkownika root. 2. Wpisz w konsoli polecenie: ls –la | wc –l > lista.txt Polecenie ls utworzy listę zbiorów w aktualnym katalogu i przekaże do przetworzenia przez polecenie wc. Polecenie to zliczy liczbę wierszy w liście i przekieruje wynik do pliku lista.txt. 3. Wpisać w konsoli polecenie: ls –la | grep .txt >> lista.txt Polecenie ls utworzy listę zbiorów w aktualnym katalogu i przekaże do przetworzenia przez polecenie grep. Polecenie to odfiltruje zbiory posiadające w nazwie ciąg znaków .txt i dopisze ich wykaz do pliku lista.txt. 4. Wpisać w konsoli polecenie: ls –la | grep .txt | wc –l >> lista.txt Polecenie ls utworzy listę zbiorów w aktualnym katalogu i przekaże do przetworzenia przez polecenie grep. Polecenie grep odfiltruje zbiory posiadające w nazwie ciąg znaków .txt i przekaże do przetworzenia przez polecenie wc. Polecenie wc zliczy liczbę wierszy w liście i dopisze wynik do pliku lista.txt.