Załącznik nr 5 - Wzór harmonogramu płatności – załącznik do umowy
Transkrypt
Załącznik nr 5 - Wzór harmonogramu płatności – załącznik do umowy
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Barbara Łukawska, Adam Krechowicz, Tomasz Michno Ćwiczenie nr 14: System Linux Czym jest Linux? Słowo Linux może oznaczać zarówno jądro systemowe Linux, jak i całą rodzinę systemów operacyjnych, które na nim bazują. Jądro systemowe jest zbiorem najważniejszych funkcji systemu operacyjnego, które znajdują się pomiędzy aplikacjami, a sprzętem. Czym jest dystrybucja? Dystrybucja jest to system operacyjny zbudowany z użyciem jądra Linux, zawierający dodatkowe aplikacje. Niektóre takie systemy są płatne, jednak większa część z nich jest całkowicie darmowa. Obecnie mamy do dyspozycji wiele dystrybucji, z których dla początkujących użytkowników polecalibyśmy: Ubuntu, Mint lub openSuse. Instalacja W dawniejszych czasach instalacja systemu Linux wymagała większej znajomości komputera, jednak obecnie nie jest trudniejsza od instalacji systemów z rodziny Windows – najczęściej sprowadza się do wyboru partycji oraz podstawowych ustawień systemu. W celu przetestowania działania systemu oprócz instalacji na fizycznym dysku twardym, możemy skorzystać z maszyny wirtualnej – aplikacji, która symuluje odrębny komputer. Użytkownicy w systemie Linux System Linux jest systemem wielodostępowym, co oznacza, że może z niego korzystać wielu użytkowników w tym samym momencie. Najważniejszym kontem użytkownika w systemie jest konto głównego administratora o nazwie root. Posiada ono dostęp do wszystkich elementów systemu, a także pozwala zarządzać innymi użytkownikami. Z tego względu nie zaleca się korzystać z niego podczas codziennej pracy należy utworzyć konto zwykłego użytkownika. Konto zwykłego użytkownika posiada pełny dostęp do najpotrzebniejszych w codziennej pracy elementów systemu, jak również posiada swój katalog domowy na pliki. Katalog ten nosi nazwę HOME i można do nie przejść wybierając ścieżkę /home/nazwaUżytkownika lub wpisując jako ścieżkę znak ~. Bez dodatkowych modyfikacji system nie pozwala na przeglądanie katalogów i plików należących do innych użytkowników (bez ich zgody). Istnieje również możliwość tworzenia i dodawania użytkowników do grup, dzięki czemu łatwiej jest nimi zarządzać. Każdy plik w systemie (jak również katalog) posiada ustawienia określające prawa do odczytu, zapisu i wykonania dla różnych użytkowników. W systemie możemy określić je oddzielnie dla: • właściciela • wybranej grupy użytkowników • wszystkich pozostałych użytkowników Środowiska graficzne Projekt ,,Absolwent Politechniki Świętokrzyskiej – inżynier na miarę potrzeb współczesnej gospodarki’’ Program Operacyjny Kapitał Ludzki Priorytet IV Działanie 4.1, Poddziałanie 4.1.2 umowa UDA – POKL.04.01.02-00-213/12-00 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Oprócz różnych dystrybucji w systemach Linux dostępne są również różne środowiska graficzne, najpopularniejsze to: • GNOME • KDE W systemie może być zainstalowanych wiele środowisk, które można wybrać przy logowaniu. W przypadku, gdy nie posiada żadnego, wtedy jego obsługa będzie wykonywana w trybie tekstowym. Podstawowe polecenia Uruchamianie terminala: Konsola, zwana też terminalem jest jednym z najważniejszych elementów systemu Linux. Można ją uruchomić wciskając kombinację klawiszy Ctrl+Alt+F[1-6] (przechodzimy do trybu tekstowego, wymagane jest ponowne zalogowanie), jak również wybierając z menu odpowiedni wpis (w zależności od dystrybucji i środowiska graficznego, np. dla KDE: System->Terminal->Terminal, pozostajemy w trybie graficznym). Po uruchomieniu terminala może on wyglądać następująco: user@host:~> Tekst, który został wyświetlony nazywa się znakiem zachęty, który oznacza że system czeka na nasze polecenia. Na początku znaku zachęty znajduje się nazwa aktualnie zalogowanego użytkownika, po znaku @ nazwa komputera, po dwukropku katalog, w którym aktualnie znajduje się użytkownik. Znak >1 kończy znak zachęty, pozwalając na wprowadzenie polecenia. Uruchamianie poleceń W celu uruchomienia polecenia w terminalu wystarczy wpisać jego nazwę po znaku zachęty i wcisnąć Enter, np.: user@host:~> whoami user user@host:~> Polecenie whoami wyświetla nazwę aktualnie zalogowanego użytkownika. Po wykonaniu wszystkich zadań (czyli po wyświetleniu nazwy użytkownika), program kończy swoje działanie i zostaje ponownie wyświetlony znak zachęty, po którym możemy wpisać kolejne polecenie. Większość standardowych poleceń systemowych posiada wbudowaną krótką instrukcję obsługi wyświetlaną poprzez dopisanie „--help” po nazwie polecenia: user@host:~> whoami --help Składnia: whoami [OPCJA]... Wypisanie nazwy użytkownika związanego z aktualnym efektywnym idetyfikatorem użytkownika. Działa jak id -un. --help --version wyświetlenie tego opisu i zakończenie wyświetlenie informacji o wersji i zakończenie Raporty o błędach whoami wysyłaj do [email protected] strona domowa GNU coreutils: http://www.gnu.org/software/coreutils/ 1 - może to być też znak $, %, :, a w przypadku użytkownika root rówież # Projekt ,,Absolwent Politechniki Świętokrzyskiej – inżynier na miarę potrzeb współczesnej gospodarki’’ Program Operacyjny Kapitał Ludzki Priorytet IV Działanie 4.1, Poddziałanie 4.1.2 umowa UDA – POKL.04.01.02-00-213/12-00 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Pomoc w używaniu oprogramowania GNU: http://www.gnu.org/gethelp/ O błędach tłumaczenia whoami poinformuj przez http://translationproject.org/team/ Żeby przeczytać kompletną dokumentację uruchom: info coreutils 'whoami invocation' user@host:~> Ciąg znaków „--help” był parametrem przekazanym do polecenia whoami. Czasami parametrów może być więcej, wtedy oddzielamy je od siebie znakiem spacji. Parametry służące do sterowania programem (zaczynające się od znaku - lub --) są często nazywane przełącznikami, w celu odróżnienia ich od pozostałych parametrów. Dodatkową pomoc do polecenia/programu możemy uzyskać za pomocą polecenia man, podając jako parametr nazwę programu (np. man whoami). Najważniejsze polecenia systemowe: Nazwa polecenia Opis cd Przejście do katalogu podanego jako parametr ls Wyświetlenie zawartości katalogu cp Skopiowanie pliku. Pierwszy parametr to ścieżka do kopiowanego pliku, drugi to ścieżka do miejsca, gdzie go skopiować rm Usunięcie pliku podanego jako parametr. Aby usunąć katalog, musimy usunąć wszystkie pliki, które się w nim znajdują. W tym celu należy użyć dodatkowo przełącznika -R. UWAGA! Tego polecenia należy używać rozsądnie – wpisanie rm -rf / jako root spowoduje usunięcie całego linuksa z dysku. mv Przeniesienie pliku z jednego miejsca do drugiego. Pierwszy parametr to ścieżka do przenoszonego pliku, drugi to ścieżka do nowego miejsca. Dla katalogów należy podać dodatkowo przełącznik -R mkdir Utworzenie nowego katalogu o nazwie podanej jako parametr rmdir Usunięcie pustego katalogu o nazwie podanej jako parametr sudo Uruchomienie polecenia podanego administratora (konta root) su Przełączenie się na innego użytkownika podanego jako parametr (jeśli nie podamy parametru użytkownik zostanie przełączony na roota). W niektórych systemach w celu przejścia na konto roota należy wywołać sudo su who Wypisuje aktualnie zalogowanych użytkowników w systemie chmod Zmiana uprawnień do pliku, jako pierwszy parametr podajemy nowe uprawnienia, jako drugi nazwę pliku. Uprawnienia podawane są najczęściej w formie liczbowej, np.: chmod 777 plik - pełny dostęp do pliku chmod 644 plik - odczyt i zapis tylko dla właściciela, pozostali mogą jedynie odczytywać Pierwsza cyfra oznacza uprawnienia dla właściciela, druga dla grupy, trzecia dla pozostałych użytkowników. 0 – brak praw 1 – prawo do wykonania pliku jako parametr z uprawnieniami Projekt ,,Absolwent Politechniki Świętokrzyskiej – inżynier na miarę potrzeb współczesnej gospodarki’’ Program Operacyjny Kapitał Ludzki Priorytet IV Działanie 4.1, Poddziałanie 4.1.2 umowa UDA – POKL.04.01.02-00-213/12-00 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego 2 – zapis 3 – zapis i wykonanie 4 – odczyt 5 – odczyt i wykonanie 6 – odczyt i zapis 7 – odczyt, zapis i wykonanie chown Zmiana właściciela pliku, pierwszy parametr to nazwa nowego właściciela, drugi – nazwa pliku date Wyświetlenie aktualnego czasu i daty touch Tworzy nowy plik tekstowy o nazwie podanej jako parametr echo Wypisanie tekstu podanego jako parametr clear Wyczyszczenie okna konsoli ps Wypisanie listy procesów (bez parametrów są to tylko procesy użytkownika na danym terminalu). Użycie przełączników -aux spowoduje wypisanie wszystkich procesów. free Wypisanie liczby wolnej pamięci (przełącznik -m wyświetli liczby w MB, -g w GB) df Podaje informacje o wolnym miejscu na dysku Proste skrypty Skrypty są zwykłymi plikami tekstowymi, zawierającymi polecenia dla systemu. Dzięki temu możliwe jest zautomatyzowanie często wykonywanych operacji, uwalniając użytkownika od wpisywania wszystkich poleceń ręcznie w konsoli. Stworzymy teraz krok po kroku prosty skrypt wypisujący na ekranie tekst „Witaj na kierunku Informatyka!”. Pierwszym krokiem jest utworzenie nowego pliku tekstowego (można utworzyć go za pomocą GUI lub konsolowo używając polecenia touch). Następnie zaleca się, aby na początku każdego skryptu umieścić następującą linijkę: #!/bin/bash Możemy teraz przejść do właściwej części naszego skryptu. Wypiszemy teraz za pomocą polecenia echo tekst „Witaj na kierunku Informatyka!”: echo "Witaj na kierunku Informatyka!" Zapisujemy skrypt i za pomocą polecenia chmod +x nazwa nadajemy mu uprawnienia do wykonania. Możemy teraz wykonać nasz bardzo prosty skrypt – wystarczy w konsoli wpisać jego nazwę poprzedzoną ./ („./” informuje terminal, że skrypt/program który chcemy uruchomić znajduje się w bieżącym katalogu): user@host:~> ./skrypt Witaj na kierunku Informatyka! user@host:~> Projekt ,,Absolwent Politechniki Świętokrzyskiej – inżynier na miarę potrzeb współczesnej gospodarki’’ Program Operacyjny Kapitał Ludzki Priorytet IV Działanie 4.1, Poddziałanie 4.1.2 umowa UDA – POKL.04.01.02-00-213/12-00 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego W podobny sposób jak polecenia echo, możemy użyć również innych poleceń systemowych, np.: możemy wypisać dodatkowo czas i datę: echo "Witaj na kierunku Informatyka!" echo -n "Dzisiaj jest: " date Powyższy kod skryptu wyświetli nam: user@host:~> ./skrypt Witaj na kierunku Informatyka! Dzisiaj jest: czw, 11 paź 2012, 12:13:50 CEST user@host:~> Przełącznik -n przy poleceniu echo powoduje, że po wyświetleniu tekstu nie nastąpi przejście do nowej linii. Skrypty pozwalają również na używanie zmiennych – specjalnych obiektów, do których możemy zapamiętać dowolne dane (np. wynik polecenia). Każda zmienna posiada swoją nazwę, przy pomocy której jest używana w kodzie skryptu. Zmienne tworzone są wraz z pierwszym użyciem. Przypisanie wartości do zmiennej wygląda następująco: zmienna=wartość Jeśli chcemy zapisać do zmiennej wynik działania polecenia należy umieścić je pomiędzy dwoma znakami `, np : zmienna=`date` W celu odczytania wartości zmiennej wystarczy poprzedzić ją znakiem $, np.: echo $zmienna Skrypty pozwalają również na warunkowe wykonywanie poleceń za pomocą instrukcji if. Kod takiej instrukcji jest następujący: if [ warunek ] then polecenie fi Do tworzenia warunków często są przydatne dodatkowe znaczniki2: -e sprawdza, czy plik istnieje = sprawdza, czy oba wyrażenia są sobie równe != Sprawdza, czy wyrażenia są różne -n Sprawdza, czy wyrażenie ma długość > 0 -d Sprawdza, czy katalog istnieje -r, -w, -x 2 Sprawdza, czy: można odczytać, zapisać, wykonać plik -lt, -gt Mniejsze, większe -le, -ge Mniejsze bądź równe, większe bądź równe Pozostając w ścisłości – podczas sprawdzania warunku wywoływane jest polecenie test, które przyjmuje jako parametry podane wyrażenie Projekt ,,Absolwent Politechniki Świętokrzyskiej – inżynier na miarę potrzeb współczesnej gospodarki’’ Program Operacyjny Kapitał Ludzki Priorytet IV Działanie 4.1, Poddziałanie 4.1.2 umowa UDA – POKL.04.01.02-00-213/12-00 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego W celu przetestowania napiszmy skrypt, który porówna dwie wartości zapamiętane w zmiennych: #!/bin/bash zmienna1=10 zmienna2=15 if [ $zmienna1 -lt $zmienna2 ] then echo "$zmienna1 jest mniejsze od $zmienna2" fi W przypadku, gdy chcemy wykonać dodatkowe polecenia gdy warunek nie jest spełniony, należy skorzystać z instrukcji if- else: if [ warunek ] then polecenia gdy warunek jest spełniony else polecenia, gdy warunek nie jest spełniony fi Po dodaniu else do naszego skryptu wygląda on następująco (w celu przetestowania całości zmieniliśmy wartość pierwszej zmiennej na 24): #!/bin/bash zmienna1=24 zmienna2=15 if [ $zmienna1 -lt $zmienna2 ] then echo "$zmienna1 jest mniejsze od $zmienna2" else echo "$zmienna1 jest większe bądź równe $zmienna2" fi Oprócz instrukcji warunkowych w skryptach możemy także wykonywać polecenia wiele razy korzystając z dwóch rodzajów pętli. Pierwszą z nich jest pętla while, która wykonuje polecenia zawsze gdy spełniony jest warunek: while [ warunek ] do polecenia done Przykładowo, wypisanie liczb od 0 do 5 może wyglądać następująco: 1 2 3 4 5 6 7 #!/bin/bash i=0 while [ $i -le 5 ] do echo "zmienna i ma wartość $i" i=$[i + 1] done W linii nr 6 użyliśmy nowej instrukcji – zwiększenia wartości zmiennej o 1 (należy uważać, aby po znaku = nie używać spacji, ponieważ instrukcja może wtedy nie działać). Wynikiem działania skryptu jest: Projekt ,,Absolwent Politechniki Świętokrzyskiej – inżynier na miarę potrzeb współczesnej gospodarki’’ Program Operacyjny Kapitał Ludzki Priorytet IV Działanie 4.1, Poddziałanie 4.1.2 umowa UDA – POKL.04.01.02-00-213/12-00 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego zmienna zmienna zmienna zmienna zmienna zmienna i i i i i i ma ma ma ma ma ma wartość wartość wartość wartość wartość wartość 0 1 2 3 4 5 Innym rodzajem pętli jest pętla for, która pozwala na podanie listy argumentów, dla których ma zostać wykonana: for zmienna in lista do polecenia done Przykładowo: #!/bin/bash for i in pierwszy drugi trzeci czwarty "dowolny Tekst" do echo "To jest $i wyraz" done da nam wynik: To To To To To jest jest jest jest jest pierwszy wyraz drugi wyraz trzeci wyraz czwarty wyraz dowolny Tekst wyraz Jak widać, pętla for przy każdym swoim przebiegu przypisuje kolejną wartość z listy do zmiennej, aż do ich wyczerpania. Każdy element listy podajemy po znaku spacji, w przypadku gdy zawiera on znak spacji, cały tekst powinien zostać objęty cudzysłowem. Oprócz tekstów możemy stosować zupełnie dowolne wartości, np. liczby. W przypadku ciągu liczb przydatne jest polecenie seq, które stworzy nam listę kolejnych wartości od podanej jako pierwszy parametr do podanej jako drugi parametr. Poniższe użycie seq w skrypcie: #!/bin/bash for i in `seq 0 5` do echo "Wartość i= $i" done zadziała identycznie jak skrypt: #!/bin/bash for i in 0 1 2 3 4 5 do echo "Wartość i= $i" done Dodatkowo skrypty mogą być w pełni interaktywne. Do odczytania tekstu podawanego przez użytkownika z klawiatury służy polecenie read, które jako parametr przyjmuje nazwę zmiennej do której ma zostać zapisany tekst: #!/bin/bash read zmiennaTestowa Projekt ,,Absolwent Politechniki Świętokrzyskiej – inżynier na miarę potrzeb współczesnej gospodarki’’ Program Operacyjny Kapitał Ludzki Priorytet IV Działanie 4.1, Poddziałanie 4.1.2 umowa UDA – POKL.04.01.02-00-213/12-00 Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Zadania 1. Uruchom system Linux, a następnie korzystając z przeglądarki plików utwórz w katalogu domowym katalog z Twoim imieniem i nazwiskiem. 2. Uruchom terminal, przetestuj działanie polecenia cd (wejście do katalogu wewnątrz bieżącego katalogu, przejście o jeden poziom wyżej, przejście do katalogu używając ścieżki bezwzględnej) oraz ls. Pod koniec przejdź do katalogu, który został utworzony w zadaniu 1. 3. Przetestuj działanie poleceń służących do tworzenia i usuwania katalogów i plików: • utwórz katalog o nazwie „Katalog 1”, a następnie przejdź do niego i utwórz plik o nazwie „Plik tekstowy.txt” • korzystając z polecenia echo zapisz do niego dowolną linijkę tekstu (echo tekst > „Plik tekstowy.txt”) • wyświetl zawartość pliku w konsoli • przejdź o poziom wyżej w strukturze katalogów • spróbuj usunąć „Katalog 1” kolejno poleceniami: rmdir, rm oraz ponownie poleceniem rm, ale z parametrem -R 4. Przetestuj działanie polecenia cp oraz mv, jaka jest między nimi różnica? 5. Stwórz skrypt, który wyświetli w konsoli Twoją wizytówkę (imię, nazwisko, rok urodzenia oraz nr grupy). 6. Korzystając z pętli utwórz program, który na ekranie wyświetli choinkę utworzoną ze znaków # lub *. 7. Utwórz skrypt, który zapyta użytkownika o imię oraz rok urodzenia, a następnie sprawdzi czy jest on starszy, czy młodszy od Ciebie. 8. Napisz skrypt, który będzie uruchamiał wszystkie poprzednie skrypty w zależności od wyboru użytkownika. Skrypt powinien działać w pętli. Przed zakończeniem pracy usuń katalog, który został utworzony w zadaniu 1. Projekt ,,Absolwent Politechniki Świętokrzyskiej – inżynier na miarę potrzeb współczesnej gospodarki’’ Program Operacyjny Kapitał Ludzki Priorytet IV Działanie 4.1, Poddziałanie 4.1.2 umowa UDA – POKL.04.01.02-00-213/12-00