Czytam książkę, mówi:
Każdy proces ma co najmniej trzy kanały komunikacji: „standardowe wejście” (STDIN), „standardowe wyjście” (STDOUT) i „standardowy błąd” (STDERR).
Większość poleceń akceptuje ich dane wejściowe ze STDIN i zapisuje swoje dane wyjściowe do STDOUT. Piszą komunikaty o błędach do STDERR. Ta konwencja pozwala łączyć ze sobą polecenia, takie jak bloki konstrukcyjne, w celu tworzenia złożonych rurociągów.
Powłoka interpretuje symbole
<
,>
i>>
jak instrukcje do przekierowania wejścia polecenia lub wyjście do lub z pliku.Aby połączyć STDOUT jednego polecenia z STDIN drugiego, użyj
|
symbolu, zwanego potocznie potokiem.ps -ef | grep httpd
Zasadniczo chodzi o to, że standardowe wejście to polecenie, które pozwala użytkownikowi na zapis do pliku, podczas gdy standardowe wyjście to polecenie, które ma wyjście zapisu powłoki powłoki bash do powłoki, a standardowy błąd jest podobny do wyjścia, ale jest tylko wywoływane, gdy wystąpi błąd w systemie plików. Następnie przechodzimy do połączenia STDOUT i STDIN i jestem zgubiony.