Powłoka, redyrekcja, potok

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

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

Zakład Systemów Rozproszonych

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

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

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

Znaki globalne w Linuxie

JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA

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

1 Przygotował: mgr inż. Maciej Lasota

Pracownia Komputerowa wykład III

Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

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

Narzędzia informatyczne w językoznawstwie

Bash - wprowadzenie. Bash - wprowadzenie 1/39

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

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

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

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

Technologie Informacyjne - Linux 2

Pracownia Komputerowa wykład III

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

Pracownia komputerowa. Dariusz wardecki, wyk II

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

Systemy operacyjne Programowanie w języku powłoki sh

Wstęp do systemu Linux

Współczesne systemy komputerowe

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

Instrukcja instalacji aplikacji Comarch Smart Card ToolBox

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

Podstawy użytkowania Linux a

Systemy operacyjne / Programowanie w języku powłoki sh str.1/19

Kurs systemu Unix wykład wstępny. Kurs systemu Unix 1

Elementy wyrażeń regularnych

Moduł 4: Strumienie, potoki, sterowanie procesami

Systemy Operacyjne. Część II Zarządzanie/Administracja Systemem. 5: Skrypty. autor: mgr inż. Andrzej Woźniak

Ćwiczenie 1. Podstawowe wiadomości

Technologie Informacyjne - Linux 1

Pracownia Komputerowa wyk ad III

Uruchamianie zadań w środowisku CLUSTERIX z wykorzystaniem klienta tekstowego systemu GRMS

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

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Konsola i interpreter poleceń

Powłoka interpreter poleceń systemu UNIX

Biblioteka standardowa - operacje wejścia/wyjścia

Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1)

Ćwiczenie nr 14: System Linux

Przekierowanie wejścia wyjścia:

Wstęp do systemu Linux

"Klasyczna" struktura systemu operacyjnego:

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

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

Linux: System Plików

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

Instrukcja instalacji aplikacji Comarch Smart Card ToolBox dla urządzeń kryptograficznych.

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

BASH - WPROWADZENIE Bioinformatyka 4

Wstęp do informatyki Shell podstawy

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

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

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

System Linux - użytkowanie

Podstawy systemów UNIX

Laboratorium Strumienie w systemach UNIX 4.2 Filtry strumieniowe

INFORMATYKA Studia Niestacjonarne Elektrotechnika

Temat zajęć: Tworzenie skryptów powłoki systemu operacyjnego.

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

MODELOWANIE MATERIAŁÓW I PROCESÓW

Technologie Informacyjne - Linux 3

host name: protokół SSH System plików - wprowadzenie Ścieżki dostępu

Linux cz.3: polecenia systemowe, ćwiczenia

Powłoki - interaktywna praca z wierszem poleceń

Zakład Systemów Rozproszonych

EDYTOR TEKSTOWY VIM WYBRANE POLECENIA. Pracownia Informatyczna 5

Instalacja i konfiguracji czytników kart kryptograficznych, aplikacji procertum CardManager w systemach Mac OS X

System plików. Podstawy systemu Linux

System komputerowy. System komputerowy

Instrukcja instalacji aplikacji Comarch Smart Card ToolBox

Podstawy używania konsoli tekstowej w systemie Linux. Andrzej Zbrzezny

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

PODSTAWY INFORMATYKI

Zadanie nr 3: Sprawdzanie testu z arytmetyki

Budowa i oprogramowanie komputerowych systemów sterowania. Laboratorium 4. Metody wymiany danych w systemach automatyki DDE

Umożliwia ona pokazanie ukrytych plików i katalogów, nazwa ich zaczyna się od kropki.

Systemy operacyjne i sieci komputerowe Szymon Wilk System operacyjny 1

Windows XP Wiersz polecenia

Środowisko programisty

Stosowanie poleceń związanych z zarządzaniem plikami oraz katalogami: nazwa_polecenia -argumenty ścieżka/ścieżki do katalogu/pliku

Interpreter poleceń oraz zmienne środowiskowe

Strumienie, pliki. Sortowanie. Wyjątki.

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

System operacyjny UNIX system plików. mgr Michał Popławski, WFAiIS

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Zarządzanie użytkownikami w

Filtry, metaznaki, cytowania. Proste skrypty. Polecenia find, tee, mail.

Programowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.1

Transkrypt:

UNIX POWŁOKA I POTOK WYKŁAD 5 Powłoka, redyrekcja, potok UNIX POWŁOKA POWŁOKA ( ang. SHELL) - to program interpretujący polecenia użytkownika. nazywamy powłoką. Powłoka przyjmuje polecenia od użytkownika, analizuje je i przekazuje jądru życzenia użytkownika. Bezpośrednio po zgłoszeniu się użytkownika do Systemu UNIX następuje automatyczne uruchomienie interpretera(inaczej powłoki), który rozpoczyna pracę na rzecz użytkownika (każdy użytkownik otrzymuje własny i odrębny egzemplarz procesu powłoki). Powłoka od razu sygnalizuje na ekranie terminala( powłoka Bourne a znakiem $) gotowość przyjęcia polecenia. Pojawienie się tego znaku rozpoczyna cykl, w jakim pracuje powłoka. /bin/sh (powłoka Bourne'a) - pierwsza, zapewnia dużą mobilność między systemami, wykorzystywana głównie w kryptach administracyjnych bin/csh - powłoka C, składnia zbliżona do języka C, domyślna powłoka systemu SOLARIS, niezgodna z powłoką Bourne'a /bin/ksh - odpowiedź AT&T na powłokę C (BSD*), zgodna z powłoką Bourne'a, standard systemów AIX, HP-UX, SOLARIS, na początku w systemach licencjonowanych /bin/bash - rozbudowana, zgodna z powłoką Bourne'a, wolna od licencji, najpopularniejsza /bin/ash - zgodna z powłoką sh, domyślna powłoka środowiska Cygwin *BSD Berkley Software Distribution 1

UNIX POWŁOKA Dlaczego warto wiedzieć w jaki sposób posługiwać się i w pełni wykorzystywać możliwości powłoki?? W systemach operacyjnych Linux, Mac OS X powłoka jest ważnym źródłem komunikacji pomiędzy komputerem i użytkownikiem Powłoka doskonale nadaje się do automatyzacji zadań administracyjnych i konfiguracyjnych (np. zakładanie kont użytkowników) Aktualizacja a także pobór wielu aplikacji systemu Linux dostępna jest tylko i wyłączne z poziomu powłoki To powłoka wykonuje większą część operacji w systemie, wliczając w to zadania inicjowane poprzez interfejs graficzny UNIX POWŁOKA Powłoka pracuje w cyklu. Na jeden cykl powłoki składają się: Wypisanie znaku zachęty (Bourne - $) Czekanie na wprowadzenie tekstu polecenia przez użytkownika Analiza wiersza pleceń, wyszukiw. odpow. programu realizującego polecenie Przyjęcie od jądra odpowiedzi i rozpoczęcie nowego cyklu Zlecenie jądru wykonanie odszukanego programu Przerwanie powtarzania cykli powłoki może nastąpić jeśli polecenie użytkownika brzmi: exit lub zostanie naciśnięta na klawiaturze kombinacja klawiszy Ctrl-D, co oznacza, że użytkownik nie ma zamiaru kontynuować wprowadzania dalszych poleceń. Powłoka zleca wtedy jądru zamknięcie sesji użytkownika. 2

UNIX POWŁOKA UOGÓLNIONA POSTAĆ POLECEŃ POWŁOKI SYSTEMU UNIX Wszystkie polecenia rozpoznawane przez powłokę mają taką samą postać ogólną: $ nazwapolecenia argument1 argument2 argument3... ls, mkdir, rm chmod etc. -l, -s, -a, o+w, -v, -C plik1, plik2,plik3 plikn Konieczne Opcjonalne Argumenty polecenia mogą być 2 różnych typów: opcjami (najczęściej są oznaczane symbolami literowymi poprzedzonymi znakiem - np. w poleceniu ls -l) nazwami plików UNIX POWŁOKA STANDARDOWE STRUMIENIE I PLIKI. prawie każde polecenie powłoki realizuje swoje funkcje na zasadzie przetwarzania(przekształcania) strumienia informacji napływającej(w sposób określony przez treść polecenia) w strumień informacji przetworzonej. Każdemu procesowi w chwili uruchomienia przypisuje się standardowy strumień wejściowy i standardowy strumień wyjściowy. Domyślny strumień wejściowy -klawiatura Domyślny strumień wyjściowy ekran terminalu Większość programów wypisujących informacje wpisuje je do standardowego strumienia wyjściowego i pobiera dane ze standardowego strumienia wejściowego STDIN TERMINAL STDOUT STDERR HOST Strumień diagnostyczny wyjście zawsze na ekran 3

UNIX POWŁOKA STANDARDOWE STRUMIENIE I PLIKI. przykład Znak zachęty Polecenie: cal 9 2000 ma za zadanie przywołać kalendarz września roku 2000 STDIN - klawiatura STDOUT- terminal KOJARZENIE STRUMIENIA WEJŚCIA WYJŚCIA. Jeżeli użytkownik uzna, że standardowe skojarzenie strumieni wejścia/wyjścia (STDIN, STDOUT) nie odpowiada jego potrzebom, może spowodować skojarzenie alternatywne. Tę czynność zwykło się nazywać redyrekcją. Polecenie z redyrekcją strumienia STDOUT ma postać: Usuwa poprzednią zawartość pliku Jeśli plik o takiej nazwie jak podaliśmy Już istniał $ polecenie > plik lub $ polecenie >> plik Umieszcza wynik działania Poleceniew plikuplik (a nie jak to Ma miejsce domyślnie w terminalu) Nie usuwa poprzedniej zawartości pliku. Dołącza do poprzedniej zawartości pliku plik wynik działania polecenia polecenie TERMINAL STDIN STDOUT PLIK STERR HOST 4

KOJARZENIE STRUMIENIA WEJŚCIA WYJŚCIA. Polecenie z redyrekcją strumienia STDIN ma postać: $ polecenie < plik Dane na których zostanie wykonane polecenie polecenie zostaną pobrane z pliku plik (a nie jak domyślnie ze standardowego wejścia klawiatury) TERMINAL STDOUT STDIN PLIK STERR HOST KOJARZENIE STRUMIENIA WEJŚCIA WYJŚCIA. Polecenie z redyrekcją strumienia STDIN oraz STDOUT: $ polecenie <plikin >plikout Dane na których zostanie wykonane polecenie polecenie zostaną pobrane z pliku plikin, a wynik Operacji zostanie zapisany w pliku plikuot STDIN PLIK TERMINAL STERR HOST STDOUT PLIK 5

KOJARZENIE STRUMIENIA WEJŚCIA WYJŚCIA. przykład Polecenie: cal 9 2000 ma za zadanie przywołać kalendarz września roku 2000 STDOUT to jest ekran REDYREKCJA dla STDOUT: cal 9 2000 > wrzesien2000 ma za zadanie przywołać kalendarz września roku 2000 ale zapisać go w pliku o nazwie wrzesien2000 STDOUTto jest plik Zawartość pliku podglądamy poleceniem more wrzesien2000 KOJARZENIE STRUMIENIA WEJŚCIA WYJŚCIA. Polecenie: cat (domyślnie STDOUT=ekran, STDIN =klawiatura) Aby zamknąć STDIN w nowej linii wprowadź EOF (Ctrl-D) Redyrekcja: cat >komentarz STDOUT = plik komentarz STDIN = klawiatura Zadanie1: Połącz pliki komentarzi wrzesien2000 w jeden plik koniec0, a potem sprawdź wynik. Sprawdzenie zawartości pliku komentarz: more komentarz Zadanie2: Dopisz swoje imię i nazwisko na koniec pliku koniec0, umieść następnie wynik w pliku koniec1używając polecenia cat, a potem sprawdź wynik. 6

KOJARZENIE STRUMIENIA WEJŚCIA WYJŚCIA. Rozwiązanie 1. cat plik1 plik2 > plik3 Rozwiązanie 2b. cat >plik2 <plik1 (**) Rozwiązanie 2a. cat >> plik3 (*) (*) Konkatenacja dotyczy STDOUT ale w trybie append(dołącz) stąd znak redyrekcji >> (**)Konkatenacja dotyczy zarówno: STDIN skojarzone z koniec0 STDOUT skojarzone z koniec1 Kolejność argumentów dowolna!! Proces może być rozumiany jako pewne przekształcenie strumienia informacji, zgonie z poniższym schematem: polecenie filtruje informację napływającą (STDIN) w informację przekształconą (STDOUT) w sposób określony przez twórcę programu Przykład Polecenie wc filtruje informację ze strumienia STDIN przekazując tę informację w formie przetworzonej(stdout). cal 2000 > alfa przygotowanie pliku alfa z kalendarzem na rok 2000 wc <alfa STDIN to zawartość pliku alfa STDOUT to zestaw odpowiednio przetworzonych informacji ze strumienia STDIN: 40 linii, 463 wyrazy, 1778 znaków 7

Przykład Jak szybko się dowiedzieć, ile obiektów znajduje się we wskazanym katalogu (w przykładzie jest to katalog /home ). ls /home > listahome przygotowanie pliku listahome zawierającego listę obiektów w katalogu /home wc-w <listahome STDIN zawartość pliku listahome STDOUT ciąg liczb określających cechy informacji ze strumienia STDIN, czyli cechy tekstu zapisanego w pliku listahome more listahome wyświetla ono zawartość pliku listahome, która jest listą obiektów w katalogu /home (wykonano tutaj tylko dla sprawdzenia) Wady, przedstawionego rozwiązania na poprzednim slajdzie, rozwiązania to: śmieć w postaci pliku o nazwie listahome w katalogu aktualnym aby uzyskać jedną liczbę trzeba wykonać co najmniej 3 polecenia PYTANIE : Czy istnieje możliwość skrócenia tej operacji? ODPOWIEDŹ: TAK! Służy temu pojęcie POTOKU POTOK jest to sposób zapisu szeregu poleceń (minimum dwóch), w którym wyjście poprzedzającego procesu jest kierowane bezpośrednio na wejście procesu kolejnego. IDEA!!! 1 2 polecenie1argumenty polecenie2argumenty 8

Poprzedni przykład (wykorzystajmy potok) Jak szybko się dowiedzieć, ile obiektów znajduje się we wskazanym katalogu (w przykładzie jest to katalog /home ). ROZWIAZANIE POPRZEDNIE przygotowanie pliku listahome zliczenie ilości wyrazów w listahome usunięcie pliku listahome 3 Polecenia ROZWIAZANIE NOWE - POTOK STDIN polecenia wc STDOUTz polecenia ls(listuj) staje się 1 Polecenie Nie było konieczności tworzenia dodatkowego pliku!!!!! Zadanie 1 Zlicz ilu użytkowników w danym momencie pracuje w systemie. Wykorzystaj do tego celu poznane zagadnienie potoku. 9

Zadanie 2 Zlicz, ilu różnych użytkowników aktualnie pracuje w systemie cyfrowym rat. Wykorzystaj rozwiązanie zadania 1. Zadanie 3 Sprawdź czy użytkownik o określonym identyfikatorze np. szczurjest aktualnie w systemie, i jakiej/-ich linii tty używa. 10

Zadanie 4 Zlicz, ile plików we katalogu /home jest dostępne do zapisu dla wszystkich użytkowników z grupy others Zadanie 5 Zlicz, ile katalogów w katalogu /home to katalogi których właścicielem jest użytkownik o identyfikatorze root Rozwiązanie 5 11

UNIX POWŁOKA, REDYREKCJA, POTOK KONIEC 12