• Nie Znaleziono Wyników

Przekierowanie strumienia danych

N/A
N/A
Protected

Academic year: 2021

Share "Przekierowanie strumienia danych "

Copied!
3
0
0

Pełen tekst

(1)

www.zsp1.eu - 1/3

Przekierowanie strumienia danych

Każdy uruchomiony w Linuksie proces pobiera skądś dane, gdzieś wysyła wyniki swojego działania i komunikaty o błędach. Dane przesyłane są między urządzeniami w postaci strumieni. Strumienie danych przypisane każdemu procesowi są pokazane na (rys. 6.6).

 stdin (standard input), czyli standardowe wejście, z którego proces pobiera dane (domyślnie jest to klawiatura),

 stdout (standard otuput) to standardowe wyjście, z którego wysyłany jest wynik działania procesu (domyślnie jest to ekran),

 stderr (standard error) to standardowe wyjście błędów, gdzie trafiają wszystkie komunikaty o błędach (domyślnie ekran).

Rys. 6.6. Strumienie danych

Linux wszystkie urządzenia traktuje jak pliki, niezależnie od tego, czy to jest plik, folder, urządzenie blokowe (klawiatura, ekran), czy strumień. Powłoka Linuksa identyfikuje je za pomocą przyporządkowanych im liczb całkowitych, tak zwanych deskryptorów plików:

0 to plik, z którego proces pobiera dane (stdin),

1 to plik, do którego proces zapisuje wyniki swojego działania (stdout), 2 to plik, do którego trafiają komunikaty o błędach (stderr),

Za pomocą operatorów przypisania można manipulować strumieniami, poprzez przypisanie deskryptorów: 0,1,2 innym plikom, niż

tym, które reprezentują klawiaturę i ekran.

(2)

www.zsp1.eu - 2/3

Standardowe wejście i wyjście (strumienie danych) możemy przekierować. Do tego celu przygotowano trzy operatory:

 znak „<” umożliwia przekierowanie zawartości pliku do standardowego wyjścia, np. more < plik,

 znak „>” umożliwia przekierowanie strumienia danych ze standardowego wyjścia do pliku; jeżeli plik istnieje, to jego poprzednia zawartość zostaje usunięta, np. ls > plik,

 znaki „>>” umożliwiają przekierowanie strumienia danych ze standardowego wyjścia do pliku; jeżeli plik istnieje, to nowe dane zostają dopisane na końcu pliku.

Przełączanie standardowego wyjścia

Wynik jakiegoś polecenia można wysłać do pliku, a nie na ekran. Do tego celu używa się operatora:

> plik

Przykład: ls -la /usr/bin > ~/wynik

Rezultat działania polecenia ls -la /usr/bin trafi do pliku o nazwie wynik jeśli wcześniej nie istniał plik o takiej samej nazwie, to zostanie utworzony, jeśli istniał, cała jego poprzednia zawartość zostanie nadpisana.

Jeśli chcemy, aby dane wyjściowe dopisywane były na końcu pliku, bez wymazywania jego wcześniejszej zawartości, stosujemy operator:

>> plik

Przykład: free -m >> ~/wynik

Wynik polecenia free -m (pokazuje wykorzystanie pamięci RAM i swap) zostanie dopisany na końcu pliku wynik, nie naruszając

jego wcześniejszej zawartości.

(3)

www.zsp1.eu - 3/3

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 nazywane jest potokiem. Polecenia często wykorzystywane w potokach:

1. 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,

2. less - podobnie jak more, ale przewijanie stron możliwe w obu kierunkach, np. ls -la | less, 3. cat - polecenie wyświetla na ekranie zawartość pliku tekstowego, np. cat /etc/passwd | less,

4. grep - przeszukuje wskazany strumień danych, szukając linii zawierających ciąg znaków pasujących do podanego wzorca, cat /etc/passwd | grep uczen

5. wc - wypisuje liczbę bajtów, słów lub linii w plikach, np. ls -la | wc -1.

Przykład potoku: ls -la | grep plik | wc –l

Cytaty

Powiązane dokumenty

Na początku metody main() zadeklaruj zmienną klasy String o nazwie nazwaPliku , która dalej posłuży do przechowywania nazwy pliku do zapisu danych.. Ponadto

Spełnione jest założenie o normalności &gt;&gt; do weryfikacji hipotezy o średnich wybieramy test t. origin=1, origin=3) Sprawdzenie normalności. mpg dla origin=1 mpg dla origin=3

-Składnia HTML zdefiniowana jest przy użyciu środków definiowania struktury dokumentów SGML (istnieje definicja HTML w postaci

-Składnia HTML zdefiniowana jest przy użyciu środków definiowania struktury dokumentów SGML (istnieje definicja HTML w postaci

-Składnia HTML zdefiniowana jest przy użyciu środków definiowania struktury dokumentów SGML (istnieje definicja HTML w postaci

Natomiast zapisanie wyniku działania polecenia ls do pliku uzy- skuje się poprzez przekierowanie jego standardowego wyjścia.. Służy do tego

." 4565457859 :;?@A=B :C DEEFG HE IJKLMI NOJPMQRSP KTROM MIJ SJU VW SJQXITROYPZ[\] ^JXQRSKL ]__Q`J _RY VOYRaJZ bRaJSIKXJSc d@> ;ef@ghijgkl =m B n C HopqG rRYMKLQMs MYJStP QS

SZCZEPAN FIGIEL JUSTYNA KUFEL Instytut Ekonomiki Rolnictwa &#!'### *+,Warszawa... Szczepan Figiel,