Potok w Linuxie

Słownik kwalifikacji INF.02 - Administracja i eksploatacja systemów komputerowych, urządzeń peryferyjnych i lokalnych sieci komputerowych

Potok, czyli znak |, służy w powłoce Linux do przekazania standardowego wyjścia jednego polecenia na standardowe wejście drugiego polecenia.

Schemat:

polecenie1 | polecenie2

Oznacza to, że wynik tekstowy polecenie1 trafia jako dane wejściowe do polecenie2.

Przykład

ls -l | grep txt

Polecenie ls -l wypisuje listę plików, a grep txt filtruje tylko linie zawierające tekst txt.

Ważne w kontekście chmod

Polecenie chmod zwykle nie wypisuje nic na standardowe wyjście, jeśli wykona się poprawnie. Dlatego zapis:

chmod ug=rw szkola.txt | ls

nie przekazuje do ls żadnej istotnej treści. Samo chmod zmienia jednak uprawnienia pliku.

W praktyce, aby najpierw zmienić prawa, a potem wyświetlić szczegóły pliku, czytelniej byłoby użyć:

chmod ug=rw szkola.txt && ls -l szkola.txt

albo dwóch osobnych poleceń:

chmod ug=rw szkola.txt
ls -l szkola.txt