Technologie Informacyjne - Linux 3

Podobne dokumenty
Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

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

Kurs pisania skryptów w powłoce BASH

Skrypty powłoki w systemie Linux

1 Przygotował: mgr inż. Maciej Lasota

System operacyjny Linux

Systemy operacyjne 11

Pracownia Komputerowa wykład III

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

Interpreter poleceń oraz zmienne środowiskowe

Systemy operacyjne. Programowanie w shellu: BASH. Wydział Inżynierii Metali i Informatyki Przemysłowej

Skrypty BASH a. Systemy Operacyjne 2. Mateusz Hołenko. 4 października 2012

12. Skrypty w Linux - funkcje, instrukcje sterujące i obliczenia arytmetyczne

1 Podstawy c++ w pigułce.

Pracownia Komputerowa wykład III

Wprowadzenie do programowania w powłoce

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

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

Programowanie skryptów powłoki

skrypt powłoki to plik tekstowy, rozpoczynający się sekwencją: pierwsza linia określa powłokę, w której wykonywany jest skrypt; druga to komentarz

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

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

Ćwiczenie nr 14: System Linux

Wstęp do Informatyki dla bioinformatyków

Powłoka bash. Kurs systemu Unix 1

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

pico mojskrypt bash mojskrypt chmod +x mojskrypt./mojskrypt

Środowisko programisty Zestaw 7

POPULARNE POLECENIA SKRYPTY. Pracownia Informatyczna 2

Programowanie w języku Python. Grażyna Koba

Projektowanie aplikacji internetowych Pisanie skryptów wiersza poleceń - pętle

Technologie Informacyjne - Linux 2

Architektura systemów informatycznych. Powłoka systemowa Architektura procesora

Tworzenie skryptu: Skrypty powłoki

1 Podstawy c++ w pigułce.

Powłoka (shell) Powłoka ksh

Instrukcja SO powłoka BASH i skrypty powłoki Istotne jest zrozumienie działania narzędzia history powłoki BASH. Każde polecenie wprowadzone i

Podstawy Programowania C++

Umieszczanie kodu. kod skryptu

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

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

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Zmienne środowiskowe: Ścieżka przeszukiwana komendą.

Metody numeryczne Laboratorium 2

Programowanie w BASH u Skrypt do ćwiczeń

K. Konopko; Skrypty powłoki. Skrypty powłoki. dr inż. Krzysztof Konopko

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

Kompilator języka Basic można bezpłatnie pobrać ze strony z zakładki DOWNLOAD.

PODSTAWY INFORMATYKI

PRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby

Wprowadzenie do programowania shella (bash)

Laboratorium Ubuntu Linux.

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

Wprowadzenie do Scilab: podstawy języka Scilab

Strona1. Linux. Skrypty powłoki

Pętla for. Wynik działania programu:

Ćwiczenie 1. Wprowadzenie do programu Octave

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Podstawy programowania w Bash'u

Programowanie w Turbo Pascal

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

while(wyrażenie) instrukcja

Każde wykonanie bloku instrukcji nazywamy pojedynczym przebiegiem lub iteracją pętli.

Pliki. Operacje na plikach w Pascalu

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Przedrostkowa i przyrostkowa inkrementacja i dekrementacja

1. shell co to i co umożliwia, jakie są shell e. 2. skrypty powłoki. crone dr inż. Anna Zatwarnicka Skrypty i crone

Powłoka interpreter poleceń systemu UNIX

Pracownia Informatyczna I ORGANIZACJA ZAJĘĆ, ZASADY ZALICZENIA

Trochę o plikach wsadowych (Windows)

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

Podstawy programowania skryptów Sh

Systemy operacyjne na platformach mobilnych 2 Podstawy obsługi powłoki Bash

Ćwiczenie: JavaScript Cookies (3x45 minut)

Warsztaty dla nauczycieli

Warunki logiczne instrukcja if

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

Cw.12 JAVAScript w dokumentach HTML

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź

Wstęp do systemu Linux

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

Język C, instrukcje sterujące (laboratorium)

Jednorazowe zaplanowanie zadania program at.

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Informatyka II. Laboratorium Aplikacja okienkowa

Pracownia Komputerowa wyk ad III

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

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

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

Blockly Kodowanie pomoc.

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Wstęp do systemu Linux

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

Transkrypt:

Technologie Informacyjne - 3 Instytut Matematyki Uniwersytet Gdański

Tryby plików i uprawnienia Każdy z plików uniksowych posiada zbiór uprawnień określajacych, czy możemy dany plik odczytać (r), zapisać (w) albo uruchomić (x). Wywołanie polecenia ls -l powoduje wyświetlenie wszystkich uprawnień. Pierwsza kolumna określa typ pliku, każda kolejna trójka kolumn oznacza odpowiednio uprawnienia użytkownika (u), grupy (g) i pozostałych (o). Kreska (-) oznacza, że jest to zwykły plik.

Tryby plików i uprawnienia Do zmiany uprawnień plików służy polecenie chmod. Najpiew wybieramy zbiór uprawnień, który będziemy zmieniać, a następnie podajemy bit uprawnień. Przykładowo jeśli chcemy nadać grupie (g) i pozostałym użytkownikom (o - czyli other) uprawnienia do odczytu (r) pliku o nazwie plik, należy wydać polececia: chmod g+r plik chmod o+r plik albo też używajac jednego polecenia: chmod go+r plik. Uprawnienia te możemy usunać poleceniem: chmod go-r plik. Zadanie 1 Utworzyć plik o nazwie uprawnienia. Sprawdzić jakie on ma uprawnienia. Ustawić, aby użytkownik i grupa miała wszystkie możliwe uprawnienia natomiast pozostali maja nie mieć żadnych uprawnień do tego pliku.

Podstawy skryptów powłoki Skrypt powłoki jest sekwencja poleceń zapisanych w pliku, z którego sa odczytywane przez powłokę tak, jak byśmy wpisywali je w terminalu. Wszystkie skrypty powłoki Bourne a powinny zaczynać się od wiersza: #!/bin/sh Uwaga: Na poczatku pliku nie moga pojawić się żadne puste miejsca. Wiersz ten oznacza, że wszystkie polecenia z tego pliku powinny być wykonane przez program /bin/sh.

Podstawy skryptów powłoki Przykładowy skrypt powłoki: #!/bin/sh # Najpierw wpisuje jakiś tekst, a potem uruchamia polecenie ls. echo Mam zamiar uruchomić polecenie ls. ls Uwaga: Znak krzyżyka (#) na poczatku wiersza oznacza, że ten wiersz jest komentarzem.

Podstawy skryptów powłoki Po przygotowaniu skryptu i nadaniu mu odpowiednich uprawnień możemy go uruchomić, umieszczajac plikt skryptu w jednym z katalogów wymienionych w ścieżce wyszukiwania i wywołujac nazwę skryptu w wierszu poleceń:./skrypt. Można też użyć pełnej nazwy ścieżki. W przeciwieństwie do innych programów w systemie Unix skryptom powłoki nie wystarczy ustawić bitu wykonania, ale w celu umożliwienia odczytywania pliku przez powłokę konieczne jest także ustawienie bitu odczytu. Najłatwiej można to zrobić wywołujac polecenie: chmod +x skrypt. Wywołanie w ten sposób polecenie chmod pozwoli innym użytkownikom odczytywać i uruchamiać skrypt. Zadanie 2 Zapisz w pliku skrypt01 i uruchom powyższy skrypt.

Cudzysłowy i literały Zadanie 03 Uruchom każde z następujacych trzech poleceń: echo $100, echo "$100", echo $100. Literał to łańcuch, który ma zostać przekazany przez powłokę do wiersza poleceń w niezmienionej postaci. Oprócz znaku $, inne podobne sytuacje jak w powyższym przykładzie maja miejsce, gdy chcemy aby zamiast rozwijana przez powłokę znak * został przekazany do polecenia (np. ), a także wtedy, gdy konieczne jest użycie średnika (;) w poleceniu

Cudzysłowy i literały Gdy używamy pojedycze cudzysłowy powłoka nie dokona żadnych operacji zastapienia. Gdy używamy podwójne cudzysłowy otrzymamy podobny efekt jak przy pojedynczych cudzysłowach, tylko zostana rozwinięte zmienne. Zadanie 4 Sprawdź działanie poleceń: echo Nie ma * w mojej ścieżce: $PATH echo Nie ma * w mojej ścieżce: $PATH

Zmienne W każdym języku programowania potrzebne sa zmienne, aby przy ich pomocy wykonać pewne operacje. Definicja zmiennych w skryptach basha: ZMIENNA=witam jeżeli w wartości zmiennej nie ma spacji nie trzeba używać znaku cudzysłowie ZMIENNA=12 jeżeli przypisujemy liczby lub cyfry nie używamy znaku cudzysłowie ZMIENNA= witam was jeżeli w wartości zmiennej znajduje się znak spacji, to wartość ta trzeba umieścić w cudzysłowie. Uwaga: Po obu stronach znaku = nie moga znajdować się spacje. Zwyczajowo nazwy zmiennych w bashu pisze się dużymi literami (jeśli nazwy zmiennych napiszemy małymi literami to też program będzie działał).

Zmienne Odwołanie się do zmiennej odbywa się poprzez poprzedzenie nazwy zmiennem znakiem dolara $ZMIENNA. Uwaga: BASH rozróżnia duże i małe litery, zatem odwoływanie się do zmiennej odbywa się przez użycie dokładnie takiej samej nazwy zmiennej przy pomocy jakiej ta zmienna została zadeklarowana. Zadanie 5 Określić wynik działania poniższego skryptu, a następnie sprawdzić to. #!/bin/bash ZMIENNA= Mój drugi skrypt echo $ZMIENNA echo $ZMIENNA

Zmienne Jeśli chcemy wypisać wartość zmiennej a bezpośrednio za nia (bez znaku spacji) wyświetlić jakiś tekst należy ujac nazwę zmiennej w nawiasy klamrowe {}. Zadanie 6 Określić wynik działania poniższego skryptu, a następnie sprawdzić to. #!/bin/bash ZMIENNAN=nie ZMIENNAT= echo ${ZMIENNAN}dotrzymać echo ${ZMIENNAT}dotrzymać

Zmienne Przy pomocy zmiennych możemy również wywoływać polecenia linux a. Dzieje się tak dlatego, że shell rozwija zmienne. Zadanie 7 Określić wynik działania poniższego skryptu, a następnie sprawdzić to. #!/bin/bash Z1= ls Z2= -l $Z1 $Z2

Zmienne Aby przekać zmiennej wartości, która została wprowadzone przez użytkownika przy pomocy klawiatury należy użyć polecenia read. Zadanie 8 a)określić wynik działania poniższego skryptu, a następnie sprawdzić to. #!/bin/bash echo Podaj swoje imie: read IMIE echo Na imie masz: $IMIE b) Uzupełnij powyższy skrypt, aby program również pytał się o nazwisko i wiek. A następnie wyświetlał informację o imieniu, nazwisku i wieku.

Zmienne Kiedy zachodzi potrzeba przeprowadzenia jakichś obliczeń można skorzystać z mechanizmu interpretacji wyrażeń arytmetycznych wbudowanego w Basha, obliczenia dokonywane sa na liczbach całkowitych. Składnia: $((wyrażenie)) $[wyrażenie] let wynik=wyrażenie echo $wynik Zadanie 9 Oblicz w bashu: 2 + 3, 2 7, 3 4, 9/3 i 9/4. Wyjaśnij ostatni wynik.

Zmienne Zadanie 10 a)określić wynik działania poniższego skryptu, a następnie sprawdzić to. #!/bin/bash echo Podaj pierwsza liczbe: read L1 echo Podaj druga liczbe: read L2 SUMA=$(($L1 + $L2)) echo Wynik dodawania wynosi: $SUMA b) Przekształć powyższy skrypt używajać polecenia: i) [], ii) let. Zadanie 11 Napisać skrypt, który będzie się pytał o długość boku kwadratu a następnie obliczał obwód i pole tego kwadratu.

Parametry Do wywoływanego skryptu można przekazywać parametry jego wywołania. Parametrów można używać dokładnie tak samo jak zmiennych jednakże nie można zmienić ich wartości. Odwołanie się w treści skryptu do parametrów odbywa się w następujacy sposób: S* - wszystkie parametry poczawszy od parametru numer 1, $0 nazwa programu, $1 parametr nr 1,... $9 parametr nr 9, $# - liczba parametrów, $$ - numer procesu.

Parametry Zadanie 12 Zapisać poniższy skrypt do pliku o nazwie skrypt1 i wywołać go następujaco:./skrypt1 123 434 2312 #!/bin/bash echo nazwa skryptu: $0 echo liczba parametrow: $# echo wszystkie parametry wywolana: $* echo parametr pierwszy: $1 echo parametr drugi: $2 echo parametr trzeci: $3 echo numer procesu: $$

Instrukcja case Instrukcja case pozwala na dokonanie wyboru spośród kilku wzorców. Najpierw sprawdzana jest wartość zmiennej po słowie kluczowym case i porównywana ze wszystkimi wariantami po kolei. Jesli dopasowanie zakończy się sukcesem wykonane zostanie polecenie lub polecenia przypisane do danego wzorca. W przeciwnym wypadku użyte zostanie polecenie domyślne oznaczone symbolem gwiazdki: *). Instrukcja case kończy się zapisaniem tego słowa od końca (esac). case $ZMIENNA in wzorzec1) polecenie1 ;; wzorzec2) polecenie2 ;; wzorzec3) polecenie3 ;;... *) polecenie_domyślne esac

Instrukcja case Zadanie 13 Określić wynik działania poniższego skryptu, a następnie sprawdzić to. Sprawdzenia należy dokonać wywołujać kilkakrotnie skrypt z różnymi parametrami np../nazwa_skryptu sobota. #!/bin/bash case $1 in piatek) echo weekend jest juz tuz tuz ;; sobota) echo juz weekend ;; niedziela) echo weekend się juz powoli konczy ;; poniedzialek) echo znowu trzeba isc do pracy ;; *) echo srodek tygodnia ;; esac

Instrukcja case Zadanie 14 Dopisać do poniższego skryptu instrukcję case, która jako wzorzec będzie miała cyfrę dnia tygodnia, a jako polecenie będzie wypisywała nazwę dnia tygodnia. Polecenie_domyślne ma uwzględnać przypadek, gdy zostanie wybrana spoza zakresu 1-7. #!/bin/bash echo Podaj cyfrę dnia tygodnia read d

Instrukcja if Instrukcja warunkowa if sprawdza czy warunek jest prawdziwy, jeśli tak to wykonane zostanie polecenie lub polecenia znajdujace się po słowie kluczowym then. Instrukcja kończy się słowem fi. if warunek then polecenie lub polecenia fi lub if warunek; then polecenie lub polecenia fi

Instrukcja if W przypadku gdy należy wykonać inny zestaw poleceń, jeżeli zadany warunek kończy się wynikiem negatywnym, składnia polecenia wyglada następujaco: if warunek then polecenie1 else polecenie2 fi lub if warunek; then polecenie1 else polecenie2 fi

Instrukcja if Do testowania warunków używa się operatorów, które w wyniku swojego działania zwracaja prawdę lub fałsz w zależności od tego czy sprawdzany warunek jest prawdziwy czy nieprawdziwy. Zazwyczaj warunek jest zapisywany w następujacej postaci: [ wyrażenie1 operator wyrażenie2 ] lub [ operator wyrażenie ] Między nawiasami a treścia warunku musza być spacje, tak jak powyżej. Ponadto bardzo istotne jest także używanie znaków cudzysłowu we wszystkich warunkach w których operator przyjmuje postać n.

Instrukcja if Przykład: #!/bin/bash if [ -e /.bashrc ] then echo Masz plik.bashrc fi Przykład: #!/bin/bash if [ -e /.bashrc ] then echo Masz plik.bashrc else echo Nie masz pliku.bashrc fi

Instrukcja if A to kilka przykładów: -e plik istnieje = sprawdza czy wyrażenia sa równe!= sprawdza czy wyrażenia sa różne -n wyrażenie ma długość większa niż 0 -d wyrażenie istnieje i jest katalogiem -lt mniejsze niż -gt większe niż -ge większe lub równe -le mniejsze lub równe

Instrukcja if Zadanie 15 Napisać instrukcję warunkowa, która będzie sprawdzała, czy w zmiennej $1 znajduje się słowo witaj. Zadanie 16 Napisać skrypt, który będzie prosił o podanie dwóch liczb. A następnie sprawdzał, czy pierwsza z wprowadzonych liczb jest większa od drugiej liczby.

Pętla for Pętle stosuje się w celu wykonania pewnych instrukcji dla kolejnych iteracji lub kilku parametrów. Pętla for wykonuje polecenia zawarte wewnatrz pętli, na każdym składniku listy (iteracja). for zmienna in lista do polecenie done Zadanie 17 Określić wynik działania poniższego skryptu, a następnie sprawdzić to. for x in jeden dwa trzy do echo To jest $x done

Pętla for Zmiennej x przypisana jest lista, która składa się z trzech elementów: jeden, dwa, trzy. Wartościa zmiennej x staje się po kolei każdy element listy, na wszystkich wykonywane jest polecenie: echo To jest $x. Pętla for jest bardzo przydatna w sytuacjach, gdy chcemy wykonać jakaś operację na wszystkich plikach w danym katalogu. Na przykład chcemy uzyskać listę wszystkich plików o danym rozszerzeniu znajdujacych się w jakimś katalogu. Zadanie 18 Określić wynik działania poniższego skryptu, a następnie sprawdzić to. #!/bin/bash for x in *html do echo To jest plik $x done

Pętla for Zadanie 19 Uzupełnij skrypt tak, aby zmieniał nazwy plików pisane wielkimi literami na nazwy pisane małymi literami. #!/bin/bash... do mv $nazwa $(echo $nazwa tr [A-Z] [a-z] )...

Pętla while Pętla while najpierw sprawdza warunek czy jest prawdziwy, jeśli tak to wykonane zostanie polecenie lub lista poleceń zawartych wewnatrz pętli, gdy warunek stanie się fałszywy pętla zostanie zakończona. while warunek do polecenie done

Pętla while Zadanie 20 Określić wynik działania poniższego skryptu, a następnie sprawdzić to. #!/bin/bash x=1; while [ $x -le 10 ] do echo Napis pojawił się po raz: $x x=$[x + 1] done Uwaga x=$[x + 1] - zwiększa wartość zmiennej x o 1.

Pętla while