Pracownia Komputerowa wykad III dr Magdalena Posiadaa-Zezula Magdalena.Posiadala@fuw.edu.pl http://www.fuw.edu.pl/~mposiada Magdalena.Posiadala@fuw.edu.pl 1
Ogoszenie Dodatkowa grupa ćwiczeniowa: dr Jan Suffczyński piątek 16-18, start już w tym tygodniu!!! Zapisy w USOS ie dostępne od jutra 21.10 Pierwszeństwo mają wszystkie osoby, które nie sa jeszcze zapisane. Osoby, które są zapisane ale nie pasuje im podana grupa ćwiczeniowa, mogą się przepisać do nowej. UWAGA!!! Pierwszeństwo na kolokwium w danej grupie beda miay osoby zapisane do danej grupy. Jeżeli bedą wolne stanowiska wtedy osoby z innych grup bedą mogy uczestniczyć w kolokwium. Zasada jeden komputer- jedna osoba! Magdalena.Posiadala@fuw.edu.pl 2
Kolowium z Linux a Pierwsze kolokwium z Pracowni Komputerowej odbędzie się na ćwiczeniach w podanych terminach: środa 29.10 - mgr Dominik Bartkiewicz czwartek 30.10 - ja piątek grupa 9-11h - 31.10 mgr Pawe Magryta wtorek 4.11 dr Jan Suffczyński piątek 16-18- do ustalenia przez dr Jana Suffczyńskiego Magdalena.Posiadala@fuw.edu.pl 3
Powoki - rodzaje W Linux ie mamy kilka powok do wyboru: sh : Bourne Shell, oryginalna powoka systemu unix csh : C shell, nowa skadnia polecen, udogodnienia w pracy interakcyjnej ksh : Korn shell, zgodnosc skadniowa z powoka Bourne a +m.innymi udogodnienia jak w powoce csh bash : Bourne Again Shell, poaczenie najlepszych cech csh i ksh tcsh : udoskonalona wersja csh Magdalena.Posiadala@fuw.edu.pl 4
Powoki Typ powłoki definiuje administrator systemu w pliku z hasłami Obecnie każdy użytkownik w OKWF ma standardowo ustawiona powłokę bash (zmienna $SHELL) Standardowo uruchamiane skrypty: przy logowaniu: /etc/profile i./bash_profile start powłoki:./bashrc Magdalena.Posiadala@fuw.edu.pl 5
POWOKA BASH - Bourne Again Shell (1) Bash to skrót od wyrazów Bourne Again Shell. Powoka ta jest dostępna za darmo i jest domyślną powoką systemu Red Hat Linux Dokańczanie poleceń- Dzięki niej nie trzeba wpisywać penej nazwy programu (ścieżki do katalogu, pliku itp) lub znać jego dokadnej nazwy. Wystarczy, wpisać jego pierwszą literkę i wciśnąc klawisz TAB. Magdalena.Posiadala@fuw.edu.pl 6
POWOKA BASH - Bourne Again Shell (2) Historia poleceń - Bash zapamiętuje wydane przez użytkownika polecenia, dzięki temu za pomocą klawiszy kursora (góra - dó), można szybko przywoać polecenie, które zostao wcześniej wydane. Lista wydanych przez użytkownika poleceń jest adowana z pliku historii, który domyślnie nosi nazwę.bash_history. Parametry nazwy pliku historii oraz ilości przechowywanych w nim ostatnio wydanych poleceń ustalają zmienne HISTFILE oraz HISTSIZE powoki. Aby obejrzeć na ekranie dostępne z historii polecenia wystarczy użyć polecenia: history Magdalena.Posiadala@fuw.edu.pl 7
Zmienne Zmienne sużą do określania konfiguracji powoki i są one dostępne dla wszystkich procesów potomnych. Wszystkie dostępne zmienne można wylistować poleceniem: printenv more Najbardziej użyteczne zmienne powoki: HOME określa peną scieżkę katalogu domowego, USER- określa nazwę zalogowanego użytkownika PATH - ścieżka przeszukiwania, PWD - określa nazwę bieżącego katalogu, HOSTNAME - nazwa komputera, Wszystkie zmienne tracą ważność po wylogowaniu się i aby byy dostępne za każdym razem, trzeba je dodać do plików konfiguracyjnych bash`a. Magdalena.Posiadala@fuw.edu.pl 8
Pisanie skryptów w Bash-u (1) Wszystkie shelle oferują rodzaj języka skryptowego. Za jego pomocą można pisać różne rodzaje skryptów: od tych prostych, które ograniczają się do wykonania serii poleceń, do bardzo skomplikowanych, zawierających różne pętle, warunki itp. Skrypty można pisać we wszelkiego rodzaju edytorach tekstu. Jest to zwyky plik tekstowy, ale zawierający w pierwszej linijce "#!/bin/bash". Kolejne programy wywouje się przez wpisanie ich kolejno do tego pliku. Powoka zakada, że każda linia to osobne polecenie Komentarze zaczynaja się od znaku # Magdalena.Posiadala@fuw.edu.pl 9
Pisanie skryptów w Bash-u (2) Aby taki skrypt można byo uruchomić, należy nadać mu atrybut wykonywalności, np. poleceniem chmod u+x skrypt.sh Tak przygotowany skrypt uruchamia się jak każdy inny program tzn. :./skrypt.sh Magdalena.Posiadala@fuw.edu.pl 10
Zmienne w skryptach (1) W skryptach powoki można definiować tzw. zmienne, czyli wartości przypisane do nazwy. Zmienne definiuje się tak: ZMIENNA=123 ZMIENNA="wartość tekstowa Przypisanie do zmiennej wartości tekstowej tak jak powyżej będzie powodowao "rozwijanie" zmiennych. Oznacza to, że jeśli między cudzysowy użytkownik wpisze zmienną w postaci $ZMIENNA1, to zmienna, do której chcemy to przypisać, będzie zawierała wartość zmiennej ZMIENNA1 Magdalena.Posiadala@fuw.edu.pl 11
Zmienne w skryptach (2) Bash oferuje sporo pre-definiowanych zmiennych. Oto ich skrócona lista: $0 - ścieżka do skryptu - dokadnie taka, z jaką wywoano ten skrypt. $1, $2... - zmienne, które zawierają wartość kolejnych parametrów podanych do skryptu. $# - liczba argumentów skryptu. Magdalena.Posiadala@fuw.edu.pl 12
Pisanie skryptów- przykad 1 Utworzyć skrypt o nazwie przyklad1.sh: #!/bin/bash # (Tu jest komentarz) definuje w jakiej powoce bedzie uruchamiany skrypt echo "Pierwszy program pwd Zmienic prawa dostepu pliku prog.sh aby móc go wykonywać Uruchomić w terminalu prog.sh ->./przyklad1.sh Magdalena.Posiadala@fuw.edu.pl 13
Pisanie skryptów- przykad 2 #!/bin/bash echo "Witam. Twoj login to $USER" echo "Lista plików w bieżącym katalogu, $PWD" ls # wypisz listę plików Magdalena.Posiadala@fuw.edu.pl 14
Pisanie skryptów- przykad 3 pętla for #!/bin/sh for (( i=1; $i <= 10; i++ )) ; do echo " Iteracja nr: $i" done Magdalena.Posiadala@fuw.edu.pl 15
Pisanie skryptów- parametry Odwoywanie się do argumentów z linii komend : #!/bin/sh echo nazwa skryptu to $0 echo pierwszy argument to $1 echo drugi argument to $2 echo siedemnasty argument to $17 echo ilość argumentów to $# Magdalena.Posiadala@fuw.edu.pl 16
Pisanie skryptów- przykad 4 parametry Kod skryptu skrypt.sh #!/bin/sh mkdir $1 - $1 to pierwszy parametr podany podczas uruchamiania skryptu zaraz po jego nazwie mkdir $2 ls ltr Uruchamiamy skrypt z parametrami wejściowymi./skrypt nazwa_kat1 nazwa_kat2 Magdalena.Posiadala@fuw.edu.pl 17
Koniec Magdalena.Posiadala@fuw.edu.pl 18