• Nie Znaleziono Wyników

plik, znak „>” umożliwia przekierowanie strumienia danych ze standardowego wyjścia do pliku

N/A
N/A
Protected

Academic year: 2021

Share "plik, znak „>” umożliwia przekierowanie strumienia danych ze standardowego wyjścia do pliku"

Copied!
3
0
0

Pełen tekst

(1)

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 rysunku.

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).

Linux wszystkie urządzenia traktuje jak pliki, niezależnie od tego, czy to jest plik, folder, klawiatura, ekran itp., 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.

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

(2)

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.

Ćwiczenia

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: ps -u > procesy.txt

Rezultat działania polecenia ps -u (procesy użytkownika trafi do pliku o nazwie procesy.txt, jeśli wcześniej nie istniał plik o takiej samej nazwie, to zostanie utworzony, jeśli istniał, cała jego poprzednia zawartość zostanie nadpisana. Zawartość pliku możemy odczytać poleceniem cat procesy.txt.

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

plikPrzykład: ps -aux>>procesy.txt

Sprawdź zawartość pliku : cat procesy.txt

Przełączanie standardowego wejścia

Jako standardowe wejście można zamiast klawiatury użyć pliku:

< plik . Dla przykładu wykorzystamy plik procesy.txt, którego

posortowaną zawartość (wg. użytkowników) wyświetlimy na ekranie Przykład: sort < procesy.txt

Przełączanie standardowego wyjścia błędów

Do pliku można przekierować także strumień diagnostyczny:

polecenie 2> plik

(3)

Przykład ls -y 2> błąd.txt

Informacja o błędzie zostanie wpisana do pliku błąd.txt.

Cat błąd.txt - odczytamy zawartość pliku , informacje o błędzie

Skieruj strumień danych zawierający listę zbiorów z katalogu /etc do pliku, w tym celu:

a. Zaloguj się na konto root.

b. Przekieruj rezultat wyświetlenia zawartości folderu etc do pliku lista_plikow.txt, zawartego w katalogu domowym.

c. Dopisz do pliku lista_plikow.txt informację o czasie wywołania polecenia - użyj date.

d. Sprawdź zawartość pliku lista_plikow.txt.

Zadanie domowe.

Utwórz plik tekstowy „nazwiska” zawierający 5 dowolnych nazwisk zapisanych w osobnych liniach, podobnie utwórz plik „imiona”

zawierający 5 dowolnych imion.

A. Posortowane imiona i nazwiska przekieruj do nowych plików

„nazwiskasort” i „imionasort”

B. Wpisy z posortowanych plików „nazwiskasort” i „imionasort”

przekieruj do jednego pliku „imionainazwiska”

C. Utwórz plik tekstowy o nazwie skrypt1 i następującej treści:

#!/bin/bash

echo ”pierwszy skrypt”

kaszana

Nadaj mu prawa wykonywania poleceniem chmod a+x . Teraz jest tak zwanym skryptem napisanym w języku powłoki. Plik skrypt1 uruchamiamy wpisując w wierszu poleceń ./skrypt1. Wynikiem działania pliku jest wypisanie na standardowym wyjściu tekstu „pierwszy skrypt„

oraz wysłanie na standardowe wyjście diagnostyczne komunikatu o błędzie związanym z niezdefiniowaną instrukcją kaszana.

D. Przekieruj informację o błędzie skryptu do pliku „imionainazwiska”, dopisz ją do istniejącej zawartości pliku.

Cytaty

Powiązane dokumenty

[r]

Ściągnij z bazy WIOD dane (dla Polski) dotyczące emisji zanieczyszczeń do atmosfery (http://www.wiod.org/database/eas13, plik POL_AIR).. Aby niewielkim nakładem „przenieść” dane

Miesiąc - to pole precyzuje, za który miesiąc, za który naliczone są wpłaty (składki) korygowane w pliku. Informacja o tym, czy składka podstawowa za wybrany miesiąc

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

Następnie zapisz zmodyfikowane dane do pliku o nazwie złożonej ze starej nazwy i wyrażenia „_wg_ocen” – czyli dla przykładu „studenci_wg_ocen.txt”..

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

Wadium, wnoszone w innych dopuszczalnych przez Zamawiającego formach, należy dołączyć do oferty w oryginale w koszulce lub w dodatkowej kopercie z dopiskiem „WADIUM –

Ich habe einem Freund gesagt, daß bei einem ihn betreffenden Problem die Gefahr besteht, daß er die Heilungskriese nicht übersteht und habe ihm &#34;die&#34;!.