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