Podstawowe operacje sys Linux 3

background image

Podstawowe operacje

systemu Linux 3

Na podstawie książki
Systemy operacyjne i sieci
komputerowe.
Podręcznik z płytą CD-ROM. Wydanie
zmienione
Krzysztof Pytel, Sylwia Osetek,

background image

Przekierowanie strumienia

danych

Każdy uruchomiony w Linuksie proces

pobiera z pewnego miejsca dane, a w inne

wysyła

wyniki

swojego

działania

i

komunikaty o błędach. Dane są przesyłane

między urządzeniami w postaci strumieni.

background image

Przekierowanie strumienia

danych

Strumienie danych przypisane każdemu

procesowi są pokazane na schemacie.

Proces

stdi
n

stdo
ut

stde
rr

std -
standard

background image

Przekierowanie strumienia

danych

stdi
n

(standard

input),

czyli

standardowe

wejście, z którego proces pobiera dane

(domyślnie jest to klawiatura),

stdo
ut

(standard output) to standardowe wyjście,

do którego jest wysyłany wynik działania
procesu (domyślnie jest to ekran),

stde
rr

(standard error) to standardowe wyjście
błędów,

gdzie

trafiają

wszystkie

komunikaty o błędach (domyślnie ekran).

background image

Przekierowanie strumienia

danych

Linux wszystkie urządzenia traktuje jak pliki, niezależnie

od tego, czy jest to plik, katalog, 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).

background image

Przekierowanie strumienia

danych

Za pomocą operatorów przypisania można

manipulować

strumieniami,

przez

przypisanie deskryptorów: 0, l, 2 innym

plikom niż tym, które reprezentują

klawiaturę i ekran.

background image

Przekierowanie strumienia

danych

Standardowe wejście i wyjście (strumienie danych) można

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.

background image

Przełączanie standardowego

wejścia

Jako standardowe wejście można zamiast

klawiatury użyć pliku:

< plik

background image

Ćwiczenie

Przekierowanie strumienia danych z pliku

1. W pierwszej kolejności należy stworzyć

plik lista o następującej zawartości:

slackware

redhat

debian

caldera

background image

Ćwiczenie

Przekierowanie strumienia danych z pliku

2. Następnie należy użyć polecenia sort, dla którego

standardowym wejściem będzie plik lista:

# sort < lista

Wynikiem będzie wyświetlenie na ekranie posortowanej

zawartości pliku lista:

caldera

debian

redhat

slackware

background image

Przełączanie standardowego

wyjścia

Wynik dowolnego polecenia można wysłać

do pliku, a nie na ekran. Do tego celu używa

się operatora:

> plik

background image

Przełączanie standardowego

wyjścia

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.

background image

Przełączanie standardowego

wyjścia

Jeśli użytkownik chce, aby dane

wyjściowe dopisywane były na końcu

pliku,

bez

wymazywania

jego

wcześniejszej zawartości, to powinien

stosować operator:

>> plik

background image

Przełączanie standardowego

wyjścia

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.

background image

Ćwiczenie

Przekierowanie strumienia danych do pliku

Standardowym urządzeniem, do którego

kierowane są wyniki działania poleceń,

Jest ekran. Strumień danych może być

skierowany

do

innego

miejsca

przeznaczenia, np. do pliku. Aby skierować

strumień danych zawierający listę zbiorów

z katalogu /etc do pliku, należy:

background image

Ćwiczenie

Przekierowanie strumienia danych do pliku

1. Zalogować się na konto użytkownika

root.

2. Wpisać polecenie

# ls /etc > ~/lista_plikow.txt

Uwaga

Jeżeli plik lista_plikow.txt istniał w katalogu domowym, to

zostanie usunięty i utworzony nowy plik o tej samej nazwie.

background image

Ćwiczenie

Przekierowanie strumienia danych do pliku

3. Wpisać polecenie

# date >> ~/lista_plikow.txt.

4. Na końcu pliku lista_plikow.txt zostanie

dopisana informacja o czasie wywołania

polecenia.

5. Sprawdzić zawartość pliku lista_plikow.txt

poleceniem

# cat ~/lista_plikow.txt

background image

Przełączanie standardowego

wyjścia błędów

Do pliku można też kierować strumień

diagnostyczny:

2> plik

background image

Przełączanie standardowego

wyjścia błędów

Przykład

# ls -y 2> ~/error

W powyższym skrypcie polecenie ls jest użyte z

błędną opcją -y; komunikat o błędzie trafi do pliku

error.

Za pomocą operatora >> plik, można dopisać do tego

samego pliku kilka komunikatów o błędach, dopisanie

kolejnego nie spowoduje skasowania wcześniejszej

zawartości pliku.

background image

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

jest

nazywane potokiem.

background image

Potokowanie strumienia danych

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

less - podobnie jak more, ale przewijanie

stron możliwe w obu kierunkach, np.

# ls -la | less

background image

Potokowanie strumienia danych

cat - polecenie wyświetla na ekranie zawartość

pliku tekstowego, np.

# cat /etc/passwd | less

grep - przeszukuje wskazany strumień danych,

szukając linii zawierających ciąg znaków pasujących

do podanego wzorca, np.

# cat /etc/passwd | grep uczen

wc - wypisuje liczbę bajtów, słów lub linii w plikach,

np.

# ls -la | wc -1

background image

Potokowanie strumienia danych

sort - sortuje, zlepia lub porównuje wszystkie linie z

podanych plików, np.

# cat /etc/passwd | sort

tee - rozgałęzienie strumienia. Pobiera dane ze

strumienia wejściowego i tworzy dwa strumienie

wyjściowe - jeden podłączony do standardowego

wyjścia, a drugi do wskazanego pliku, np.

# cat /etc/passwd | sort | tee konta_alfabetycznie

background image

Potokowanie strumienia danych

Przykład

# ls -la | grep plik | wc -l

W tym przykładzie polecenie ls -la wygeneruje zestaw

danych, będący listą zbiorów w katalogu bieżącym (każdy

zbiór w nowej linii). Dane te przekazane zostaną na wejście

polecenia grep. Polecenie to wyszuka linie zawierające ciąg

znaków "plik". Polecenie wc zliczy linie w zbiorze danych

uzyskanych na wyjściu polecenia grep. W wyniku

przetwarzania danych przez cały potok zostanie uzyskana

liczba plików zawierających w nazwie ciąg znaków "plik".

background image

Ćwiczenie

Tworzenie potoków danych

Należy utworzyć plik zawierający informacje

o liczbie zbiorów w określonym katalogu.

Dodatkowo w pliku należy umieścić wykaz

zbiorów spełniających określone kryteria

oraz liczbę tych zbiorów. Aby wykonać

zadanie, należy:

1. Zalogować się na konto użytkownika root.

background image

Ćwiczenie

Tworzenie potoków danych

2.

Wpisać w konsoli polecenie

# ls -la | wc -l > lista.txt

Polecenie ls utworzy listę zbiorów w

aktualnym

katalogu

i

przekaże

do

przetworzenia przez polecenie wc. Polecenie

to zliczy liczbę wierszy w liście i przekieruje

wynik do pliku lista.txt.

background image

Ćwiczenie

Tworzenie potoków danych

3. Wpisać w konsoli polecenie

# ls -la | grep .txt >> lista.txt

Polecenie ls utworzy listę zbiorów w aktualnym

katalogu i przekaże do przetworzenia przez

polecenie grep. Polecenie to odfiltruje zbiory

posiadające w nazwie ciąg znaków txt i

dopisze ich wykaz do pliku lista.txt.

background image

Ćwiczenie

Tworzenie potoków danych

4. Wpisać w konsoli polecenie

# ls -la | grep .txt | wc -l >> lista.txt

Polecenie ls utworzy listę zbiorów w aktualnym

katalogu i przekaże do przetworzenia przez polecenie

grep. Polecenie grep odfiltruje zbiory posiadające w

nazwie ciąg znaków .txt i przekaże do przetworzenia

przez polecenie wc. Polecenie wc zliczy liczbę wierszy

w liście i dopisze wynik do pliku lista.txt.


Document Outline


Wyszukiwarka

Podobne podstrony:
Podstawowe operacje sys Linux 1
Podstawowe operacje sys Linux 6
Podstawowe operacje sys Linux 5
Podstawowe operacje sys Linux 4
Podstawowe operacje sys Linux 2
Podstawowe operacje na plikach i katalogach, Linux
05 Wykonywanie podstawowych operacji ślusarskich
Blender 3D Bryły Podstawowe Podstawowe Operacje Tutorial
późniak koszałka,bazy?nych, Podstawowe operacje na?zach?nych
Podstawowe komendy i polecenia w Linux
Podstawowe operacje logiczne, technik teleinformatyk
algorytmu ameba podstawowe operacje
Podstawowe komendy i polecenia w Linux
Podstawy administracji systemu Linux
3 podstawowe operacje cd id 339 Nieznany (2)
Podstawowe komendy systemu Linux
Ćw1 Podstawowe operacje wejściawyjścia (IO), instrukcja if

więcej podobnych podstron