Linux: potoki, przekierowania i inne operatory sterujące w przykładach

Podobne dokumenty
Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

Technologie Informacyjne - Linux 2

Narzędzia informatyczne w językoznawstwie

Temat zajęć: Filtry, strumienie standardowe oraz przetwarzanie potokowe. stderr

Znaki globalne w Linuxie

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

Windows XP Wiersz polecenia

SYSTEMY OPERACYJNE I laboratorium 3 (Informatyka stacjonarne 2 rok, semestr zimowy)

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Tryb konsolowy ćwiczenie b

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Laboratorium Strumienie w systemach UNIX 4.2 Filtry strumieniowe

Konsola i interpreter poleceń

Operatory zmiany sposobu przypisania standardowych strumieni >,<,>> Jeżeli pierwsze polecenie powiodło się to wykona drugie

Wstęp do systemu Linux

WPROWADZENIE. Warto pamiętać o opcji autouzupełniania, której używamy naciskając klawisz [Tab]

W pierwszej kolumnie wyświetlany jest identyfikator procesu (pid)

System kontroli dostępu ACCO NET Instrukcja instalacji

Uruchamianie programów w systemie Linux, potoki, strumienie, procesy, alias

I. Interfejs użytkownika.

Powłoka, redyrekcja, potok

Moduł 4: Strumienie, potoki, sterowanie procesami

Wstęp do informatyki. stęp do informatyki Polecenia (cz.2)

1 Przygotował: mgr inż. Maciej Lasota

Linux Polecenia. Problem nadpisywania plików. Zmienna noclobber i noglob. Filtry i metaznaki. Problem nadpisywania plików. Opracował: Andrzej Nowak

Elementy wyrażeń regularnych

Tajemnice bconsole czyli pierwsze kroki z tekstową konsolą Bacula cz.1

UŻYTKOWNIK. APLIKACJE UŻYTKOWE (wszelkie programy zawarte domyślnie w systemie operacyjnym jak i samodzielnie zainstalowane przez użytkownika systemu)

SYSTEMY OPERACYJNE ĆWICZENIE POLECENIA SYSTEMU MSDOS

Ćwiczenie 1. Ćwiczenie 2. Ćwiczenie 3. Opisz działanie następujących komend systemowych : COPY EDIT FDISK FIND FORMAT XCOPY

Tomasz Greszata - Koszalin

Skanowanie podsieci oraz wykrywanie terminali ABA-X3

Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX

Definiowanie drukarek w programie ZAFIR

Laboratorium - Obserwacja procesu tłumaczenia nazw DNS

Laboratorium - Poznawanie FTP

Nazwa kwalifikacji: Montaż i eksploatacja systemów komputerowych, urządzeń peryferyjnych i sieci Oznaczenie kwalifikacji: EE.08 Numer zadania: 01

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE

Konsola Linux. autor: Mariusz Barnaś

ZASADY ADRESOWANIA IP cz. II

Poziomy wymagań Konieczny K Podstawowy- P Rozszerzający- R Dopełniający- D Uczeń: - zna rodzaje sieci - zna topologie sieciowe sieci

1. Znajdź za pomocą programu locate wszystkie pliki które zawierają w nazwie słowo netscape locate netscape

Telnet. Telnet jest najstarszą i najbardziej elementarną usługą internetową.

trainxx tramxx

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Konfiguracja konta pocztowego w Thunderbird

Przykładowe zagadnienia na sprawdzian z wiedzy ogólnej. Linux to nazwa: A. Programu biurowego. B. Systemu operacyjnego. C. Przeglądarki internetowej.

Formy dialogowe w środowisku Gnome

instrukcja użytkownika terminala ARGOX PA-20 SYSTEMY AUTOMATYCZNEJ IDENTYFIKACJI

DESlock+ szybki start

Ćwiczenie nr 14: System Linux

Niektóre katalogi są standardowymi katalogami zarezerwowanymi do użytku przez system. Znaczenie wybranych katalogów systemowych jest następujące:

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 25 ARCHITEKTURA SYSTEMU LINUX. Opracował Sławomir Zieliński

Podstawy Informatyki. Wykład 4 Komendy UNIXa, cd

Krótki kurs obsługi środowiska programistycznego Turbo Pascal z 12 Opracował Jan T. Biernat. Wstęp

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2017 CZĘŚĆ PRAKTYCZNA

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 15 PRACA W TRYBIE MS-DOS. Opracował Sławomir Zieliński

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego

tworzenie katalogów Aby utworzyć nowy katalog wpisz: mkdir katalog1 Ta komenda utworzy katalog o nazwie katalog1.

Chemiateoretyczna. Monika Musiał. Ćwiczenia

ZAJĘCIA Komendy Linux WB -> w konsoli tty2 finger exit man pwd pwd finger ls man ls. -> po 2 minusach interpretacja słowa

Szybki start instalacji SUSE Linux Enterprise Server 11

Wstęp do systemu Linux

Szybki start instalacji SUSE Linux Enterprise Server 11 SP1

Usługi sieciowe systemu Linux

Instrukcja konfiguracji funkcji skanowania

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2017 CZĘŚĆ PRAKTYCZNA

MATERIAŁY - udostępnianie materiałów dydaktycznych w sieci SGH

Jak posługiwać się edytorem treści

Kopiowanie przy użyciu szyby skanera. 1 Umieść oryginalny dokument na szybie skanera stroną zadrukowaną skierowaną w dół, w lewym, górnym rogu.

Zanim zaczniesz. Warto ustawić kartę sieciową naszego serwera.

Zgrywus dla Windows v 1.12

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

Cash Flow System Instrukcja

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

Kancelaria Prawna.WEB - POMOC

Podręcznik Google. Cloud Print. Informacje o usłudze Google Cloud Print. Drukowanie przy użyciu usługi Google. Cloud Print.

pozwala wydrukować kopię czarno-białą, a przycisku kopię kolorową. Kopiowanie przy użyciu szyby skanera

Memeo Instant Backup Podręcznik Szybkiego Startu

PORADNIK KORZYSTANIA Z SERWERA FTP ftp.architekturaibiznes.com.pl

Ćwiczenie 1. Podstawowe wiadomości

Systemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier

Stacja graficzna szkoleniowa typ A1, A2, B - Procedura odbioru sprzętu

Zastosowanie filtrów w Linuksie

ABA-X3 PXES v Podręczna instrukcja administratora. XDMCP Licencja FDL (bez prawa wprowadzania zmian) Tryb X terminala

Instrukcja użytkownika

Język C i C++. Podstawy. Zagadnienia do opanowania. Przykład 1. (modyfikuj kod, aby zrealizować punkty 5., 7.)

Wersja 2.0 SERWISOWO. Instrukcja obsługi systemu. Autor: Piotr Koblak. Instrukcja obsługi sytemu SERWIS wersja 2.0 Kontakt do autora:

Konsola MMC. - zarządzanie zaporą sieciową (wf.msc): - zasady zabezpieczeń loklanych (gpedit.msc):

Fiery Remote Scan. Uruchamianie programu Fiery Remote Scan. Skrzynki pocztowe

Instrukcja podłączenia bramki IP 1R+L oraz IP 2R+L w trybie serwisowym za pomocą usługi telnet.

Jak przystosować szkolną pracownię komputerową do pracy w systemach Windows i Linux?

Podstawy użytkowania Linux a

Instrukcja do laboratorium Systemów Operacyjnych. (semestr drugi)

INSTRUKCJA OBSŁUGI DLA SIECI

Instrukcja pisania i użytkowania makroinstrukcji w programie TELE 32

ELEKTRONICZNA KSIĄŻKA ZDARZEŃ

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2019 ZASADY OCENIANIA

TM PROGRAM TERMINALA RS232 DLA MULTIPLEKSERA 8XRS232 / ETHERNET 10BASE-T

Transkrypt:

- 1/9 - Linux: potoki, przekierowania i inne operatory sterujące w przykładach Strumienie danych: stdin, stdout, sterr... 2 Przekierowanie standardowego strumienia wyjścia (stout) do pliku - operatory > i >>... 3 Przekierowanie strumienia wyjścia do innego programu - operator pipe (potoki)...3 Przekierowanie strumienia błędów do pliku operatory 2> i 2>>... 5 Przekierowanie strumienia błędów i strumienia wyjścia do jednego pliku - operator &>...6 Zmiana źródła danych przesyłanych na strumień wejścia - operator <... 6 Plik specjalnego przeznaczenia - /dev/null...7 Inne operatory sterujące - operatory && oraz ;... 7 Kontynuowanie wpisywania komendy w kolejnej linii operator \... 8 Autor: mgr inż. Mariusz Zalewski (http://mmm.wshe.lodz.pl/mzalewski) Katedra Sieci i Systemów Operacyjnych WSHE (http://ksiso.wshe.lodz.pl) Wersja dokumentu: 1.02 (z dnia 13 czerwca 2005 r.)

- 2/9 - Strumienie danych: stdin, stdout, sterr Każda informacja, którą otrzymujemy i możemy zinterpretować, jest rodzajem danych. Strony internetowe, czyli dane w postaci zapisanych plików formatu html, php, asp, jsp lub innych przesyłane są, zmieniane i analizowane po drodze od serwera do klienta przez co najmniej kilkanaście narzędzi sprzętowych i programowych. Dane te wędrują (przepływają) z jednego miejsca do kolejnego, aby w ostateczności ukazać się na ekranie monitora. We wspomnianym przykładzie, zawartość strony najpierw jest przesyłana z dysku twardego serwera do jego pamięci operacyjnej, gdzie następnie przetwarzana jest przez oprogramowanie serwera WWW, aby dalej przesłać ją przez sieć komputerową (kilkanaście urządzeń sieciowych) do komputera odbiorcy. Następnie, za pośrednictwem sprzętu odbiorcy, jego karty sieciowej, pamięci operacyjnej, systemu operacyjnego, przeglądarki internetowej i karty graficznej przesyłana jest na ekran monitora. Procedura jest więc długa i czasami skomplikowana. Taki przepływ danych w określonym kierunku (w określone miejsce) nazywamy strumieniem danych. W systemie Linux, jak w każdym innym systemie operacyjnym, można również spotkać strumienie przepływających danych. Najważniejsze trzy, które definiują przesył danych między programami nazwane są: 1. stdin strumień wejścia jest to miejsce, do którego przesyłane są wejściowe dane dla programu. Program otrzymuje tym kanałem informacje, aby je przetworzyć. Aby działanie edytora tekstu miało sens, należy na jego stdin przesłać dane w postaci pliku, który użytkownik chce edytować. Na standardowe wejście przesyła się również komendy sterujące w programach wymagających interaktywnego wpisywania znaków lub poleceń. Przykładem może być program nslookup, służący do testowania serwerów usługi DNS. Na jego standardowe wejście przesyłane są dane pochodzące z klawiatury komputera, które dalej analizowane są przez sam program. Za pomocą przekierowań można zmienić źródło danych przekazywanych na stdin. Przykładowo, zamiast używania klawiatury, można na wejście przesłać plik z treścią komend. 2. stout strumień wyjścia strumień ten opuszczają dane, które generuje program (są wynikiem jego działania). Dane pochodzące z tego strumienia najczęściej są wyświetlanie w konsoli, na ekranie monitora, inaczej opisując strumień stout skierowany jest domyślnie na konsolę. Efekt można zobaczyć uruchamiając jedną z podstawowych komend date. Wynik (aktualna data i godzina) można zobaczyć na ekranie monitora. Można jednak przekierować strumień wyjścia w inne miejsce do pliku lub do strumienia wejścia innego programu. W takich przypadkach

- 3/9 - data nie zostanie wyświetlona na ekranie, tylko będzie zapisana w pliku tekstowym lub przeanalizowana przez następny program jako dane wejściowe. 3. sterr strumień wyjścia błędów podobnie jak w stdout strumień ten opuszczają dane, które generuje program. Charakterystyczną cechą danych pochodzących z tego strumienia jest to, iż informują one o błędach, jakie program napotkał przy wykonywaniu swojego zadania. Przykładowo, jeśli wykonamy komendę zmiany katalogu (cd) i jako parametr podamy nieistniejący katalog, to program wyśle przez strumień wyjścia błędów (sterr) informację, że taki katalog nie istnieje. Domyślnie strumień błędów jest skierowany na konsolę (tak jak stout), czyli pośrednio również na ekran monitora. Dlatego też, o wszystkich błędach użytkownik jest informowany na bieżąco w trakcie wykonywania programu. Strumień wyjścia błędów, można przekierować, aby nie przesyłał informacji o błędach na ekran, tyko zapisywał w pliku. Strumienie wyjścia (stdout) strumień wyjścia błędów (stderr) zostały oddzielone, aby można było każdy z nich przekierować w inne miejsce. Przekierowanie standardowego strumienia wyjścia (stout) do pliku - operatory > i >> Aby wynik działania komendy date był zapisany w pliku aktualna-data bieżącego katalogu należy wykonać komendę: $ date > aktualna-data Jeśli plik aktualna-data był wcześniej utworzony w systemie i zawierał jakieś dane, to powyższa komenda skasuje poprzednią zawartość i zapisze aktualną datę. Aby nie usuwać danych znajdujących się w tym pliku, czyli dopisać informacje na jego końcu, należy użyć innego operatora: $ date >> aktualna-data Przekierowanie strumienia wyjścia do innego programu - operator pipe (potoki) Przekierowanie wyniku jednego programu na wejście innego programu polega na przesłaniu danych pochodzących ze standardowego wyjścia (stout) pierwszego programu na strumień wejścia (stdin) innego programu. Operator pipe, ze względu na swoje możliwości, jest najczęściej

- 4/9 - wykorzystywanym operatorem w systemu Linux podczas pracy w konsoli. Komenda $ cat /etc/passwd wyświetli na ekranie zawartość pliku /etc/passwd (przechowującego informacje o kontach użytkowników). Wykonując komendę: $ cat /etc/passwd grep mail na ekranie pojawią się tylko te linie z wyniku komendy cat /etc/passwd, które zawierają słowo mail podane w parametrze komendy grep. Wynik komendy cat (czyli zawartość pliku /etc/passwd) będzie przesyłany na wejście komendy grep, która przeanalizuje go pod kontem występowania linii z tekstem mail i wyświetli na ekranie: mail:x:8:8:mail:/var/mail:/bin/sh fetchmail:x:110:65534:/var/run/fetchmail:/bin/sh Można przetwarzać wyświetlane informacje dalej: $ cat /etc/passwd grep mail cut -f1 -d: Powyższa komenda, wcześniejsze przefiltrowane dane w postaci dwóch linii, analizuje przy pomocy komendy cut. Jej parametry mówią o tym, aby otrzymane dane przefiltrować i wyświetlić (wysłać na standardowe wyjście) tylko pierwszą kolumnę danych tekstowych -f1 (-fx, gdzie x oznacza numer kolumny), zakładając, że kolumny oddzielone są znakiem dwukropka -d: (-dz, gdzie z oznacza znak). W wyniku końcowym na ekranie pojawia się tylko lista nazw kont użytkowników (znajdujących się w pierwszej kolumnie): mail fetchmail Komenda $ cat /etc/passwd grep mail cut -f3 -d: wyświetli tylko trzecią kolumnę: 8 110 Często wynik komendy find jest bardzo długi. Aby wyświetlić go w przystępnej formie i analizować, można wynik przekierować na wejście komendy less: # find / -iname 'a*' less Komenda powyższa szuka w systemie wszystkich plików, których nazwy rozpoczynają się literą 'a',

- 5/9 - następnie wynik prześle do programu less. Aby opuścić program less należy nacisnąć klawisz q. Za pomocą komendy wc (ang. words count) można zliczać liczbę znaków, słów i linii w danych przesłanych na jej wejście. Komenda $ ls -la /etc wyświetli listę wszystkich plików (każdy w osobnej linii) i katalogów znajdujących się w katalogu /etc. Przekierowując wynik tej komendy na wejście komendy wc: $ ls -la /etc wc -l użytkownik uzyska odpowiedź, ile tych plików istnieje. Ściśle analizując otrzyma informację, ile linii (parametr -l) zawiera wynik komendy ls -la /etc. Przekierowanie strumienia błędów do pliku operatory 2> i 2>> Standardowy strumień błędów, tak jak standardowy strumień wyjścia, jest domyślnie przekierowany na konsolę. O wszystkich błędach użytkownik jest więc natychmiast powiadamiany. Dla przykładu, wykonanie poniższej komendy jako zwykły użytkownik (np. knoppix w dystrybucji Knoppix): $ find / -iname '*resolv*' > ~/wynik-poszukiwan spowoduje wyświetlenie na ekranie listy błędów, jakie napotkał program find podczas swojej pracy (błędy związane są z brakiem dostępu do pewnych katalogów). Proszę zwrócić uwagę, iż sam wynik poszukiwań będzie zapisany do innego pliku. Mimo tego, błędy są wyświetlane na ekranie, ponieważ korzystają z innego strumienia (sterr) skierowanego na konsolę. Można ten strumień przekierować do pliku: $ find / -iname '*resolv*' 2> ~/bledy-podczas-poszukiwan Jeśli w pliku bledy-podczas-poszukiwan wcześniej byłyby jakieś informacje, to zostaną one skasowane. Za pomocą operatora 2>>, zamiast kasować zawartość pliku, można na jego końcu dopisać dane pochodzące ze strumienia: $ find / -iname '*resolv*' 2>> ~/bledy-podczas-poszukiwan Wynik poszukiwań będzie przekierowany na ekran (stout), a błędy będą dopisywane do pliku o nazwie bledy-poczas-poszukiwan.

- 6/9 - Przy pomocy jednego polecenia można przekierować dwa strumienie do osobnych plików: $ find / -iname '*resolv*' > ~/wynik-poszukiwan 2> ~/bledy-podczas-poszukiwan Przekierowanie strumienia błędów i strumienia wyjścia do jednego pliku - operator &> Za pomocą jednego operatora można przekierować standardowy strumień wyjścia i strumień błędów do tego samego pliku: $ find / -iname '*resolv*' &> ~/wynik-poszukiwan-i-bledy Zmiana źródła danych przesyłanych na strumień wejścia - operator < Jak wspomniano we wstępie, w trakcie wykonywania programu, czasami należy podać mu instrukcje sterujące. Wracając do wspomnianego programu nslookup, aby sprawdzić jaki adres IP ma komputer o nazwie domenowej www.wshe.lodzl.pl należy wykonać następujące kroki: $ nslookup > www.wshe.lodz.pl Server: 194.42.116.194 Address: 194.42.116.194#53 Non-authoritative answer: Name: www.wshe.lodz.pl Address: 194.42.117.6 > exit $ Wyjaśnienie: po uruchomieniu nslookup pojawia się prompt tego programu (>) oczekujący komend sterujących. Wpisując nazwę domeny (www.wshe.lodz.pl) i potwierdzając enterem, program wyświetli uzyskane od serwera informacje. Aby wyjść z programu należy wywołać wewnętrzną komendę exit programu nslookup. Użytkownik musi w trakcie używania programu podawać komendy sterujące. Jeśli często korzysta z tego programu, aby uzyskać informację o adresie IP

- 7/9 - serwera wshe, może przykładowo przygotować plik tekstowy o nazwie szukaj o treści: www.wshe.lodz.pl exit Plik ten zawiera komendy sterujące dla programu nslookup (to, co użytkownik musiałby za każdym razem pisać na klawiaturze). Następnie, przekierowując ten plik na wejście komendy nslookup: $ nslookup < szukaj użytkownik otrzyma od razu odpowiedź bez konieczności wpisywania komend sterujących: Server: 194.42.116.194 Address: 194.42.116.194#53 Non-authoritative answer: Name: www.wshe.lodz.pl Address: 194.42.117.6 Plik specjalnego przeznaczenia - /dev/null Jest to plik, do którego przekierowywane są dane, które użytkownika nie interesują - nie chce ich wyświetlać na ekranie lub zapisywać do pliku. O pliku /dev/null można mówić, jak o czarnej dziurze, do której można przesłać dane, ale już nie można ich z niej wyciągnąć. Wywołując komendę: $ find / -iname '*resolv*' 2> /dev/null system wyszuka plików o zadanej nazwie i wyświetli je na ekranie. Błędy nie będą natomiast nigdzie wyświetlane ani zapisywane. Plik /dev/null istnieje w systemie Linux ze względu na to, że strumienie wyjścia zawsze muszą być gdzieś skierowane. Jeśli skierujemy je na /dev/null, oznacza to, że dane, które opuszczają ten strumień nie będą wyświetlone, zapisane, czy też analizowane przez inny program. Inne operatory sterujące - operatory && oraz ; Bardzo przydatnym operatorem jest &&, gdyż pozwala na warunkowe wykonanie kolejnej komendy w przypadku, gdy pierwsza zakończyła swoje działanie bez błędów. Dla przykładu, wykonanie poniższej komendy jako administrator: # find / -iname '*resolv*' && echo bez bledow

- 8/9 - wyświetli listę znalezionych plików z frazą resolv w nazwie, a następnie, na końcu, komenda echo wyświetli napis bez bledow (jeśli oczywiście find nie napotka błędów). Wykonanie tej komendy z prawami zwykłego użytkownika z pewnością wygenerowałoby błędy, ze względu na brak dostępu do pewnych katalogów. Dlatego też w przypadku wykonania komendy z poziomu zwykłego użytkownika: $ find / -iname '*resolv*' && echo bez bledow napis bez bledow z pewnością się nie ukaże. Operatora && można użyć w jednym poleceniu kilka razy: # mount /mnt/cdrom && cp /mnt/cdrom/plik ~/kopia-pliku && umount /mnt/cdrom Polecenie to montuje cdrom i jeśli się to uda wykonuję kopię pliku z cdromu a następnie (jeśli kopiowanie zakończy się bez błędów) odmontuje cdrom z systemu. Innym operatorem, który pozwala na wykonanie kilku komend w jednej linii jest ;. W przeciwieństwie do && kolejna komenda za znakiem ; wykona się niezależnie od tego, czy błędy w poprzedniej komendzie wystąpiły, czy nie: $ echo -n dzisiaj jest ; date +%D ; echo Zycze milego dnia! wyświetli na ekranie (niezależnie, czy w pierwszej komendzie wystąpi błąd, czy nie): Dzisiaj jest 04/12/05 Zycze milego dnia! Kontynuowanie wpisywania komendy w kolejnej linii operator \ Często zdarza się, że komenda jest tak długa, iż nie mieści się w jednej linijce. Aby kontynuować pisanie komendy w następnej linii, na końcu poprzedniej, dla czytelności, można umieścić znak \. Dla przykładu: $ find \ > /etc \ > -iname '*resolv*' jest równoznaczne z wykonaniem komendy: $ find /etc -iname '*resolv*' Przy korzystaniu z systemu nie ma konieczności korzystania ze znaku \ przy długich komendach. Jeśli zachodzi taka potrzeba i komenda jest bardzo długa, konsola automatycznie przesunie kursor

- 9/9 - do następnej linii (treść komendy można wpisywać dalej). Problem stanowi dokumentacja. Zapisanie długich poleceń, na przykład potoków, w kilku liniach bez jawnego określenia czy linia stanowi dalszy ciąg komendy z poprzedniej linii może wprowadzić w błąd czytelnika. Proszę zwrócić uwagę, iż przykłady opisywane w tym dokumencie mogą być czytelniejsze w następującej postaci: # mount /mnt/cdrom \ && cp /mnt/cdrom/plik ~/kopia-pliku \ && umount /mnt/cdrom $ cat /etc/passwd \ grep mail \ cut -f3 -d: Ze względu na przejrzystszą formę, bardzo często spotyka się w dokumentacji do programów zastosowanie operatora \. Czytelnik ma wtedy pewność, iż kolejna linia stanowi kontynuację polecenia z bieżącej linii tekstu.