Wprowadzenie do systemu UNIX

Wielkość: px
Rozpocząć pokaz od strony:

Download "Wprowadzenie do systemu UNIX"

Transkrypt

1 Wprowadzenie do systemu UNIX dr inż. Mariusz Kopeć pok. 217a, D-10 tel (C) Mariusz Kopeć, WFiTJ AGH,

2 Program wykładów 1. Podstawowe wiadomości o Uniksie 2. Rozpoczynamy pracę z systemem 3. Gdzie szukać pomocy? 4. Poznajemy podstawowe polecenia systemu 5. Podstawy pracy w powłoce bash 6. Poznajemy filtry 7. Tworzymy własne skrypty 8. Przetwarzamy pliki 9. Programy komunikacyjne i narzędzia sieciowe (C) Mariusz Kopeć, WFiTJ AGH,

3 Początki UNIXa 1965 MULTICS (MIT+ AT&T Bell Labs + GE) MULTiplexed Information and Computing Service 1969 AT&T Bell Labs wycofuje się z projektu; Ken Thompson i Dennis Ritchie (Bell Labs) pracując na własną rękę, tworzą w oparciu o idee MULTICSa nowy system UNICS, (UNiplexed Information and Computing Service), który implementują na PDP-7 (C) Mariusz Kopeć, WFiTJ AGH,

4 Początki UNIXa, cd 1971 AT&T UNIX First Edition (11/3/1971) pierwsza oficjalna wersja systemu, zawierająca procesor tekstu, zaimplementowana na PDP th Edition UNIX (3/73) pojawiły się potoki (pipes) i filtry oraz kompilator języka C. Jądro systemu napisane w asemblerze th Edition UNIX (11/73) jądro systemu napisane w C th Edition UNIX (V6 UNIX) pierwsza wersja systemu powszechnie dostępna poza Bell Labs. (C) Mariusz Kopeć, WFiTJ AGH,

5 BSD UNIX Na skutek problemów prawnych AT&T nie mogło zarabiać na sprzedaży UNIXa postanowiło więc udostępnić go uniwersytetom, gdzie system był dalej rozwijany Bill Joy z Uniwersytetu Kalifornijskiego w Berkeley wydaje pierwszą wersję Berkeley Software Distribution, znaną jako 1BSD W następstwie otrzymania kontraktu DARPA (Defense Advanced Research Projects Agency) Bill Joy tworzy w Berkeley kolejną dystrybucję: 4.1BSD Powstaje 4.2BSD zawierająca TCP/IP. Rok wcześniej Bill Joy odchodzi, by stworzyć Sun Microsystems Powstaje poprawiona wersja 4.3BSD Powstaje ostatnia wersja z Berkeley: 4.4BSD. (C) Mariusz Kopeć, WFiTJ AGH,

6 AT&T UNIX 1982 UNIX System Group (AT&T) wypuszcza System III UNIX UNIX System Development Labs (AT&T) wypuszcza System V UNIX Release 1 (SVR1) Powstaje System V UNIX Release 2 (SVR2) Pojawia się SVR3 zawierająca m.in. NFS (Network File System) UNIX System Labs (AT&T) wypuszcza SVR Novell kupuje USL od (AT&T) i wypuszcza SVR4.2MP SCO (Santa Cruz Operation) kupuje Uniksa od Novella Caldera (dystrybutor Linuxa) kupuje Uniksa od SCO. (C) Mariusz Kopeć, WFiTJ AGH,

7 Inne wersje UNIXa (wybrane) Komercyjne Xenix Microsoft HP-UX HP IRIX SGI SunOS Sun Unicos CRAY UnixWare - SCO... Ultrix DEC AIX IBM Mac OS X Apple Solaris Sun OpenServer SCO Free 386/BSD Bill Jolitz NetBSD FreeBSD Jordan Hubbard Minix Andy Tannenbaum GNU Richard Stallman OpenBSD Theo de Raadt Linux Linus Torvalds (C) Mariusz Kopeć, WFiTJ AGH,

8 Linux Kernel Linus Torvalds, Univ. Helsinki, 1991 właściwy LINUX to kernel Narzędzia (utilities) Głównie z Free Software Foundation GNU/Linux (GNU s Not UNIX) Dystrybucje kernel + narzędzia + programy pomocnicze i instalacyjne Red Hat najpopularniejszy pakiet dystrybucyjny Caldera OpenLinux również w pakietach komercyjnych Debian projekt całkowicie niekomercyjny SuSE dystrybucja w języku niemieckim Mandrake zbliżona do Red Hat; łatwa instalacja i konfiguracja (C) Mariusz Kopeć, WFiTJ AGH,

9 System operacyjny UNIX System operacyjny zespół programów pośredniczących pomiędzy użytkownikiem komputera a warstwą sprzętową (hardware), organizujący całość pracy komputera, a w szczególności: zarządzanie zasobami sprzętowymi; obsługę urządzeń wejścia-wyjścia; zarządzanie systemem plików; obsługę kont użytkowników i kontrolę dostępu. (C) Mariusz Kopeć, WFiTJ AGH,

10 Warstwy systemu UNIX Użytkownik Interfejs użytkownika Powłoki, polecenia, aplikacje Interfejs bibliotek Biblioteki systemowe (open, read, write,...) Interfejs wywołań systemowych Jądro systemu (kernel) (zarządzanie procesami, pamięcią, zasobami,...) Interfejs warstwy sprzętowej (programy, kompilatory, interpretery,...) Warstwa sprzętowa (hardware) (CPU, pamięć, dyski, terminale, sterowniki,...) (C) Mariusz Kopeć, WFiTJ AGH,

11 Zaczynamy pracę Rodzaje i uprawnienia użytkowników superuser user Identyfikacja użytkownika username password Zmieniamy hasło polecenie passwd zasady doboru hasła (długość, zestaw znaków) Kończymy pracę exit logout (C) Mariusz Kopeć, WFiTJ AGH,

12 Nazwy i polecenia Nazwa case sensitive długość zależna od implementacji (max. 255) zestaw znaków Polecenie znaki alfanumeryczne [A-Z], [a-z], [0-9] inne znaki:.=@#%^_+-:, znaki specjalne: `!$&*(){}[]; \<>?/spacja wprowadzanie znaku specjalnego, np.: Mój\ Plik nazwa-polecenia opcje parametry opcje najczęściej poprzedza - parametry oddzielane spacjami przykład: ls -l (C) Mariusz Kopeć, WFiTJ AGH,

13 Rozwijanie nazw Rozwijanie nazw plików przez system: znak * zastępuje dowolną grupę znaków, np.: * plik1.dat plik2.dat test.out wyniki.dat wyniki.txt wyjątek:. na początku znak? zastępuje jeden dowolny znak, np.: plik?.dat plik1.dat plik2.dat nawias kwadratowy [] określa grupę znaków z której może być wybrany jeden znak, np.: [pt]*.* plik1.dat plik2.dat test.out [p-t]*.* plik1.dat plik2.dat test.out klamra {} podaje pasującą grupę znaków, np.: w*.{dat,txt} wyniki.dat wyniki.txt (C) Mariusz Kopeć, WFiTJ AGH,

14 Pomoc on-line man info man passwd man 5 passwd whatis (man f) whatis h whatis passwd apropos (man k) apropos h apropos passwd info -usage info passwd (C) Mariusz Kopeć, WFiTJ AGH,

15 Zmiany danych użytkownika Zmiana hasła passwd Zmiana danych osobistych użytkownika chfn Zmiana defaultowej powłoki (shell) użytkownika chsh (C) Mariusz Kopeć, WFiTJ AGH,

16 Przydatne informacje Informacje o systemie uname -a Kim jesteśmy w sieci? hostname dnsdomainname Kim jesteśmy w systemie? whoami who am i (who mom likes) Kto pracuje w systemie? who w (C) Mariusz Kopeć, WFiTJ AGH,

17 System plików wszystko jest plikiem: pliki zwykłe katalogi (zawierają inne pliki) pliki urządzeń struktura drzewa wszystko zaczyna się od / (root katalog główny) podkatalogi zawierają się w katalogach lub podkatalogach kolejne poziomy katalogów oddzielamy przez /, a nie przez \ jak w Windows lub DOS katalog bieżący oznaczamy. katalog rodzicielski (parent directory) oznaczamy.. każdy plik posiada pełną ścieżkę dostępu, np.: (C) Mariusz Kopeć, WFiTJ AGH,

18 System plików - przykład / etc usr bin ho me lib dev bin loc al jan ew a ada m dan e pro g program1.c (C) Mariusz Kopeć, WFiTJ AGH,

19 Operacje na katalogach pwd wypisanie katalogu bieżącego > pwd /home/stud/kowalski ls wypisanie zawartości katalogu > ls (tu to samo co ls /home/stud/kowalski) plik1.dat prog.e testy > ls -a... plik1.dat prog.e testy > ls a * plik1.dat prog.e testy:... Zauważ: 1. * nie rozwija nazw. i.. 2. testy to katalog; listowana jest jego zawartość (C) Mariusz Kopeć, WFiTJ AGH,

20 Operacje na katalogach, cd > ls d * plik1.dat prog.e testy > ls -l -rw-r--r-- 1 kowalski stud 10 Oct plik1.dat -rwxr-xr-x 1 kowalski stud 445 Jul prog.e drwxr-xr-x 2 kowalski stud 4096 Jul testy mkdir utworzenie nowego katalogu > mkdir zajecia1;ls d * plik1.dat prog.e testy zajecia1 > mkdir /home/stud/kowalski/zajecia1 (C) Mariusz Kopeć, WFiTJ AGH,

21 Operacje na katalogach, cd cd zmiana katalogu bieżącego > cd /usr/local;pwd /usr/local > cd..;pwd /usr > cd;pwd /home/stud/kowalski > cd -;pwd /usr > cd ~/zajecia1;pwd /home/stud/kowalski/zajecia1 (C) Mariusz Kopeć, WFiTJ AGH,

22 Operacje na katalogach, cd rmdir usunięcie katalogu (pustego) > cd > rmdir zajecia1; ls plik1.dat prog.e testy > mkdir zajecia1 > mkdir zajecia1/zadanie1; ls zajecia1 zadanie1 > rmdir zajecia1 rmdir: `zajecia1 : Directory not empty Katalog nie jest pusty trzeba inaczej: > rm r zajecia1; ls plik1.dat prog.e testy Ostrożnie! (C) Mariusz Kopeć, WFiTJ AGH,

23 Prawa dostępu do pliku read wartość = 4 (r albo -) write wartość = 2 (w albo -) execute wartość = 1 (x albo -) -rwxr--r-- 1 user group... prog1.e u g o typ others group user - zwykły plik d katalog... mod tego pliku = 744 execute: zwykły plik program, script katalog wykonanie cd (C) Mariusz Kopeć, WFiTJ AGH,

24 Zmiana praw dostępu Zmiana modu chmod [-R] [kto]op[zezw][,...] plik kto - grupa znaków ugoa: u user g group o other a all (a=ugo) op - operacja: + - dodaj zezwolenie - - odbierz zezwolenie = - zastąp zezwolenie zezw - typ zezwolenia: r czytanie w pisanie x wykonanie (cd do katalogu) (C) Mariusz Kopeć, WFiTJ AGH,

25 Zmiana praw dostępu, cd Przykłady: chmod a+x plik1.e chmod o-w plik1.e chmod u=rw,go=r plik1.e chmod [-R] kod_oktalny plik kod_oktalny suma kodów oktalnych w grupach: user - r=400 w=200 x=100 group - r=040 w=020 x=010 others - r=004 w=002 x=001 Przykłady: chmod 644 plik1.e chmod 777 plik1.e (C) Mariusz Kopeć, WFiTJ AGH,

26 Zmiana praw dostępu, cd Zmiana właściciela chown [-R] user[:group] plik user właściciel pliku group - właściciel grupowy Ostrożnie! opcja R - zmiany rekurencyjne w podkatalogach Przykład: chown jan:stud plik1.e Zmiana właściciela grupowego chgrp [-R] group plik group - właściciel grupowy opcja R - zmiany rekurencyjne w podkatalogach Przykład: chgrp stud plik1.e (C) Mariusz Kopeć, WFiTJ AGH,

27 Operacje na plikach Utworzenie pliku touch > touch plik2.dat; ls l plik2.dat -rwxr-xr-x 1 kowalski stud 0... plik2.dat cat > cat > plik2.dat Linia1 wprowadzonego tekstu<enter> Linia2 wprowadzonego tekstu<enter> Ctrl-D > ls l plik2.dat -rwxr-xr-x 1 kowalski stud plik2.dat dowolny edytor, np. vi > vi plik2.dat (C) Mariusz Kopeć, WFiTJ AGH,

28 Operacje na plikach, cd rm - usuwa jeden lub wiele plików (katalogów) > rm plik usuwa plik > rm r katalog usuwa rekurencyjnie katalog > rm i * usuwa po potwierdzeniu cp - kopiuje pliki (katalogi) > cp plik1 plik2 kopiuje plik1 do plik2 > cp R katalog1 katalog2 kopiuje rekurencyjnie katalog1 do katalog2 mv przenosi lub przemianowuje pliki (katalogi) > mv plik1 plik2 przemianowuje plik1 na plik2 > mv plik1 katalog1 przenosi plik1 do katalogu1 (C) Mariusz Kopeć, WFiTJ AGH,

29 Operacje na plikach, cd Wypisanie zawartości pliku cat wypisanie zawartości jednego lub kilku plików > cat plik2.dat Linia1 wprowadzonego tekstu Linia2 wprowadzonego tekstu more wypisanie zawartości pliku strona po stronie > more plik3.dat less wypisanie zawartości pliku strona po stronie > less plik3.dat tac wypisanie zawartości pliku od końca > tac plik2.dat Linia2 wprowadzonego tekstu Linia1 wprowadzonego tekstu (C) Mariusz Kopeć, WFiTJ AGH,

30 Operacje na plikach, cd Wypisanie fragmentu pliku head wypisanie początkowych linii pliku (plików) head plik1 pierwsze 10 linii pliku head n plik1 plik2 pierwsze n linii każdego pliku tail wypisanie końcowych linii pliku (plików) tail plik1 ostatnie 10 linii pliku tail n plik1 ostatnie n linii pliku tail +n plik1 10 linii poczynając od n-tej linii Wypisanie zawartości pliku w kolumnach column tworzenie tabeli column t plik1 separatorem jest biały znak column t s: plik1 separatorem jest : (C) Mariusz Kopeć, WFiTJ AGH,

31 Operacje na plikach, cd Dzielenie plików cut wycina kolumny lub pola z pliku cut c10-15 plik1 wypisuje znak z linii pliku cut f3 d\ plik1 wypisuje 3. pole z linii pliku csplit dzieli plik na części csplit plik tworzy trzy pliki: xx00, xx01, xx02 zawierające linie: 1 do 9, 10 do 29, od 30 csplit plik1 /wz1/ /wz2/ tworzy trzy pliki: wz1 wz2 xx00 od pierwszej linii, xx01 od linii zawierającej wzorzec xx02 od linii zawierającej wzorzec (C) Mariusz Kopeć, WFiTJ AGH,

32 Operacje na plikach, cd Łączenie plików cat łączy kilka plików w jeden (konkatenacja) cat p1 p2 p3 łączy kolejno p1, p2, p3 paste łączy równolegle linie plików paste plik1 plik2 wypisuje w jednej linii odpowiednie linie plików plik1 i plik2 join łączy równolegle linie plików z polem łączącym Przykład: plik1: rok1 anna plik2: rok1 jan rok2 ewa rok3 tom > join plik1 plik2 rok1 anna jan (C) Mariusz Kopeć, WFiTJ AGH,

33 Operacje na plikach, cd Sortowanie plików i ich przetwarzanie sort sortuje jeden lub kilka plików (konkatenacja) sort plik1 sortuje plik1 sort k 2 p1 p2 dołącza p2 do p1 a następnie sortuje wg pola 2 uniq usuwa powtarzające się linie uniq plik1 uniq t: -W2 plik1 bada tylko 2 pierwsze pola : jest separatorem pól comm wypisuje takie same linie z dwóch plików comm plik1 plik2 (C) Mariusz Kopeć, WFiTJ AGH,

34 Operacje na plikach, cd Porównywanie plików cmp porównuje dwa pliki lub ciągi bajtów cmp plik1 plik2 pokazuje pierwszą różnicę sdiff wypisuje różnice między plikami sdiff -s p1 p2 wypisuje różniące się linie sdiff i -s p1 p2 ignoruje wielkość liter diff3 wypisuje różnice między trzema plikami diff3 p1 p2 p3 wypisuje różniące się linie (C) Mariusz Kopeć, WFiTJ AGH,

35 Ustalanie charakteru pliku file określenie trybu pliku: > file ls.txt ls.txt: ASCII English text,... > file /bin/ls /bin/ls: ELF 32-bit LSB executable,... stat wypisanie statusu pliku: > stat ls.txt File: ls.txt Size: 7132 Device: 851h/2129h Access: (0744/-rw-r r-) Uid: (751/.) Gid: (700/.) Access: Tue Nov 4 14:02: Modify: Mon Oct 27 11:48: Change: Mon Oct 27 11:50: (C) Mariusz Kopeć, WFiTJ AGH,

36 Filtry Przetwarzają w określony sposób pliki wejściowe, np: wyszukują wzorce sortują wycinają fragmenty linii edytują zliczają znaki, słowa, linie Działają zazwyczaj w trybie potokowym Potoki (pipes) przesyłają wyjście jednego polecenia bezpośrednio na wejście następnego: polecenie1 polecenie2 [ polecenie3...] > ls -l sort > cat ls.txt head n20 wc (C) Mariusz Kopeć, WFiTJ AGH,

37 Filtry: wc (word count) Wypisuje liczbę linii, słów, znaków w pliku wc [opcje] [plik] [...] wc ls.txt wypisuje liczbę linii, słów i znaków w ls.txt wc -l ls.txt wypisuje tylko liczbę linii w pliku ls.txt wc -w ls.txt wypisuje tylko liczbę słów w pliku ls.txt wc -c ls.txt wypisuje tylko liczbę znaków w pliku ls.txt wc -l *.txt wypisuje liczbę linii w każdym z plików o zakończeniu.txt oraz ich sumę wc jako filtr > ls l /usr/games wc l 50 (C) Mariusz Kopeć, WFiTJ AGH,

38 Filtry: grep Wyszukuje linie zawierające wzorzec grep [opcje] wzór [plik...] grep wz * wypisuje linie zawierające łańcuch wz, poprzedzone nazwą pliku grep v wz * wypisuje linie nie zawierające łańcucha wz, poprzedzone nazwą pliku grep c wz * wypisuje tylko nazwy plików i liczby linii zawierających łańcuch wz grep inr wz * wypisuje nazwy plików i numery linii zawierających wz ignorując różnice wielkości liter. Badane są pliki w katalogu bieżącym i rekurencyjnie w podkatalogach. (C) Mariusz Kopeć, WFiTJ AGH,

39 Filtry: grep wzorce wzorzec wyrażenie regularne:. dowolny znak plik.a plik1a, plikaa12, ale nie plika \ następny znak nie jest traktowany jako specjalny plik\. plik.12, plik., ale nie plik1 * zero lub więcej powtórzeń poprzedniego znaku plik.*a plik.12a, plika123a, plik1a,... [...] dowolny znak (jeden) z podanej listy [Pp]lik Plik, plik,... [^...] dowolny znak nie występujący na liście [^Pp]lik klik, ale nie plik (C) Mariusz Kopeć, WFiTJ AGH,

40 Filtry: grep wzorce, cd ^ początek linii ^plik plik1a, plikaa12, ale nie replika $ koniec linii plik$ nowyplik, ale nie plik1 \b łańcuch na krawędzi słowa \bplik plik.12a, plika123a, ale nie replika plik\b nowyplik \(...\) określenie podwyrażenia \(plik\) plik jest pierwszym podwyrażeniem \n odwołanie do n-tego podwyrażenia \(plik\).*\1 plik.*plik (C) Mariusz Kopeć, WFiTJ AGH,

41 Filtry: grep Przykłady zaawansowanego użycia wzorców: > grep v ^$ ls.txt Wypisuje wszystkie niepuste linie > grep \(time\).*\1 ls.txt Wypisuje wszystkie linie, w których time występuje więcej niż jeden raz > grep \btime\b ls.txt Wypisuje wszystkie linie, w których time występuje jako samodzielne słowo > file /etc grep English text.*with Wypisuje z katalogu /etc nazwy plików zawierających tekst angielski z dodatkowymi atrybutami (C) Mariusz Kopeć, WFiTJ AGH,

42 Filtry: sed edytor strumieni Wykonuje ciąg poleceń edycyjnych na pliku sed [-e skrypt] [...] [-f plikskryptu] [...] plik skrypt ciąg poleceń; może być kilka skryptów plikskryptu plik zawierający skrypt; może być ich kilka Wybrane przykłady: > sed 11,174d ls.txt Kasuje z pliku ls.txt linie > sed n 1,/Sort/p ls.txt Wypisuje z ls.txt tylko linie od 1 do zawierającej Sort > sed n /file/p ls.txt Wypisuje z ls.txt tylko linie zawierające file (C) Mariusz Kopeć, WFiTJ AGH,

43 Filtry: sed przykłady > sed n s/character/file/p ls.txt Zamienia w ls.txt character na file i wypisuje tylko linie w których dokonano zmian > sed n e s/character/file/g \? e s/file/file/p ls.txt Zamienia w ls.txt character na file a następnie file na FILE i wypisuje linie w których dokonano drugiej zmiany > sed n /mod/s/time/time/p ls.txt Zamienia time na TIME tylko w liniach zawierających mod, po czym wypisuje linie w których dokonano zmian > ls 1 /usr/games sed n /^[crw].*s$/p Wypisuje z katalogu /usr/games nazwy plików zaczynające się na c lub r lub w, a kończące się na s. (C) Mariusz Kopeć, WFiTJ AGH,

44 Filtry: tr zamienia znaki Usuwa lub zamienia określone znaki innymi tr [opcje] zestaw1 zestaw2 zestaw1 znaki do usunięcia lub zastąpienia zestaw2 znaki zastępujące odpowiednio znaki z zestawu1 Wybrane przykłady: tr d eeoo < ls.txt head Usuwa z pliku ls.txt znaki e, E, o i O tr [A-Z] [a-z] < ls.txt head Wypisuje plik ls.txt zamieniając duże litery na małe ls l /usr tr s [:space:] Wypisuje zawartość katalogu /usr zastępując ciąg spacji jedną spacją echo J mpwf Vojy tr B-z A-y? (C) Mariusz Kopeć, WFiTJ AGH,

45 Filtry: awk (gawk) Polecenie to zostanie omówione dokładniej w dalszej części wykładów Przetwarza w określony sposób plik wejściowy gawk wzór {akcja} [plik] [...] Wybrane przykłady: > gawk /Andrzej/ /etc/passwd Wypisuje z pliku /etc/passwd linie zawierające łańcuch Andrzej > cat /etc/passwd gawk /^[m-s].*\/csh$/ Wypisuje z pliku /etc/passwd linie użytkowników zaczynających się na litery od m do s, używających csh jako login shell (ale nie tcsh) > cat /etc/passwd gawk F: \? length($1)<7 {print $1, \t,$5} Wypisuje z pliku /etc/passwd pierwsze i piąte pole każdej linii, przyjmując za separator pól znak :. Pomiędzy polami wpisywany jest znak tabulacji. Wypisywanie następuje jeżeli pierwsze pole liczy mniej niż 7 znaków. (C) Mariusz Kopeć, WFiTJ AGH,

46 Filtry: tee Kopiuje wejście na wyjście i dodatkowo do pliku tee [-a] plik [...] -a dołącz do istniejącego pliku Wybrane przykłady: cat ls.txt tee kopia1 kopia2 less Wypisuje na ekranie plik ls.txt (strona po stronie) i tworzy dwie kopie: kopia1 i kopia2 ls l /usr/games tee usr.games wc Wypisuje ilość plików w katalogu /usr/games, którego zawartość zachowana zostaje w pliku usr.games who sort tee users Wypisuje posortowaną listę zalogowanych użytkowników i zachowuje ją w pliku users (C) Mariusz Kopeć, WFiTJ AGH,

47 Filtry: przykłady who tr s [:space:] cut f5 d sort Ciągi spacji na wyjściu komendy zamieniane są na jedną spację, następnie wycinane jest piąte pole z linii, przyjmując, że spacja jest separatorem. Posortowane wyjście wypisywane jest na ekran. ls la /etc grep ^d wc -l Wypisywana jest liczba podkatalogów w katalogu /etc. (Gdzie można sprawdzić czy jest poprawna?) cat /etc/passwd column s: -t sort less Lista zarejestrowanych w systemie użytkowników wypisywana jest strona po stronie w formie posortowanej tabeli. sort ls.txt uniq tee linie wc -l Z posortowanego pliku ls.txt usuwane są powtarzające się kolejne linie, a wynik zapisywany jest w pliku linie. Na ekran wyświetlana jest ilość linii. (C) Mariusz Kopeć, WFiTJ AGH,

48 Kompresja plików gzip kompresja/dekompresja zawartości plików gzip [opcje] [plik] [...] Wybrane przykłady: gzip ls.txt Kompresuje plik ls.txt, na którego miejsce tworzony jest ls.txt.gz. gzip d ls.txt ( gunzip ls.txt) Dekompresuje plik ls.txt.gz, przywracając ls.txt. gzip r * Kompresuje wszystkie pliki w bieżącym katalogu i w podkatalogach gzip dr * ( gunzip r *) Dekompresuje wszystkie pliki w bieżącym katalogu i w podkatalogach. (C) Mariusz Kopeć, WFiTJ AGH,

49 Archiwizacja plików tar archiwizuje i odtwarza pliki tar [opcje] [plik] [...] -c tworzy nowe archiwum -r dodaje pliki do istniejącego archiwum -x wyciąga pliki z archiwum -f nazwa podaje nazwę archiwum -t listuje zawartość archiwum -v informuje o wykonywanych operacjach Wybrane przykłady: tar cvf mojkatalog.tar * Tworzy archiwum mojkatalog.tar z bieżącego katalogu. tar tvf mojkatalog.tar Listuje zawartość archiwum mojkatalog.tar. (C) Mariusz Kopeć, WFiTJ AGH,

50 Powłoki (shells) Podstawowe zadania powłoki: interfejs między użytkownikiem a jądrem interpreter poleceń język programowania Najważniejsze rodzaje powłok: sh (Bourne shell) bash (Bourne again shell) csh (C shell) tcsh (C shell improved) (C) Mariusz Kopeć, WFiTJ AGH,

51 Powłoki Co robi powłoka: wczytuje wejście (z pliku lub terminala) dzieli wejście na słowa i operatory (tokeny) przetwarza tokeny na polecenia zamienia pewne tokeny (np. *) na odpowiednie listy (np. plików) dokonuje odpowiednich przekierowań strumieni i usuwa odpowiednie operatory i argumenty wykonuje polecenie z listy czeka na zakończenie polecenia (opcjonalnie) (C) Mariusz Kopeć, WFiTJ AGH,

52 Powłoka bash Niektóre znaki specjalne powłoki: metaznaki potok (pipe) <, > przekierowanie strumieni (, ) definiowanie podpowłoki ; koniec polecenia & wykonanie polecenia w tle blank spacja lub tabulator metaznaki nie muszą być otoczone przez blank (C) Mariusz Kopeć, WFiTJ AGH,

53 Powłoka bash inne znaki specjalne: # komentarz (działa do końca linii) \Enter kontynuacja w następnej linii anulowanie specjalnego znaczenia znaków: \ następny znak (poza Enter) nie ma specjalnego znaczenia, np: > mkdir Moje\ wyniki anuluje specjalne znaczenie znaków anuluje specjalne znaczenie znaków z wyjątkiem znaków $, \, ` (C) Mariusz Kopeć, WFiTJ AGH,

54 Powłoka bash rozwinięcie nawiasów klamrowych {}: {a,b} podstawiana jest lista a b : > echo {a,b}{a,b} aa ab ba bb rozwinięcie tyldy ~: ~ $HOME (katalog domowy użytkownika) > echo ~ /home/prac/mariusz ~aga katalog domowy użytkownika aga > echo ~aga /home/stud/aga ~nic jeżeli wynikowy katalog nie istnieje to rozwinięcie nie jest przeprowadzane (C) Mariusz Kopeć, WFiTJ AGH,

55 Powłoka bash rozwinięcie parametrów: ustalam przykładowo wartość parametru par: > par=projekt ${par} projekt (= $par) > echo ${par} projekt ${par:-słowo} jeżeli parametr par jest ustawiony to podstawiana jest jego wartość : > echo ${par:-~} projekt jeżeli nie, podstawiana jest wartość słowa, a parametr nie jest ustawiany: > echo ${rap:-~} /home/prac/mariusz (C) Mariusz Kopeć, WFiTJ AGH,

56 Powłoka bash ${par:=słowo} jeżeli parametr par nie jest ustawiony to podstawiana jest do niego wartość słowa: > echo $rap > echo ${rap:=~} /home/prac/mariusz > echo $rap /home/prac/mariusz ${par:+słowo} jeżeli parametr par nie jest ustawiony to rozwinięcie jest puste; jeśli jest ustawiony, rozwinięcie jest rozwinięciem słowa: > echo ${par:+~} /home/prac/mariusz > echo $par projekt (C) Mariusz Kopeć, WFiTJ AGH,

57 Powłoka bash podstawienie poleceń: $(polecenie) podstawiany jest wynik polecenia albo `polecenie` podstawiany jest wynik polecenia > echo Dlugosc pliku: \ > `cat ls.txt wc l` \ > linii Dlugosc pliku: 198 linii (C) Mariusz Kopeć, WFiTJ AGH,

58 Powłoka bash podstawienie nazw plików: * ciąg znaków (w tym pusty) nie zaczynający się od.? jeden dowolny znak (ale nie. na początku) [...] jeden z wymienionych znaków [.-.] jeden znak z zakresu [!...] jeden znak z wyłączeniem wymienionych jak to działa? wynikiem podstawienia jest lista nazw plików z bieżącego katalogu, pasujących do podanego wzorca jeżeli lista taka jest pusta, podstawienie nie jest dokonywane (wynikiem jest sam wzorzec) (C) Mariusz Kopeć, WFiTJ AGH,

59 Powłoka bash rozwinięcie arytmetyczne: $(( wyrażenie )) jak to działa? wszystkie elementy wyrażenia podlegają rozwinięciu parametrów i podstawieniu poleceń wynikiem rozwinięcia jest wynik wyrażenia arytmetycznego przykłady: > echo $((2+5)) 7 > echo $((`ls l wc l`+3)) 55 > echo $((`wc l<ls.txt`>`ls l wc l`)) 1 (C) Mariusz Kopeć, WFiTJ AGH,

60 Powłoka bash kolejność działań w rozwinięciu: id++ id-- post-in/dekrementacja zmiennej ++id --id pre-in/dekrementacja zmiennej - + znak lub +! ~ negacja logiczna i binarna ** potęgowanie * / % mnożenie, dzielenie, modulo + - dodawanie i odejmowanie << >> przesunięcia bitowe < > <= >= porównania arytmetyczne ==!= równość i nierówność (C) Mariusz Kopeć, WFiTJ AGH,

61 Powłoka bash kolejność działań, cd: & bitowe AND ^ bitowe XOR bitowe OR && logiczne AND logiczne OR expr? expr : expr wyrażenie warunkowe = *= /= %= += -= <<= >>= &= ^= = przypisania expr1, expr2 przecinek (C) Mariusz Kopeć, WFiTJ AGH,

62 Powłoka bash przekierowanie strumieni: numery strumieni: 0 standardowe wejście 1 standardowe wyjście 2 wyjście diagnostyczne (error) przekierowanie wejścia: <word przekierowanie wyjścia: >word przekierowanie wyjścia diagn.: 2>word łączne przekierowanie 1 i 2: >word 2>&1 Uwaga: >word 2>&1 2>&1 >word Operatory przekierowania (z zastrzeżeniem powyższej uwagi) mogą pojawić się w dowolnym miejscu linii polecenia, np.: > > ls.txt man ls (C) Mariusz Kopeć, WFiTJ AGH,

63 Powłoka bash here document : > polecenie <<ogranicznik {nie - } >... > ogranicznik Jeżeli ogranicznik jest ujęty w apostrofy, to wprowadzane linie nie są rozwijane; w przeciwnym razie podlegają one rozwinięciu para-metrów, rozwinięciu arytmetycznemu i podstawieniu poleceń: > cat <<+ > `whoami` > + mariusz > cat << + > `whoami` > + `whoami` (C) Mariusz Kopeć, WFiTJ AGH,

64 Powłoka bash Lista sekwencja poleceń (potoków) oddzielonych separatorami: ; & && polecenie1 & polecenie2 polecenie1 wykonywane jest asynchronicznie (w tle) polecenie1 ; polecenie2 polecenie1 i polecenie2 wykonywane są sekwencyjnie polecenie1 && polecenie2 polecenie2 wykonywane jest tylko wtedy, gdy polecenie1 zwróci status 0 (zakończy się sukcesem) polecenie1 polecenie2 polecenie2 wykonywane jest tylko wtedy, gdy polecenie1 zwróci status 0 (zakończy się błędem) (C) Mariusz Kopeć, WFiTJ AGH,

65 Powłoka bash Grupowanie poleceń lista wykonywana jest jako osobna całość przekierowanie strumieni może wówczas dotyczyć całej grupy (lista) tworzona jest podpowłoka w której lista jest wykonywana > (mkdir Test; cd Test) > pwd /home/prac/mariusz { lista; } lista jest wykonywana w bieżącej powłoce > { mkdir Test; cd Test; } > pwd /home/prac/mariusz/test (C) Mariusz Kopeć, WFiTJ AGH,

66 Powłoka bash Konstrukcje pętli Uwaga: syntaktyczny ; może być zastąpiony przez znak nowej linii (/Enter) until until polecenia_testujące; do polecenia_do_wykonania; done polecenia_do_wykonania wykonywane są tak długo, dopóki polecenia_testujące zwracają zerowy kod powrotu while while polecenia_testujące; do polecenia_do_wykonania; done polecenia_do_wykonania wykonywane są tak długo, dopóki polecenia_testujące zwracają niezerowy kod powrotu (C) Mariusz Kopeć, WFiTJ AGH,

67 Powłoka bash for for nazwa [in słowo...]; do polecenia_do_wykonania; done słowo jest rozwijane; polecenia_do_wykonania wykonywane są tak długo, dopóki nazwa odpowiada kolejnym elementom rozwinięcia; jeżeli [in słowo...] nie pojawia się, porównuje się for (( wyr1; wyr2; wyr3 )); do polecenia_do_wykonania; nazwę z kolejnymi parametrami pozycyjnymi done wyrażenia wyr1, wyr2, wyr3 są wyrażeniami arytmetycznymi, a działanie pętli jest takie jak w C (C) Mariusz Kopeć, WFiTJ AGH,

68 Powłoka bash Konstrukcje warunkowe Uwaga: syntaktyczny ; może być zastąpiony przez znak nowej linii (/Enter) if if polecenia_testujące; then polecenia_do_wykonania; [elif inne_polecenia_testujące; then inne_polecenia_do_wykonania;] [else polecenia_alternatywne;] fi w zależności od wyniku poleceń testujących wykonywane są odpowiednie zestawy poleceń (C) Mariusz Kopeć, WFiTJ AGH,

69 Powłoka bash case case słowo in [ [(] wzór [ wzór]... ) polecenia ;;... esac jeżeli słowo znajduje się na liście wzorów, to wykonywane są polecenia Przykład case $swiatlo in czerwone ) echo STOP ;; zielone ) echo JAZDA ;; default ) echo CZEKAJ ;; esac (C) Mariusz Kopeć, WFiTJ AGH,

70 Powłoka bash Parametry i zmienne powłoki parametry przechowują wartość (nazwę, liczbę,...) parametry pozycyjne: np. $1, $9, ${12} kolejne parametry z linii wywołania polecenia parametry specjalne: $0 nazwa powłoki lub wykonywanego skryptu $* wszystkie parametry pozycyjne razem $# ilość parametrów pozycyjnych Przykład: > cat mtest echo $1= $1 $2= $2 $0= $0 $#= $# $*= $* >. mtest Moj test $1=Moj $2=test $0=bash $#=2 $*=Moj test (C) Mariusz Kopeć, WFiTJ AGH,

71 Powłoka bash zmienne nazwane parametry przypisanie zmiennej wartości: zmienna1=wartość podczas przypisania dokonywane są wszystkie konieczne rozwinięcia do wartości zmiennej odwołujemy się następująco: $zmienna1 Przykład 1: > zmienna1=~ > echo $zmienna1 > /home/prac/mariusz Przykład 2: > i=5 > j=$i+2 > echo $((j)) 7 (C) Mariusz Kopeć, WFiTJ AGH,

72 Powłoka bash zmienne powłoki (automatycznie ustawiane) zmienne powłoki sh (są też w bash): HOME katalog domowy użytkownika IFS lista znaków-separatorów pól PATH lista katalogów, w których powłoka szuka programów do wykonania PS1 podstawowy znak zachęty powłoki (default: \s-\v\$ ) PS2 drugi znak zachęty powłoki (default: > ) Jak odczytać ich wartości? Na przykład: > echo $PATH (C) Mariusz Kopeć, WFiTJ AGH,

73 Powłoka bash zmienne powłoki bash (w sh ich nie było): BASH_VERSION numer wersji wykonywanej powłoki bash HISTSIZE max. liczba pamiętanych poleceń (d: 500) HOSTNAME nazwa hosta HOSTTYPE typ maszyny HOSTTYPE typ maszyny PROMPT_COMMAND polecenie wykonywane przed wypisaniem $PS1 PWD bieżący katalog UID identyfikator użytkownika (C) Mariusz Kopeć, WFiTJ AGH,

74 Powłoka bash Jak powłoka znajduje polecenia do wykonania? 1. Jeżeli nazwa polecenia zawiera / to polecenie traktowane jest jako program i wykonywane we własnym środowisku. 2. Jeżeli nie, to wykonywana jest funkcja powłoki o tej nazwie (o ile istnieje). Wykonanie następuje w środowisku powłoki. 3. Jeżeli takiej funkcji nie ma, to wykonywane jest polecenie wbudowane powłoki (builtin) o tej nazwie. Wykonanie następuje w środowisku powłoki. 4. Jeżeli takiego polecenia nie ma, to program o podanej nazwie poszukiwany jest w katalogach podanych w PATH. Wykonanie następuje w osobnym środowisku. 5. Jeżeli znaleziony plik nie jest w formacie wykonywalnym, to traktowany jest jako skrypt powłoki. (C) Mariusz Kopeć, WFiTJ AGH,

75 Powłoka bash Funkcje powłoki grupują polecenia do późniejszego wykonania [function] nazwa () { lista polecen; } Przykład: > moja_funkcja () { > echo To jest moja funkcja > ls > ls l wc l; } > moja_funkcja To jest moja funkcja ls.txt plik1.txt plik2.txt 3 (C) Mariusz Kopeć, WFiTJ AGH,

76 Powłoka bash Polecenia wbudowane powłoki sh. polecenie [argumenty] wykonuje polecenie (program) w bieżącym cd środowisku [nazwa katalogu] zmienia bieżący katalog pwd [nazwa katalogu] wypisuje nazwę bieżącego katalogu exit [n] kończy pracę powłoki zwracając kod wyjścia n export [nazwa[=wartość]] przekazuje wielkość określoną przez nazwę (zmienną, funkcję powłoki) do środowisk procesów potomnych; jeżeli nazwy nie podano wypisuje eksportowane wielkości (C) Mariusz Kopeć, WFiTJ AGH,

77 Powłoka bash return [n] wyjście z funkcji powłoki z kodem n shift [n] przesunięcie parametrów pozycyjnych o n pozycji test wyrażenie lub [ wyrażenie ] zwraca wynik opracowania wyrażenia set [ -opcje ] [ -o opcje] [ argumenty ] ustawia lub kasuje atrybutu powłoki; set pokazuje zmienne unset [nazwa] usuwa ustawione wcześniej zmienne lub funkcje powłoki (C) Mariusz Kopeć, WFiTJ AGH,

78 Powłoka bash Polecenia wbudowane powłoki bash alias [nazwa[=wartość]] ustawia lub wypisuje aliasy unalias [nazwa] usuwa aliasy declare [nazwa[=wartość]] deklaruje zmienne i nadaje im wartość; wypisuje zmienne echo [argumenty] wypisuje argumenty oddzielając je blankami i kończąc \n exit [n] kończy pracę powłoki zwracając kod wyjścia n (C) Mariusz Kopeć, WFiTJ AGH,

79 Powłoka bash let wyrażenie [wyrażenie] wykonuje wyrażenie arytmetyczne logout [n] wyjście z powłoki logowania z kodem powrotu n echo [argumenty] wypisuje argumenty oddzielając je blankami i kończąc \n printf format [argumenty] wypisuje argumenty zgodnie z formatem read [opcje] [nazwa...] wczytuje linię ze standardowego wejścia (C) Mariusz Kopeć, WFiTJ AGH,

80 Powłoka bash shopt [opcje] wypisuje albo przełącza atrybuty powłoki ulimit [opcje] [limit] pokazuje albo ustawia limity powłoki help wyświetla informacje o poleceniach powłoki pushd katalog przechodzi do katalogu i zapisuje go na stosie popd zdejmuje nazwę katalogu ze stosu i wykonuje do niego cd dirs wypisuje stos katalogów (C) Mariusz Kopeć, WFiTJ AGH,

81 Powłoka bash Polecenia sterowania procesami powłoki bash suspend (ctrl Z) zatrzymuje wykonanie procesu jobs wypisuje aktywne procesy bg nr_procesu np. %1 kontynuacja realizacji zatrzymanego procesu w tle ( jak &) fg nr_procesu np. %1 kontynuacja realizacji zatrzymanego kill [-s sygnał] nr_procesu lub pid przesyła sygnał do procesu (C) Mariusz Kopeć, WFiTJ AGH,

82 Powłoka bash Przykłady rozwinięcia linii polecenia: > echo ls p*.txt ls p1.txt pl1.txt pl2.txt plik1.txt plik2.txt p*.txt zastępowane jest odpowiednią listą plików > echo ls p{l,lik}*.txt ls pl1.txt pl2.txt plik1.txt plik2.txt rozwinięcie następuje w dwóch krokach: p{l,lik}*.txt -> pl*.txt plik*.txt ->... > echo cat `whoami` ~ $((2+3)) {a,b}c p?.txt cat mariusz /home/prac/mariusz 5 ac bc p1.txt p2.txt przeprowadzane są wszystkie konieczne rozwinięcia (C) Mariusz Kopeć, WFiTJ AGH,

83 Powłoka bash - skrypty Skrypty skrypt sekwencja poleceń wykonywana przez interpreter (powłokę), zapisana jako samodzielny plik. wykonanie skryptu: bash plik_skryptu skrypt jest wykonywany w nowym otoczeniu. plik_skryptu skrypt jest wykonywany w bieżącym otoczeniu./plik_skryptu skrypt jest wykonywany w nowym otoczeniu. Uwaga: plik_skryptu musi mieć mod pozwalający na wykonanie (C) Mariusz Kopeć, WFiTJ AGH,

84 Powłoka bash - skrypty ustalenie programu wykonującego skrypt - w pierwszej linii skryptu podawana jest nazwa programu wraz z pełną ścieżką dostępu: #!/bin/bash skrypt wykonany będzie przez bash #!/bin/csh skrypt wykonany będzie przez csh #!/bin/tcsh skrypt wykonany będzie przez tcsh mogą być też inne programy: #!/bin/sed -f skrypt wykonany będzie przez sed #!/usr/bin/perl skrypt wykonany będzie przez perl #!/usr/bin/less skrypt wykonany będzie przez less (C) Mariusz Kopeć, WFiTJ AGH,

85 Powłoka bash - skrypty Przykłady skryptów Skrypt z pętlą while, wypisujący ostatni podany parametr: #!/bin/bash parametry= while [ $# -gt 1 ]; do parametry= $parametry $1 shift done ostatni_parametr=$1 shift echo $parametry echo $ostatni_parametr (C) Mariusz Kopeć, WFiTJ AGH,

86 Powłoka bash - skrypty Skrypt z konstrukcją warunkową if #!/bin/bash echo "Pytamy o plik $1" if [ -e $1 ]; then echo "Plik $1 istnieje"; if [ -d $1 ]; then echo "Plik $1 jest katalogiem"; else echo "Plik $1 nie jest katalogiem"; fi else echo "Plik $1 nie istnieje"; fi (C) Mariusz Kopeć, WFiTJ AGH,

87 Powłoka bash - skrypty Skrypt z pętlą for #!/bin/bash echo Rozwiniecie nazw plikow: * for ff in *; do if file $ff grep text > /dev/null; then echo "Plik $ff jest plikiem tekstowym" fi done Skrypt wypisuje nazwy plików z bieżącego katalogu i informuje czy dany plik jest plikiem tekstowym Skrypt ten jest wywoływany bez parametrów (C) Mariusz Kopeć, WFiTJ AGH,

88 Powłoka bash - skrypty Skrypt z pętlą while i konstrukcją case #!/bin/bash while true; do echo n Wypisac biezacy katalog? (y/n) read yn case $yn in y* Y* ) ls l. ; break ;; [nn]* ) echo pomijamy ; break ;; q* ) exit ;; * ) echo Niezrozumiala odpowiedz ;; esac done (C) Mariusz Kopeć, WFiTJ AGH,

89 Powłoka bash - skrypty Skrypt z obliczeniami arytmetycznymi #!/bin/bash a=0 b=0 c=0 d=0 while [ $a le 4 ]; do echo $a $b $c $d a=$(($a + 1)) b=$((b + a)) d=$((c += a)) done W rozwinięciu arytmetycznym zmienna może być używana bez poprzedzającego znaku $ Wynikiem rozwinięcia arytmetycznego jest wartość w instrukcji przypisania (C) Mariusz Kopeć, WFiTJ AGH,

90 Powłoka bash - skrypty Skrypt zaw_kat wykorzystujący instrukcję pustą #!/bin/bash katalog= $1 : ${katalog:=$home} echo Zawartosc katalogu $katalog: ls 1 $katalog Przykłady wykonania: > zaw_kat > Zawartosc katalogu /home/prac/mariusz... > zaw_kat. > Zawartosc katalogu.... (C) Mariusz Kopeć, WFiTJ AGH,

91 Powłoka bash Podstawy konfiguracji powłoki Pliki konfiguracyjne dla login shell /etc/profile ~/.bash_profile ~/.bash_login ~/.profile ~/.bash_logout Pliki konfiguracyjne dla non-login shell /etc/bashrc ~/.bashrc (C) Mariusz Kopeć, WFiTJ AGH,

92 Powłoka bash Konfiguracja znaku zachęty PS1= \w]\$ znaczenie: \u nazwa użytkownika \h nazwa hosta \Hpełna nazwa hosta (z domeną) \w bieżący katalog \s nazwa powłoki \t czas HH:MM:SS \Aczas HH:MM \$ # dla roota, $ dla innych \! numer polecenia w zapisie historii \n newline \\ backslash (C) Mariusz Kopeć, WFiTJ AGH,

93 Powłoka bash Niektóre przydatne kombinacje klawiszy edycja linii komend C-a przesunięcie kursora na początek linii C-e przesunięcie kursora na koniec linii C-l clear screen C-_ usuwanie wprowadzonych zmian (kolejne) A-r usunięcie wszystkich zmian poruszanie się po pliku historii A-< na początek pliku historii A-> na koniec pliku historii C-r szukanie wstecz w pliku historii C-s szukanie do przodu w pliku historii (C) Mariusz Kopeć, WFiTJ AGH,

94 Powłoka bash uzupełnienia TAB uzupełnienia ogółem A-? wypisz możliwe uzupełnienia A-/ uzupełnienie nazwy pliku A-~ uzupełnienie nazwy użytkownika uzupełnienie nazwy hosta A-! uzupełnienie poleceń (C) Mariusz Kopeć, WFiTJ AGH,

95 Powłoka bash Korzystanie z historii poleceń fc operuje na liście historii fc l listuje ostatnio wykonane polecenia wraz z ich numerami z listy historii fc l n1 n2 listuje polecenia o numerach od n1 do n2 fc n1 n2 wpisuje polecenia o numerach od n1 do n2 do edytora; po edycji polecenia są kolejno wykonywane. fc s old=new wykonuje poprzednie polecenie po zastąpieniu old przez new (C) Mariusz Kopeć, WFiTJ AGH,

96 Powłoka bash history operuje na liście i/lub pliku historii history [n] listuje [n] ostatnich pozycji z listy historii wraz z ich numerami; pozycje oznaczone * zostały zmodyfikowane history -c kasuje listę historii history d n kasuje pozycję n z listy historii history -a dołącza nowe pozycje (wprowadzone od początku bieżącej sesji bash) do pliku historii history -r wczytuje plik historii i dołącza jego zawartość do aktualnej listy historii (C) Mariusz Kopeć, WFiTJ AGH,

97 Powłoka bash rozwinięcia historii!n linia n z listy historii!-n linia n pozycji wstecz na liście historii!! poprzednia linia (to samo co!-1 )!string ostatnia linia zaczynająca się od string!?string ostatnia linia zawierająca string ^old^new^ powtarza ostatnie polecenie zastępując old przez new!n:p wypisuje linię n z listy historii, ale jej nie wykonuje (C) Mariusz Kopeć, WFiTJ AGH,

98 Zarządzanie procesami Informacje o procesach top pokazuje aktywne procesy z czasie rzeczywistym Sterowanie zachowaniem programu: h lub? help spacja odświeżenie ekranu f zmiana formatu wyświetlanych wyników n określenie ilości śledzonych procesów k przesłanie sygnału do procesu (kill) q quit (C) Mariusz Kopeć, WFiTJ AGH,

99 Zarządzanie procesami 14:22:12 up 12 days, 4:55, 23 users, load average: 1.31, 1.21, processes: 217 sleeping, 2 running, 0 zombie, 0 stopped CPU states: 0.4% user, 1.7% system, 49.8% nice, 48.7% idle Mem: K total, K used, 52912K free, 25800K buffers Swap: K total, K used, K free, K cache PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND mariusz R top 1 root S init... PRI: priorytet procesu RSS: wykorzystywana pamięć fizyczna STAT: status procesu (Running, Sleeping, Zombie, Traced/sTopped) %CPU: procentowe wykorzystanie czasu CPU %MEM: procentowe wykorzystanie pamięci (C) Mariusz Kopeć, WFiTJ AGH,

100 Zarządzanie procesami ps pokazuje aktywne procesy ps ef wypisuje wszystkie procesy w formacie pełnym ps fu user wypisuje wszystkie procesy użytkownika user ps a wypisuje wszystkie procesy (w tym innych użytkowników) skojarzone z terminalami ps fnu user wypisuje wszystkie procesy użytkowników innych niż user (zwykle root) ps C nazwa wypisuje wszystkie procesy związane z poleceniem o podanej nazwie (C) Mariusz Kopeć, WFiTJ AGH,

101 Zarządzanie procesami pstree pokazuje działające procesy w formie drzewa pstree a pokazuje działające procesy wraz z odpowiednimi argumentami linii poleceń pstree h zaznacza rozjaśnieniem bieżący proces oraz jego przodków pstree p wypisuje dodatkowo PID procesów (C) Mariusz Kopeć, WFiTJ AGH,

102 Zarządzanie procesami kill przesyła sygnały do procesów kill l wypisuje numery i nazwy wszystkich sygnałow kill l n wypisuje nazwę sygnału o numerze n kill pid... przesyła sygnał TERM (terminate) do procesów o podanych identyfikatorach pid kill n pid przesyła sygnał o numerze n do procesu o podanym identyfikatorze pid Przykład: > kill przesyła sygnał bezwarunkowego zakończenia procesu o pid 1213 (C) Mariusz Kopeć, WFiTJ AGH,

103 Zarządzanie procesami sleep opóźnia rozpoczęcie następnego procesu o podany interwał czasu sleep n[smhd] proces nic nie robi (ale działa) przez n sekund. Dodany modyfikator [smhd] zmienia jednostki czasu: s sekundy m minuty h godziny d - dni Przykład: > sleep 5m; ls polecenie ls zostanie wykonane po 5 sek. (C) Mariusz Kopeć, WFiTJ AGH,

104 Zarządzanie procesami at wykonuje polecenie wprowadzone ze standardowego wejścia w określonym czasie at TIME rozpoczyna wykonanie polecenia o czasie TIME at m TIME rozpoczyna wykonanie polecenia o czasie TIME i wysyła mail po zakończeniu działania polecenia Przykłady określenia czasu: HH:MM 10am Jul 31 1am tomorrow now + 3 weeks (C) Mariusz Kopeć, WFiTJ AGH,

105 Zarządzanie procesami atq wypisuje zadania użytkownika oczekujące na rozpoczęcie wykonania atrm nr usuwa zadanie o numerze nr z kolejki Przykład: > at m now + 1 hour <<+ > ls l > + job 352 at :24 > atq :24 a mariusz > atrm 352 (C) Mariusz Kopeć, WFiTJ AGH,

106 Zarządzanie procesami batch rozpoczyna wykonanie zadania w tle kiedy obciążenie systemu na to pozwoli batch -m wysyła mail po zakończeniu zadania Przykład: > batch <<+ > ls l > + job 353 at :39 (C) Mariusz Kopeć, WFiTJ AGH,

107 Zarządzanie procesami nohup wykonuje polecenie w sposób odporny na zawieszenia nohup polec & wykonuje polecenie polec w tle, nawet jeśli polecenie to przesyła wyniki na wyjście standardowe lub diagnostyczne, które może zostać zamknięte (np. przez wylogowanie użytkownika) Uwaga: Wyjście kierowane jest na plik nohup.out lub $HOME/nohup.out Przykład: > nohup moj_program & (C) Mariusz Kopeć, WFiTJ AGH,

108 Przestrzeń dyskowa Informacje o wykorzystaniu przestrzeni dyskowej du informuje o wykorzystaniu przestrzeni dyskowej du podaje dane dla bieżącego katalogu i jego podkatalogów du -a podaje dane dla wszystkich plików w bieżącym katalogu i jego podkatalogach du -s podaje tylko sumaryczne dane dla bieżącego katalogu i jego podkatalogów du -h podaje dane w kilo-, mega- i gigabajtach Przykład: > du sh 1.5M. (C) Mariusz Kopeć, WFiTJ AGH,

109 Przestrzeń dyskowa df pokazuje wykorzystanie zamontowanych systemów plików df -l pokazuje tylko lokalne systemy plików df -T wypisuje dodatkowo typy zamontowanych systemów plików du t typ podaje tylko dane dla określonego typu systemu plików du x typ podaje dane z wyłączeniem określonego typu systemu plików du -h podaje dane w kilo-, mega- i gigabajtach (C) Mariusz Kopeć, WFiTJ AGH,

110 Przestrzeń dyskowa quota pokazuje wykorzystanie przestrzeni dyskowej oraz przyznane limity quota wypisuje dane dla bieżącego użytkownika quota g wypisuje dane dla grup, do których należy bieżący użytkownik Przykład: > quota Disk quotas for user mariusz (uid 751): Filesystem blocks quota limit grace files quota limit grace /dev/sdb /dev/sdf (C) Mariusz Kopeć, WFiTJ AGH,

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Bash - wprowadzenie. Bash - wprowadzenie 1/39 Bash - wprowadzenie Bash - wprowadzenie 1/39 Bash - wprowadzenie 2/39 Czym jest bash? Rysunek : Zadanie powłoki to ukrycie wywołań systemowych Bash - wprowadzenie 3/39 Czym jest bash? Przykład polecenia:

Bardziej szczegółowo

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

Wstęp do informatyki. stęp do informatyki Polecenia (cz.2) Wstęp do informatyki stęp do informatyki Polecenia (cz.2) Lista procesów top Pokaż listę procesów polecenie interaktywne Procesy Uruchamianie w tle. shell nie czeka na zakończenie procesu, można wydawać

Bardziej szczegółowo

Powłoka (shell) Powłoka ksh

Powłoka (shell) Powłoka ksh Powłoka (shell) Powłoka - interface między użytkownikiem a systemem operacyjnym. Funkcje: interpreter poleceń użytkownika język programowania poleceń Najczęściej stosowane powłoki: Bourne a sh Korna ksh

Bardziej szczegółowo

Podstawy użytkowania Linux a

Podstawy użytkowania Linux a Podstawy użytkowania Linux a Systemy Operacyjne Mateusz Hołenko 3 marca 2013 Plan zajęć Rozpoczynanie pracy z systemem Podstawowe polecenia Pomoc systemowa Interpreter poleceń Mateusz Hołenko Podstawy

Bardziej szczegółowo

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019 BASH - LINIA POLECEŃ Bioinformatyka 2018/2019 PODSTAWOWE DEFINICJE Linux system operacyjny, które oferuje kompletne środowisko programistyczne Powłoka interfejs wiersza poleceń zapewniający komunikację

Bardziej szczegółowo

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE Magda Mielczarek Pracownia Informatyczna 2015/2016 1 Podstawowe definicje Linux system operacyjny, które oferuje kompletne środowisko programistyczne

Bardziej szczegółowo

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

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh. Powłoka I Popularne implementacje W stylu sh (powłoki zdefiniowanej w POSIX) bash (najpopularniejsza) zsh ksh mksh W stylu csh csh tcsh 12 października 2018 1 / 16 Powłoka II Zachęta Komunikuje się z użytkownikiem

Bardziej szczegółowo

Znaki globalne w Linuxie

Znaki globalne w Linuxie Znaki globalne w Linuxie * reprezentuje jeden lub wiele znaków (wild-card character)? reprezentuje dokładnie jeden znak (wild-card character) [abcde] reprezentuje dokładnie jeden znak z wymienionych [a-e]

Bardziej szczegółowo

"Klasyczna" struktura systemu operacyjnego:

Klasyczna struktura systemu operacyjnego: "Klasyczna" struktura systemu operacyjnego: Użytkownik Powłoka (shell) Programy użytkowe Programy systemowe API Jądro (kernel) Programy obsługi sprzętu (drivers) Sprzęt Funkcje systemu operacyjnego obsługa

Bardziej szczegółowo

1 Przygotował: mgr inż. Maciej Lasota

1 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 1 1/7 Język C Instrukcja laboratoryjna Temat: Programowanie w powłoce bash (shell scripting) 1 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do programowania w powłoce Skrypt powłoki

Bardziej szczegółowo

Przekierowanie wejścia wyjścia:

Przekierowanie wejścia wyjścia: Przekierowanie wejścia wyjścia: program ma trzy podstawowe strumienie wejścia-wyjścia - standardowe wejście - standardowe wyjście - standardowe wyjście diagnostyczne przekierowanie standardowego wyjścia

Bardziej szczegółowo

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

SYSTEMY OPERACYJNE I laboratorium 3 (Informatyka stacjonarne 2 rok, semestr zimowy) Procesy i shell. Polecenia ps, sleep, exit, jobs, bg, fg, top, kill, bash, tcsh, which, type, whereis, touch. Metaznak & i >>. Dowiązania miękkie i twarde. Proces jest programem, który jest wykonywany

Bardziej szczegółowo

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

Temat zajęć: Filtry, strumienie standardowe oraz przetwarzanie potokowe. stderr Temat zajęć: Filtry, strumienie standardowe oraz przetwarzanie potokowe Czas realizacji zajęć: 180 min. Zakres materiału, jaki zostanie zrealizowany podczas zajęć: Strumienie standardowe i ich przekierowywanie,

Bardziej szczegółowo

Sieci komputerowe. Wstęp do systemu Linux/UNIX, część I. Ewa Burnecka / Janusz Szwabiński. ewa@ift.uni.wroc.pl / szwabin@ift.uni.wroc.

Sieci komputerowe. Wstęp do systemu Linux/UNIX, część I. Ewa Burnecka / Janusz Szwabiński. ewa@ift.uni.wroc.pl / szwabin@ift.uni.wroc. Sieci komputerowe Wstęp do systemu Linux/UNIX, część I Ewa Burnecka / Janusz Szwabiński ewa@ift.uni.wroc.pl / szwabin@ift.uni.wroc.pl Sieci komputerowe (C) 2003 Janusz Szwabiński p.1/35 Plan wykładu Wstęp

Bardziej szczegółowo

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

1. Znajdź za pomocą programu locate wszystkie pliki które zawierają w nazwie słowo netscape locate netscape FIND http://www.cs.put.poznan.pl/akobusinska/downloads/find.pdf 1. Znajdź za pomocą programu locate wszystkie pliki które zawierają w nazwie słowo netscape locate netscape 2. Ogranicz wynik polecenia 1

Bardziej szczegółowo

Pracownia Komputerowa wykład III

Pracownia Komputerowa wykład III Pracownia Komputerowa wykład III dr Magdalena Posiadała-Zezula dr Jan Suffczyński 1 Powłoki - rodzaje! W Linux ie mamy kilka powłok do wyboru:! sh : Bourne Shell, oryginalna powłoka systemu unix! csh :

Bardziej szczegółowo

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

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach: Skrypty powłoki Skrypty są zwykłymi plikami tekstowymi, w których są zapisane polecenia zrozumiałe dla powłoki. Zadaniem powłoki jest przetłumaczenie ich na polecenia systemu. Aby przygotować skrypt, należy:

Bardziej szczegółowo

BASH - WPROWADZENIE Bioinformatyka 4

BASH - WPROWADZENIE Bioinformatyka 4 BASH - WPROWADZENIE Bioinformatyka 4 DLACZEGO BASH? Praca na klastrach obliczeniowych Brak GUI Środowisko programistyczne Szybkie przetwarzanie danych Pisanie własnych skryptów W praktyce przetwarzanie

Bardziej szczegółowo

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

Niektóre katalogi są standardowymi katalogami zarezerwowanymi do użytku przez system. Znaczenie wybranych katalogów systemowych jest następujące: Podstawy systemu Linux Linux jest systemem operacyjnym dla komputerów PC, opracowany na początku lat dziewięćdziesiątych przez Linusa Torvaldsa. Podobnie jak Unix jest on systemem wielozadaniowym - umożliwia

Bardziej szczegółowo

Skrypty startowe. Tryb interaktywny tryb logowania: nie logowanie: Tryb nieinteraktywny

Skrypty startowe. Tryb interaktywny tryb logowania: nie logowanie: Tryb nieinteraktywny Powłoka Bash Skrypty startowe Tryb interaktywny tryb logowania:. /etc/profile if [ -f $HOME/.bash profile ]; then. $HOME/.bash profile elif [ -f $HOME/.bash login. $HOME/.bash login elif [ -f $HOME/.profile

Bardziej szczegółowo

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

Kurs systemu Unix wykład wstępny. Kurs systemu Unix 1 Kurs systemu Unix wykład wstępny Kurs systemu Unix 1 Cele wykladu Zdobycie podstawowej wiedzy o systemie i jego narzędziach. Poznanie unixowych języków skryptowych (bash, awk,...). Nauka programowania

Bardziej szczegółowo

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

JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA JĘZYK SHELL JEST PEŁNYM JĘZYKIEM PROGRAMOWANIA, który zawiera: zmienne, konstrukcje warunkowe i iteracyjne (IF-THEN-ELSE, CASE, DO WHILE, DO UNTIL), konfigurowane środowisko użytkownika. METAZNAKI zestaw

Bardziej szczegółowo

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

Systemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier Systemy operacyjne Instrukcja laboratoryjna Ćwiczenie 1: Polecenia systemu UNIX/LINUX Opracował: dr inż. Piotr Szpryngier Olsztyn 2009 1 Wprowadzenie. Cel zajęć praktycznych. Wymagania stawiane studentom

Bardziej szczegółowo

Powłoka interpreter poleceń systemu UNIX

Powłoka interpreter poleceń systemu UNIX SOE - Systemy Operacyjne Wykład 4 Powłoka interpreter poleceń systemu UNIX dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Powłoka Interpreter poleceń, powłoka (ang. shell)

Bardziej szczegółowo

Systemy operacyjne Programowanie w języku powłoki sh

Systemy operacyjne Programowanie w języku powłoki sh Systemy operacyjne Programowanie w języku powłoki sh [2] Programowanie w języku powłoki sh Powłoka, interpreter poleceń angshell jest programem uruchamianym standardowo po otwarciu sesji użytkownika przez

Bardziej szczegółowo

Wstęp do informatyki Shell podstawy

Wstęp do informatyki Shell podstawy Wstęp do informatyki Shell podstawy Podstawowe polecenia less plik(i) Przeglądaj interaktywnie zawartość plików. Można używać klawiszy kursora, PgDn, PgUp, etc. Koniec pracy (q), wyszukiwanie / Less is

Bardziej szczegółowo

Linux: System Plików

Linux: System Plików Linux: System Plików Systemy Operacyjne Mateusz Hołenko 3 marca 2013 Plan zajęć Wszystko jest plikiem Obsługa systemu plików Prawa dostępu Wyszukiwanie Mateusz Hołenko Linux: System Plików [2/24] Wszystko

Bardziej szczegółowo

Pracownia Komputerowa wykład III

Pracownia Komputerowa wykład III Pracownia Komputerowa wykład III dr Magdalena Posiadała-Zezula http://www.fuw.edu.pl/~mposiada/pk16 1 Powłoki - rodzaje! W Linux ie mamy kilka powłok do wyboru:! sh : Bourne Shell, oryginalna powłoka systemu

Bardziej szczegółowo

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux Administracja sieciowymi systemami operacyjnymi III Klasa - Linux SKRYPTY POWŁOKI mgr inż. Tomasz Borowiec SKRYPTY POWŁOKI - PODSTAWY W Linuksie skrypt jest plikiem tekstowym zawierającym polecenia systemowe

Bardziej szczegółowo

Powłoka bash. Kurs systemu Unix 1

Powłoka bash. Kurs systemu Unix 1 Powłoka bash Kurs systemu Unix 1 Skrypty powłoki Skrypt powłoki to plik tekstowy, rozpoczynający się sekwencją: #!/usr/local/bin/bash # taki sobie skrypt lub podobną. Polecenie: sekwencja napisów, odzielonych

Bardziej szczegółowo

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

Systemy operacyjne / Programowanie w języku powłoki sh str.1/19 Systemy Operacyjne Programowanie w języku powłoki sh dr inż. Tomasz Jordan Kruk T.Kruk@ia.pw.edu.pl Instytut Automatyki i Informatyki Stosowanej Politechnika Warszawska Systemy operacyjne / Programowanie

Bardziej szczegółowo

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

Architektura systemów informatycznych. Powłoka systemowa Architektura procesora Architektura systemów informatycznych Powłoka systemowa Architektura procesora Powłoki systemowe Powłoka tekstowa Powłoka, nazywana inaczej shellem, odpowiada za wykonywanie poleceń wpisywanych przez użytkownika

Bardziej szczegółowo

Technologie Informacyjne - Linux 2

Technologie Informacyjne - Linux 2 Technologie Informacyjne - 2 Instytut Matematyki Uniwersytet Gdański Powłoka - polecenia pośredniczace Polecenie grep wypisuje z pliku lub strumienia wejściowego te wiersze, które sa zgodne z podanym wyrażeniem.

Bardziej szczegółowo

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

W pierwszej kolumnie wyświetlany jest identyfikator procesu (pid) Ćwiczenie 2 Cel ćwiczenia: Poznanie mechanizmów wejścia/wyjścia, zapoznanie się ze sposobami wyświetlania plików tekstowych i wyszukiwania informacji, podstawowe operacje na plikach tekstowych, zmienne

Bardziej szczegółowo

Pracownia Komputerowa wykład II

Pracownia Komputerowa wykład II Pracownia Komputerowa wykład II dr Magdalena Posiadała-Zezula http://www.fuw.edu.pl/~mposiada 1 Systemy operacyjne! Windows np. Windows 8.! Systemy unixowe:! Linux i Mac OS X 2 Logowanie na konta studenckie!

Bardziej szczegółowo

Wprowadzenie do programowania w powłoce

Wprowadzenie do programowania w powłoce Wprowadzenie do programowania w powłoce mgr inż. Maciej Lasota m.lasota@tu.kielce.pl Katedra Informatyki, Politechnika Świętokrzyska w Kielcach 22 lutego 2012 Powłoka systemowa Powłoka systemowa Podstawowym

Bardziej szczegółowo

PRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE

PRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE PRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE M.Mielczarek Pracownia Informatyczna 2017/2018 1 PRACOWNIA INFORMATYCZNA PROWADZĄCY: Dr Magda Mielczarek (biolog) Katedra

Bardziej szczegółowo

Pracownia komputerowa. Dariusz wardecki, wyk II

Pracownia komputerowa. Dariusz wardecki, wyk II Pracownia komputerowa Dariusz wardecki, wyk II Systemy operacyjne Desktopowe Mobilne Systemy operacyjne Systemy Unixowe Windows! Windows 8 Windows 7 Windows Vista Windows XP... Linux Mac OS X Mountain

Bardziej szczegółowo

Konsola Linux. autor: Mariusz Barnaś

Konsola Linux. autor: Mariusz Barnaś Konsola Linux autor: Mariusz Barnaś Wstęp Pierwsze uruchomienie Operacje na plikach Poruszanie się po katalogach Tworzenie plików i katalogów Wypisanie zawartości katalogu Dowiązania między plikami Łączenie

Bardziej szczegółowo

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

Podstawy używania konsoli tekstowej w systemie Linux. Andrzej Zbrzezny Podstawy używania konsoli tekstowej w systemie Linux Andrzej Zbrzezny 25 października 2012 Rozdział 1 Podstawy konsoli 1.1 Podstawy użytkowania Linuksa w konsoli tekstowej 1. Włączanie i wyłączanie systemu

Bardziej szczegółowo

Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX

Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX Materiały: www.staff.amu.edu.pl/~evert/asi.php W razie nieobecności proszę o zapoznanie się z materiałem z ćwiczeń w domu Zaliczenie

Bardziej szczegółowo

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix Wydział Mechatroniki i Budowy Maszyn Specjalność: Automatyka i Robotyka Rok II Semestr IV 1. Logowanie w systemie Unix. System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix Do zalogowania

Bardziej szczegółowo

Wstęp do Informatyki dla bioinformatyków

Wstęp do Informatyki dla bioinformatyków Wstęp do Informatyki dla bioinformatyków Wykład 12 - Programowanie w BASHu Trochę bardziej zaawansowane Bartek Wilczyński 25.1.2016 Organizacyjne Bardzo proszę o wypełnienie ankiet w USOS Szczególnie zależy

Bardziej szczegółowo

Jądro Powłoka System plików Programy użytkowe

Jądro Powłoka System plików Programy użytkowe LINUX Jądro Powłoka System plików Programy użytkowe / tmp etc dev bin usr home proc bin lib ułatwienia pliki ukryte pol1;pol2 pol1 \ arg1 \ arg2 ~/.. $HOME.nazwa ls -a metaznaki *? [.] maskowanie

Bardziej szczegółowo

Podstawy Informatyki. Wykład 3 UNIX

Podstawy Informatyki. Wykład 3 UNIX Podstawy Informatyki Wykład 3 UNIX Twórcy Dennis Ritchie Ken Thompson Linus Torvalds Historia systemu UNIX 1966 - rozpoczęcie prac na Multicsem, zespół naukowców z Bell Labs, MIT i General Electric, wśród

Bardziej szczegółowo

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

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix Wydział Zarządzania i Modelowania Komputerowego Specjalność: Informatyka Stosowana Rok III Semestr V 1. Logowanie w systemie Unix. Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu

Bardziej szczegółowo

Pracownia Komputerowa wyk ad II

Pracownia Komputerowa wyk ad II Pracownia Komputerowa wykad II dr Magdalena Posiadaa-Zezula Magdalena.Posiadala@fuw.edu.pl http://www.fuw.edu.pl/~mposiada Magdalena.Posiadala@fuw.edu.pl 1 Systemy operacyjne Windows np. Windows 8. Systemy

Bardziej szczegółowo

System operacyjny Linux

System operacyjny Linux Paweł Rajba pawel.rajba@continet.pl http://kursy24.eu/ Zawartość modułu 6 Język bash Pierwszy skrypt Rozwinięcia parametryczne Bloki instrukcji Dwa przydatne polecenia Tablice Sprawdzanie warunków Instrukcje

Bardziej szczegółowo

pico mojskrypt bash mojskrypt chmod +x mojskrypt./mojskrypt

pico mojskrypt bash mojskrypt chmod +x mojskrypt./mojskrypt Skrypty powłoki Często wykonujemy powtarzający się zestaw poleceń Wygodniej jest zapisać je w pliku i poddać interpretacji przez powłokę systemu, niż wpisywać je za każdym razem z klawiatury Pliki tekstowe,

Bardziej szczegółowo

Przetwarzanie tekstu 2. Operacje na plikach tekstowych w systemie Linux

Przetwarzanie tekstu 2. Operacje na plikach tekstowych w systemie Linux Przetwarzanie tekstu 2 Operacje na plikach tekstowych w systemie Linux filtry programy przetwarzajace pliki (w szczególności tekstowe) w taki sposób, że odczytuja dane (plik wejściowy) ze standardowego

Bardziej szczegółowo

Podstawy informatyki

Podstawy informatyki Podstawy informatyki WYKŁAD nr 02 Fizyka Techniczna, WFT PP Michał Hermanowicz Zakład Fizyki Obliczeniowej, Instytut Fizyki, Politechnika Poznańska Rok akademicki 2018/2019 M. Hermanowicz (IF PP) Podstawy

Bardziej szczegółowo

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2009/2010

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2009/2010 Tryb studiów Studia stacjonarne Kierunek studiów Informatyka Poziom studiów Pierwszego stopnia Rok studiów/semestr 2(rok)/(sem) Specjalność Bez specjalności Kod katedry/zakładu w systemie USOS 10000000

Bardziej szczegółowo

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

Operatory zmiany sposobu przypisania standardowych strumieni >,<,>> Jeżeli pierwsze polecenie powiodło się to wykona drugie Linux Polecenia Opracował: Andrzej Nowak Operatory zmiany sposobu przypisania standardowych strumieni >,> Przykłady: 2> plik przypisuje standardowe wyjście błędów do pliku, 1>&2 przypisanie standardowe

Bardziej szczegółowo

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I Uwaga: Test odnosi się do systemu operacyjnego Linux! 1) Linux jest systemem wielodostępnym, co oznacza, że: a) pozwala na logowanie się do systemu

Bardziej szczegółowo

Zakład Systemów Rozproszonych

Zakład Systemów Rozproszonych Zakład Systemów Rozproszonych Politechnika Rzeszowska Moduł 1: Wprowadzenie do systemu UNIX Interpretator poleceń Interpreter poleceń użytkownika, czyli inaczej powłoka. Powłoka pośredniczy pomiędzy użytkownikiem

Bardziej szczegółowo

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

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 Ćwiczenie 6 Skrypty powłoki - programowanie w powłoce bash 1. Cel ćwiczenia Celem ćwiczenia jest poznanie możliwości powłoki bash od strony programistycznej. System UNIX (Linux) pozwala tworzyć skrypty,

Bardziej szczegółowo

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

Filtry, metaznaki, cytowania. Proste skrypty. Polecenia find, tee, mail. Filtry, metaznaki, cytowania. Proste skrypty. Polecenia find, tee, mail. Utwórz katalog lab_3 i przejdź do niego. Polecenie find Polecenie to jest niezwykle pożyteczne dla odszukiwania poszczególnych grup

Bardziej szczegółowo

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

Skrypty BASH a. Systemy Operacyjne 2. Mateusz Hołenko. 4 października 2012 Skrypty BASH a Systemy Operacyjne 2 Mateusz Hołenko 4 października 2012 Plan zajęć O skryptach słów kilka... Powłoka, wiersz poleceń Obsługa powłoki bash Składnia języka skryptowego bash a Zadania Mateusz

Bardziej szczegółowo

Podstawy Linuksa. Wiesław Płaczek Postawy Linuksa 1

Podstawy Linuksa. Wiesław Płaczek Postawy Linuksa 1 Podstawy Linuksa System operacyjny Linux. Powłoka Linuksa. System plików Linuksa. Podstawowe operacje na plikach i katalogach. Podstawowe operacje na procesach. Kompresja i archiwizacja. Zdalne logowanie

Bardziej szczegółowo

Wstęp do obsługi Linux a

Wstęp do obsługi Linux a Wstęp do obsługi Linux a Katarzyna Grzelak luty 2013 K.Grzelak (IFD UW) 1 / 27 Systemy operacyjne Programy służace do zarzadzania wykonywaniem innych programów: systemy operacyjne (ang. operating system)

Bardziej szczegółowo

Wstęp do systemów wielozadaniowych laboratorium 02 Praca w systemie plików

Wstęp do systemów wielozadaniowych laboratorium 02 Praca w systemie plików Wstęp do systemów wielozadaniowych laboratorium 02 Praca w systemie plików Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-10-08 Co to jest konsola / terminal UNIX-owy?

Bardziej szczegółowo

Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1)

Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1) Proces instalacji systemu operacyjnego Linux Red Hat 7.3 (1) 1. Ustawiamy w biosie bootowanie systemu z CD-ROMu bądź z dyskietki (tworzymy wówczas dyskietki startowe). 2. Aby rozpocząć proces instalacji

Bardziej szczegółowo

POPULARNE POLECENIA SKRYPTY. Pracownia Informatyczna 2

POPULARNE POLECENIA SKRYPTY. Pracownia Informatyczna 2 SKRYPTY Pracownia Informatyczna 2 PRACOWNIA INFORMATYCZNA 2017/2018 MAGDA MIELCZAREK PRACOWNIA INFORMATYCZNA 2017/2018 MAGDA MIELCZAREK 2 cal wyświetlenie kalendarza Składnia: cal 2017, cal Polecenie cal

Bardziej szczegółowo

Systemy Operacyjne I: Procesy

Systemy Operacyjne I: Procesy Politechnika Poznańska 4 kwietnia 2013 Materiały Prezentacja oraz inne materiały zostały przygotowane na podstawie: Użytkowanie systemu operacyjnego UNIX - dr D.Wawrzyniak Systemy operacyjne - skrypt -

Bardziej szczegółowo

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

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak Systemy operacyjne System operacyjny Linux - wstęp Anna Wojak 1 1 Wstęp Linux jest systemem z rodziny Unix. Pierwsza wersja systemu została opracowana w 1969 roku przez K.Thompsona i D.Ritchie Jest to

Bardziej szczegółowo

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

Uruchamianie programów w systemie Linux, potoki, strumienie, procesy, alias 7 październik 2008 Uruchomienie, monitorowanie procesu, potoki, aliasy S laj d 1 Uruchamianie programów w systemie Linux, potoki, strumienie, procesy, alias 7 październik 2008 Uruchomienie, monitorowanie

Bardziej szczegółowo

Programowanie 1. Wprowadzenie do bash-a. Elwira Wachowicz. elwira@ifd.uni.wroc.pl. 06 lutego 2012

Programowanie 1. Wprowadzenie do bash-a. Elwira Wachowicz. elwira@ifd.uni.wroc.pl. 06 lutego 2012 Programowanie 1 Wprowadzenie do bash-a Elwira Wachowicz elwira@ifd.uni.wroc.pl 06 lutego 2012 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Programowanie 1 06 lutego 2012 1 / 19 Cel zajęć: Zapoznanie sie z

Bardziej szczegółowo

Programowanie skryptów powłoki

Programowanie skryptów powłoki 1 Programowanie skryptów powłoki 1. Wprowadzenie Skrypty są to programy pisane w języku programowania powłoki (np. bash) mogące wykonać zadania nie stępne dla zwykłych poleceń są zapisywane w pliku tekstowym.

Bardziej szczegółowo

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

Temat zajęć: Tworzenie skryptów powłoki systemu operacyjnego. Temat zajęć: Tworzenie skryptów powłoki systemu operacyjnego. Czas realizacji zajęć: 135 min. Zakres materiału, jaki zostanie zrealizowany podczas zajęć: Zmienne śrowiskowe oraz ich eksportowanie, argumenty

Bardziej szczegółowo

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

Systemy operacyjne. Programowanie w shellu: BASH. Wydział Inżynierii Metali i Informatyki Przemysłowej Systemy operacyjne Programowanie w shellu: BASH dr inż. Andrzej Opaliński pawilon B5/p.406 tel. (+48)12 617 46 37 e-mail: andrzej.opalinski@agh.edu.pl Wydział Inżynierii Metali i Informatyki Przemysłowej

Bardziej szczegółowo

Technologie Informatyczne Wykład XI linux

Technologie Informatyczne Wykład XI linux Technologie Informatyczne Wykład XI A. Matuszak 13 grudnia 2007 A. Matuszak Technologie Informatyczne Wykład XI A. Matuszak (2) Technologie Informatyczne Wykład XI UNIX Twórcy: rozwój jądra rozwój programów

Bardziej szczegółowo

Wyrażenia regularne. Wyrażenia regularne 1/41

Wyrażenia regularne. Wyrażenia regularne 1/41 Wyrażenia regularne Wyrażenia regularne 1/41 Wyrażenia regularne 2/41 Po co wyrażenia regularne? Polecenie: $ grep est tekst.txt Zawartość tekst.txt To jest plik tekstowy. Testujemy narzędzie grep. Trzecia

Bardziej szczegółowo

Powłoka, redyrekcja, potok

Powłoka, redyrekcja, potok 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,

Bardziej szczegółowo

Strona1. Linux. Skrypty powłoki

Strona1. Linux. Skrypty powłoki Strona1 Linux Skrypty powłoki Strona2 Spis treści. Spis treści.... 2 Wprowadzenie.... 3 Polecenie echo, znaki cytowania oraz komentarze.... 3 Operatory arytmetyczne.... 4 Deniowanie zmiennych w skryptach

Bardziej szczegółowo

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

Linux Polecenia. Problem nadpisywania plików. Zmienna noclobber i noglob. Filtry i metaznaki. Problem nadpisywania plików. Opracował: Andrzej Nowak Linux Polecenia Opracował: Andrzej Nowak Problem nadpisywania plików. Zmienna noclobber i noglob. Filtry i metaznaki. Utwórz katalog lab_5 i przejdź do niego. $ mkdir lab_5 ; cd lab_5 Problem nadpisywania

Bardziej szczegółowo

Linux cz.3: polecenia systemowe, ćwiczenia

Linux cz.3: polecenia systemowe, ćwiczenia Linux cz.3: polecenia systemowe, ćwiczenia Wykład: polecenia terminala, manualia systemowe, uprawnienia, kompresja, archiwizacja, ukrywanie plików, sudo su, ps, kill, chmod, chown, tar, gzip, whoami, ls,

Bardziej szczegółowo

Tworzenie skryptu: Skrypty powłoki

Tworzenie skryptu: Skrypty powłoki Skrypty powłoki Często wykonujemy powtarzający się zestaw poleceń Wygodniej jest zapisać je w pliku i poddać interpretacji przez powłokę systemu, niż wpisywać je za każdym razem z klawiatury Pliki tekstowe,

Bardziej szczegółowo

Przypomnienie komend linux'a.

Przypomnienie komend linux'a. Przypomnienie komend linux'a. Krzysztof Dynowski Komendy podstawowe date pokazuje datę i czas systemowy history pokazuje historię komend z linii poleceń pwd (print working directory) pokazuje pełną ścieŝkę

Bardziej szczegółowo

Przedstawię teraz tzw. podstawowe symbole wyrażenia regularne (BRE, Basic Regular Expression)

Przedstawię teraz tzw. podstawowe symbole wyrażenia regularne (BRE, Basic Regular Expression) Sed edytor strumieniowy,sed wczytuje bieżący wiersz pliku do wewnętrznego bufora celem manipulowania tekstem. Wynik jest wysyłany na standardowe wyjście. Oryginalny plik nie jest nigdy zmieniany. Jeżeli

Bardziej szczegółowo

Pracownia Informatyczna I ORGANIZACJA ZAJĘĆ, ZASADY ZALICZENIA

Pracownia Informatyczna I ORGANIZACJA ZAJĘĆ, ZASADY ZALICZENIA Pracownia Informatyczna I ORGANIZACJA ZAJĘĆ, ZASADY ZALICZENIA 1 Organizacja zajęć ½ semestru mgr Magda Mielczarek Katedra Genetyki, pokój nr 14 e-mail: magda.mielczarek@up.wroc.pl tel: 71-320-57-51 Slajdy

Bardziej szczegółowo

System plików. Podstawy systemu Linux

System plików. Podstawy systemu Linux Podstawy systemu Linux Linux jest systemem operacyjnym dla komputerów PC, opracowany na początku lat dziewięćdziesiątych przez Linusa Torvaldsa. Podobnie jak Unix jest on systemem wielozadaniowym - umoŝliwia

Bardziej szczegółowo

Środowisko programisty Zestaw 7

Środowisko programisty Zestaw 7 Bash, zmienne i instrukcje warunkowe Zmienne możemy traktować jak etykiety, które przechowują ciągi znaków. Definiujemy je przy pomocy znaku = bez spacji po obu jego stronach: dog="azor" Do zmiennych w

Bardziej szczegółowo

Wstęp do obsługi Linux a

Wstęp do obsługi Linux a Wstęp do obsługi Linux a Katarzyna Grzelak październik 2017 K.Grzelak (IFD UW) 1 / 25 Systemy operacyjne Programy służace do zarzadzania wykonywaniem innych programów: systemy operacyjne (ang. operating

Bardziej szczegółowo

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

Systemy Operacyjne. Część II Zarządzanie/Administracja Systemem. 5: Skrypty. autor: mgr inż. Andrzej Woźniak Systemy Operacyjne Część II Zarządzanie/Administracja Systemem 5: Skrypty autor: mgr inż. Andrzej Woźniak Czym jest skrypt? plik tekstowy zawierające polecenia interpretera poleceń polecenia są wykonywane

Bardziej szczegółowo

Ćwiczenia Linux konsola

Ćwiczenia Linux konsola Ćwiczenia Linux konsola Ćwiczenie wstępne: Wyczyść terminal za pomocą polecenia clear. Ćwiczenie 1. Wyświetlanie pomocy 1. Wyświetl pomoc za pomocą poleceń man man oraz info (wyjście z pomocy: klawisz

Bardziej szczegółowo

Księgarnia PWN: Emmett Dulaney - Novell Certified Linux Professional (NCLP)

Księgarnia PWN: Emmett Dulaney - Novell Certified Linux Professional (NCLP) Księgarnia PWN: Emmett Dulaney - Novell Certified Linux Professional (NCLP) O autorze 9 Dedykacja 9 Podziękowania 9 Kontakt z Czytelnikami 10 Rozdział 1. Proces zdobywania certyfikatów NCLP i planowanie

Bardziej szczegółowo

pozwalają na umieszczenie wielu komend w jednym pliku (z atrybutem wykonywania) - udostępnia środowisko do konfigurowania systemu i programowania

pozwalają na umieszczenie wielu komend w jednym pliku (z atrybutem wykonywania) - udostępnia środowisko do konfigurowania systemu i programowania BASH Shell (powłoka) interpreter poleceń; interfejs pomiędzy użytkownikiem, a jądrem systemu - zapewnia użytkownikowi pewien poziom abstrakcji w odniesieniu do jądra - akceptuje polecenia; przetwarzane

Bardziej szczegółowo

Współczesne systemy komputerowe

Współczesne systemy komputerowe 1. Powłoki, konfiguracja. Do komunikacji użytkownika z jądrem systemu operacyjnego służy powłoka systemu (shell), w linuksie jest dostępnych kilka powłok; o The C shell (/bin/csh, często link do /bin/tcsh);

Bardziej szczegółowo

System operacyjny Linux wybrane zagadnienia. Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

System operacyjny Linux wybrane zagadnienia. Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu System operacyjny Linux wybrane zagadnienia Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu Linux Open Source Stale rozwijany Darmowy (wersje niekomercyjne) Bezpieczny Stabilny

Bardziej szczegółowo

Skrypty shella programowanie w języku powłoki.

Skrypty shella programowanie w języku powłoki. Skrypty shella programowanie w języku powłoki. Zacznijmy od przypomnienia. Shell, czyli powłoka, to program przeznaczony do prowadzenia interakcji z użytkownikiem. Innymi słowy jest to narzędzie, dzięki

Bardziej szczegółowo

Linux. Wprowadzenie do systemu.

Linux. Wprowadzenie do systemu. Linux. Wprowadzenie do systemu. Koło Naukowe Systemów Open Source Wyższa Szkoła Biznesu - National-Louis University Marcin Pawełkiewicz mpawelkiewicz@wsb-nlu.edu.pl Nowy Sącz, 5 grudnia 2006 Wprowadzenie.

Bardziej szczegółowo

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

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 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 wykonane w powłoce jest nazywane zdarzeniem. Historia jest

Bardziej szczegółowo

Komendy Ubuntu MARCEL GAŃCZARCZYK 2T I 1

Komendy Ubuntu MARCEL GAŃCZARCZYK 2T I 1 Komendy Ubuntu MARCEL GAŃCZARCZYK 2T I 1 Do wykonania prezentacji został użyty: Ubuntu 17.10.1 w wersji x64 zainstalowany na pendrivie. AddUser Wymagane uprawnienia: TAK Jest to polecenie służące do tworzenia

Bardziej szczegółowo

Struktura katalogów. Prawa dostępu

Struktura katalogów. Prawa dostępu Struktura katalogów /bin podstawowe programy takie jak bash czy cat /boot jądro systemu oraz pliki niezbędne do poprawnego uruchomienia systemu /etc pliki konfiguracyjne (np. /etc/passwd, /etc/group) /root

Bardziej szczegółowo

Chemiateoretyczna. Monika Musiał. Ćwiczenia

Chemiateoretyczna. Monika Musiał. Ćwiczenia Chemiateoretyczna Monika Musiał Ćwiczenia SYSTEM LINUX- podstawowe komendy Operacje na katalogach i plikach pwd wypisanie ścieżki do bieża cego katalogu. oznacza katalog bieża cy.. oznacza katalog nadrzȩdny

Bardziej szczegółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE Klasyczne polecenia: ls [opcje][katalog][pliki] opcje podstawowe -a wyświetla również pliki ukryte -b znaki niedrukowane jako liczby ósemkowe -c sortuje dane zgodnie z datą zmiany -k podaje wielkość pliku

Bardziej szczegółowo

Podstawy systemów UNIX

Podstawy systemów UNIX Podstawy systemów UNIX Autor: Maciej Friedel Zajęcia prowadzone dla Polskiej Szkoły IT Wrocław, 2008 Struktura systemu UNIX POWŁOKA (SHELL) JĄDRO SPRZĘT Pracę całego systemu koordynuje

Bardziej szczegółowo

System Linux - użytkowanie

System Linux - użytkowanie System Linux - użytkowanie 1 Podstawowe operacje ls Listuje zawartość bieżącego katalogu ls -al more Listuje zawartość bieżącego katalogu, wszystkie pliki cd katalog Zmiana katalogu./nazwa_programu Uruchom

Bardziej szczegółowo

Skrypty powłoki w systemie Linux

Skrypty powłoki w systemie Linux Skrypty powłoki w systemie Linux Wykonywanie codziennych czynności w systemie operacyjnym jest męczące, gdy za każdym razem trzeba wpisywać te same zestawy komend. Znacznie wygodniej byłoby zapisać je

Bardziej szczegółowo

Systemy operacyjne Skrypt do ćwiczeń laboratoryjnych

Systemy operacyjne Skrypt do ćwiczeń laboratoryjnych Systemy operacyjne Skrypt do ćwiczeń laboratoryjnych Cezary Sobaniec $Id: sop1-zadania.lyx,v 1.19 2006/09/26 13:37:25 sobaniec Exp $ Politechnika Poznańska Instytut Informatyki Spis treści 1 Wprowadzenie

Bardziej szczegółowo