OnWorks Linux i Windows Online WorkStation

logo

Darmowy hosting online dla stacji roboczych

<Poprzedni | Spis treści | Następne>

Rurociągi

Zdolność poleceń do odczytywania danych ze standardowego wejścia i wysyłania ich na standardowe wyjście jest wykorzystywana przez funkcję powłoki zwaną rurociągi. Korzystanie z operatora potoku „|” (pionowy pasek), standardowym wyjściem jednego polecenia może być lamówka na standardowe wejście innego:



polecenie 1 | polecenie 2

polecenie 1 | polecenie 2


Aby to w pełni zademonstrować, będziemy potrzebować kilku poleceń. Pamiętasz, jak powiedzieliśmy, że istnieje już taki, który akceptuje standardowe wejście? Jego mniej. Możemy użyć mniej aby wyświetlić, strona po stronie, wynik dowolnego polecenia, które wysyła swoje wyniki na standardowe wyjście:



[ja@linuxbox ~]$ ls -l /usr/bin | mniej

[ja@linuxbox ~]$ ls -l /usr/bin | mniej


obraz

Jest to niezwykle przydatne! Stosując tę ​​technikę, możemy wygodnie sprawdzić dane wyjściowe dowolnego polecenia generującego standardowe wyjście.


Różnica między > i |

Na pierwszy rzut oka zrozumienie przekierowania realizowanego przez operatora rurociągu może być trudne | w porównaniu z operatorem przekierowania >. Mówiąc najprościej, operator przekierowania łączy polecenie z plikiem, podczas gdy operator potoku łączy wyjście jednego polecenia z wejściem drugiego polecenia.

polecenie 1 > plik1 polecenie1 | polecenie 2

Wiele osób, ucząc się o rurociągach, spróbuje wykonać następujące czynności, „aby zobaczyć, co się stanie”.

polecenie 1 > polecenie 2

Odpowiedź: Czasami dzieje się coś naprawdę złego.



obraz

Oto rzeczywisty przykład przesłany przez czytelnika, który administrował urządzeniem serwerowym opartym na systemie Linux. Jako superużytkownik zrobił to:

#cd /usr/bin

# ls > mniej

Pierwsze polecenie umieściło go w katalogu, w którym przechowywana jest większość programów, a drugie polecenie nakazał powłoce nadpisanie pliku mniej z wyjściem ls Komenda. Od / usr / bin katalog zawierał już plik o nazwie „less” (plik mniej program), drugie polecenie nadpisało plik mniej plik programu z tekstem z ls niszcząc w ten sposób mniej programu w swoim systemie.

Lekcja z tego jest taka, że ​​operator przekierowania po cichu tworzy lub nadpisuje pliki, dlatego należy go traktować z dużym szacunkiem.


 

Najlepsze przetwarzanie w chmurze dla systemu operacyjnego w OnWorks: