You are on page 1of 68

Autor : Piotr Pitak GR PiS ds.

informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 1

Linux Podstawy uywania systemu

Spis Treci

Strona

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 2

Rozdzia 1 : Wprowadzenie Rozdzia 2 : Sesja 2.1 Zalogowanie 2.2 Pierwsze polecenia 2.3 Uycie klawiatury 2.4 wiczenia Rozdzia 3 : Pliki i Katalogi 3.1 Polecenia zarzdzania plikami 3.2 Polecenia zarzdzajce katalogami 3.3 wiczenia Rozdzia 4 : Bash 4.1 Znaki uoglniajce 4.2 Protekcja znakw uoglniajcych 4.3 Zgrupowanie polece 4.4 Przkierowania 4.5 Potoki 4.6 wiczenia Rozdzia 5 : Prawa 5.1 Zarzdzanie prawami 5.2 Prawa pliku 5.3 Modyfikacja praw pliku (1) 5.4 Modyfikacja praw pliku (2) 5.5 Prawa katalogw 5.6 Zarzdzanie grupami 5.7 wiczenia Rozdzia 6 : Filtry do czego su ? 6.1 wiczenia

Rozdzia 7 : Zarzdzanie procesami 7.1 Skrypty pierwsze kroki w programowaniu 7.1.1 Przekazywanie parametrw do skryptu 7.1.2 Struktury kontrolne powoki Bash 7.2 background/ foreground

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 3

(operacja w tle/operacja pierwszoplanowa) 7.3 Polecenia 7.3.1 polecenie - ps 7.3.2 polecenie - kill 7.3.3 polecenie - jobs 7.4 Zarzdzanie pracami 7.5 wiczenia Rozdzia 8 : 8.1 8.2 8.3 Wyraenia regularne Polecenie find Polecenie grep z wyraeniami regularnymi edytor sed

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 4

Rozdzia 1 :

Wprowadzenie

We Francji, Meksyku, Anglii, Peru nauczyciele, uczniowie i ich rodzice, wsplnie zastanawiaj si i prbuj rozwiza jeden z podstawowych dylematw spoeczestwa informacyjnego: jak uczy informatyki wiedzc, e narzdzia informatyczne aktualnie uywane mog biorc pod uwag byskawiczne tempo zmian technologicznych by bezuyteczne po skoczeniu szkoy przez dzisiejszych licealistw? Czy w takim razie uczy raczej obsugiwania oprogramowa, czy zrozumienia jak one dziaaj? Czy w procesie nauczania korzysta z narzdzi informatycznych firmy Microsoft ktre dostarczane s uytkownikowi w formie uniemoliwiajcej ich przeczytanie i zrozumienie? Pyta jest wiele i co warto podkreli- niektre pastwa udzieliy na nie ju odpowiedzi. W 1997 r. rzd meksykaski wprowadza radykaln reform systemu nauczania informatyki instalujc w 140 000 szk system operacyjny Linux, ktry w przeciwiestwie do narzdzi firmy Microsoft umoliwia czytanie i zrozumienie oprogramowa z ktrych jest zbudowany. Finlandia, ktrej radykalna reforma ekonomiczna sprzed kilku lat, polegaa gownie na cakowitym zreorganizowaniu systemu edukacji w szczeglnoci systemu nauczania informatyki. Efekty s znane. Boom gospodarczy. Francja w ktrej liczne asocjacje skupiajce rodzicw licealistw i wybitnych informatykw wymusiy na wszechpotnym Ministerstwie Edukacji Narodowej wprowadzenie do szk nauki Linuxa. A Polska? Dwa kroki do tyu W 2002 PWN wyda podrcznik do przedmiotu technologia informacyjna przeznaczony dla uczniw licew oglnoksztaccych. Podrcznik Technologia Informacyjna jest znakomity, obiema rkoma podpisuje si pod stwierdzeniami reklamujcymi ksik: prosty, przystpny jzyk, itd tylko jego tytu powinien brzmie Technologia Informacyjna Windowsa. Przyznaj to zreszt sami autorzy piszc na str 11 W podrczniku, omawiajc konkretne bloki tematyczne, wykorzystano gwnie platform systemow Windows. Znajduje si w nim take krtki 10-stronicowy rozdzia powicony Linuxowi, na ktrego poznanie autorzy proponuj powici 3 godziny dodajc:poznanie systemu Linux jest bez wtpienia poyteczne, jednak nie ma kluczowego znaczenia dla osignicia celw zawartych w podstawie programowej przedmiotu technologia informacyjna. Dlaczego? Dlatego, e system Linux umoliwia zrozumienie dziaania narzdzi informatycznych, natomiast celem przedmiotu technologia informacyjna jest nauka ich obsugiwania. Czy jest jednak moliwe w informatyce automatyczne oddzielenie wiedzy od umiejtnoci ? Podam dwie definicje Internetu: pierwsza jest umieszczona w podrczniku na str 79 : cytuje Wane, eby rozumia, e istot Internetu stanowi infrastruktura sieciowa, /../ oraz zbir zasad normujcych jego dziaanie i porwnajmy j z okreleniem Internetu jakie znajdujemy w ksice S.Lema pt. Tajemnica chiskiego pokoju : Dopiero niedawno dowiedziaem si, e zacztek Internetu jako sieci komputerowej bez orodkowej, czyli takim sposobem rozgazionej, e nie posiada ona adnego centrum wymylili fachowcy Pentagonu... Wybitny pisarz w krtkim zdaniu, przedstawi podstawow zasad funkcjonowania cyberprzestrzeni. Natomiast z definicji umieszczonej w podrczniku informatyki nie dowiadujemy si w nic, bo c to znaczy, e istot Internetu stanowi infrastruktura sieciowa, okrelenie to, przypomina sawne marksistowskie istota czowieka to caoksztat stosunkw spoecznych i dziwi si naley, e autorzy konstruuj definicje uywajc poj

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 5

i metod z epoki zdawaoby si dawno minionej i zapomnianej. Przytoczone przykady a tak naprawd caa metodologia, na ktrej oparty jest podrcznik - stawiaj na ostrzu noa podstawowy problem zwizany z nauczaniem informatyki : czy moliwe jest skuteczne obsugiwanie narzdzi informatycznych bez jednoczesnego zrozumienia mechanizmw ich dziaania? Czy w XXI wieku dychotomiczne rozdzielenie wiedzy i umiejtnoci nie jest sprzeczne z zasadami regulujcymi du cz rynku pracy? Na czym rzeczywicie polega praca w spoeczestwie informacyjnym? Podstawowe prawa elektronicznej ekonomi Przeywamy prawdziw eksplozje informacji. Wedug ankiety przeprowadzonej przez uniwersytet Berkley w 2001 roku, poprzez Internet moemy dotrze do 550 miliardw dokumentw. Stronic internetowych przybywa codziennie 7.3 mln. Produkcja dobowa e-mail jest 500 razy wiksza od produkcji stronic. Przedsibiorstwa maj dostp do rnych praktycznie niepoliczalnych danych do ktrych szybki dostp jest warunkiem niezbdnym ich funkcjonowania i przetrwania w stale zmieniajcym si otoczeniu ekonomicznym. Elektroniczna ekonomia polega na umiejtnym wyszukiwaniu danych potrzebnych przedsibiorstwu i na ich jak najszybszym przetworzeniu, organizowaniu i uporzdkowaniu. Jaki typ pracownika jest do tego typu zaj potrzebny? Przede wszystkim musi on by wyksztacony i co istotniejsze musi by zdolny do podejmowania samodzielnych inicjatyw i decyzji. Istnienie maych i duych przedsibiorstw zaley o wiele bardziej ni w przeszoci od stopnia autonomii ich personelu. Znikaj hierarchiczne struktury, upowszechnia si coraz bardziej horyzontalny typ relacji organizacyjnych, w ktrych zakres odpowiedzialnoci kadego pracownika wzrasta niepomiernie w porwnaniu z zasadami pracy obowizujcymi w przedsibiorstwie XX wieku. W tych warunkach warto pracownika nie jest wyznaczona tylko przez studia wysze, lecz take przez typ otrzymanej w szkole edukacji. W elektronicznej ekonomi pracownik musi umie przystosowa si do cigle zmieniajcego si kontekstu ekonomicznego i technologicznego, co wymaga staego podnoszenia kwalifikacji. Warunkiem skutecznej pracy jest szybko z jak analizuje si i absorbuje zmian, poniewa zmiana jest cech charakterystyczn naszej cywilizacji. Paradoksalnie, doskonaa znajomo i cige uywanie tylko jednego systemu operacyjnego utrudnia a czasami wrcz uniemoliwia nauk innych opartych na odmiennych zasadach oprogramowa. Ekonomici nazywaj to zjawisko blokad innowacyjn. Dlatego pluralizm metodologiczny w nauczaniu informatyki jest konieczny wanie z punktu widzenia praw rzdzcych ekonomi elektroniczn. Szkoa powinna uczy uczenia si. Ciga nauka to jest aksjomat XXI wieku - staa si czci naszego ycia zawodowego i codziennego. W opinii ekonomistw, to system edukacyjny decyduje o miejscu zapnionych cywilizacyjnie spoeczestw takich jak Polska w wiatowym podziale pracy. Czy jest jednak moliwe biorc pod uwag ilo godzin przeznaczon na nauk informatyki w szkole zaznajomienie uczniw z dwoma systemami operacyjnymi, co oprcz ewidentnie korzystnej dla pedagogiki wykadu rnorodnoci metodologicznej, umoliwioby rwnie praktyczne zrozumienie przez modzie zasady konkurencji na ktrej oparta jest wspczesna ekonomia? Byby to niewtpliwie eksperyment, ale nauczanie informatyki jest cigym eksperymentem. Konkurencja informatyczna gdy uywajc rnych systemw uczniowie porwnuj je i oceniaj w szkole jest wana take z innego powodu: gwarantowaaby niezaleno programw szkolnych od strategi marketingowej przedsibiorstw produkujcych oprogramowania oparte na prawie wasnoci. Powszechnie wiadomo, e przedsibiorstwa te traktuj systemy edukacyjne jako doskonae narzdzia do zaznajamiania i co gorsza do przyzwyczajania uczniw do uywania w przyszoci swoich produktw. Jeeli uwaamy, e celem nauki informatyki w szkole nie jest wychowywanie konsumentw uywajcych automatycznie czyli bezmylnie oprogramowa potnych firm takich jak Microsoft, lecz ksztacenie podstaw metodologicznych informatyki i nabywania umiejtnoci obsugiwania narzdzi informatycznych zbudowanych wedug rnorodnych zasad, to wniosek wydaje si by oczywisty.

Opodatkowanie przyszoci
Dlaczego w takim razie autorzy podrcznika Technologia Informacyjna prezentuj tylko narzdzia informatyczne firmy Microsoft ? Odpowied jak mona zrekonstruowa na podstawie lektury ksiki

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 6

jest nastpujca : system Windows jest powszechnie uywany , atwy do nauczenia i jego znajomo jest podstawowym warunkiem znalezienia pracy. Argumentacja ta oparta jest jednak na faszywych przesankach. Przeanalizujmy je po kolei: 1.Autorzy podrcznika podkrelaj, e system Windows jest powszechnie uywany, poniewa wedug zgodnej opinii jego uytkownikw jest on atwy do nauczenia. Ot w rozumowaniu tym przesanka z konkluzj powinny zamieni si miejscami (jest on uwaany za atwy poniewa jest powszechnie uywany). Aby stwierdzi, e co jest atwiejsze czy trudniejsze musimy dysponowa jakkolwiek skal porwnawcz. W wypadku systemw operacyjnych skala taka z przyczyn historycznych - nie istnieje. 2. Autorzy s zwolennikami stanowiska, ktre mona przedstawi w sposb nastpujcy: co istnieje teraz, bdzie take trwao w przyszoci. Ot jest to zaoenie jeeli wemie si pod uwag historie rozwoju technologi informatycznych - faszywe. W latach 70-80 supremacja IBM, bya przygniatajca, jednak kierownictwo firmy zlekcewayo pojawienie si na rynku komputera domowego i przegrao konkurencje z Microsoft. Dzisiaj role si odwrciy. IBM wykorzystuje system Linux do budowania nowych narzdzi informatycznych mogcych zagrozi monopolowi Microsoft.. 3. Podrcznik Technologia Informacyjna prezentuje wycznie narzdzia informatyczne firmy Microsoft, poniewa dobra wg jego autorw - ich znajomo uatwi absolwentom szk znalezienie pracy. Bd, za ktry zapaci cae polskie spoeczestwo. Za kilka lat, albo pracodawca bdzie zmuszony wyda pienidze na przekwalifikowanie pracownikw, albo pracobiorca bdzie sam musia nauczy si innych wymaganych na rynku pracy narzdzi informatycznych. Jednokierunkowo w nauczaniu informatyki jest form dodatkowego opodatkowania spoeczestwa przez pastwo. * Czy jest jakiekolwiek wyjcie z sytuacji biorc pod uwag - e tylko kilka procent nauczycieli informatyki ukoczya wysze studia informatyczne, reszta natomiast uczszczaa na rnego rodzaju studia podyplomowe? Myl, e sposobem na popraw nauczania informatyki jest stworzenie oprogramowania edukacyjnego w Internecie umoliwiajcego nauk Linuxa. Internetowe Studium Wolnego Oprogramowania (ISWO) jest wanie takim narzdziem stworzonym przez informatykw zwizanych z ruchem wolnego oprogramowania oraz parti polityczn Prawo i Sprawiedliwo.

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 7

Rozdzia 2 : Sesja
2.1 Zalogowanie
Linux jest systemem wielozadaniowym i wielodostpnym. Wynika z tego, e moe z niego korzysta jednoczenie wielu uytkownikw i kady z nich moe uruchomi wiele programw. Aby rozpocz prace, uytkownik musi si zalogowa do systemu podajc swoj nazw (w tym celu trzeba stworzy konto uytkownika) oraz przypisane mu haso, umoliwiajce zalogowanie si do systemu. Dodajmy, e system identyfikuje kadego uytkownika na podstawie niepowtarzalnego numeru UID. Mechanizm logowania moemy przedstawi w nastpujcy sposb. Login : Password : $ who $ date $ cal Login : $ exit Password

3.2 Pierwsze polecenia


date who who am i cal uname passwd echo wywietla na ekranie dat i aktualn godzin wywietla liste zalogowanych uytkownikw kim jestem ? wywietla kalendarz wywietla nazw i atrybuty systemu operacyjnego zmiana hasa wywietla na ekranie argument polecenia

Wiersz polece - czyli to co znajduje si za znakiem zachty # lub $ suy do wprowadzania polece. Co rozumiemy pod wyraeniem wprowadzanie polece ? Rozumiemy przez to wystukanie (wpisanie jego treci) polecenia i nastpnie nacinicia klawisza [Enter]. Polecenie skada si z nastpujcych elementw : nazwa polecenia opcje argumenty

Opcje nielicznymi wyjtkami poprzedzone s znakiem minusa : -. Trzeba uwaa gdy pomidzy liter opcji i - nie moe by spacji. Argumentami s zazwyczaj nazwa lub nazwy plikw.

Autor : Piotr Pitak GR PiS ds. informatyzacji Przykady zastosowania $ uname Linux $ uname a

Linux Podstawy uywania systemu

jjjj-07-tt strona 8

Linux goubet 1.2.1 #3 Sun Mar. 19 12:19:15 CST 1995 I 486

$ who root tty2 May 15 15:41 piotr tty1 May 15 15:14 $ who am i piotr tty1 May 15 15:14 $ date Fri May 9 15:36 GMT-0100 2001 $ cal 8 1953 August 1953 S M Tu W TH F S 1 2 3 4 5 6 7 8 9 1 0 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 $ passwd Old passwd : New passwd : Reenter password : Linux, w przeciwiestwie do DOS-a, rozrnia mae i due litery, dlatego te w wielu sytuacjach moe nie by obojtne, czy naciskajc konkretny klawisz wprowadzamy kod maej, czy duej litery. Np zapisy a i A oznaczaj fizyczne ten sam klawisz na klawiaturze (chocia by uzyska na ekranie A musimy wystuka t liter przyciskajc jednoczenie klawisz z napisem Shift). Zapis a ma warto w kodzie ASCII = 97 natomiast zapis A ma w tym samym kodzie rwnowarto 65.

2.3 Uycie klawiatury


Uycie klawiatury komputera jest proste i (z nielicznymi wyjtkami) do klasyczne :

Autor : Piotr Pitak GR PiS ds. informatyzacji Klawisz

Linux Podstawy uywania systemu

jjjj-07-tt strona 9

[Enter] zatwierdza wykonanie polecenia i [c] przerywa wykonanie

Kombinacja czyli jednoczesne nawinicia klawisza [Ctrl] Polecenia

Kombinacja [Ctrl] i [d] koczy wystukiwanie danych, kiedy uywamy takich polece jak write ktre zmuszaj uytkownika do wystukiwania danych na ekranie. Kombinacja [Ctrl] i [s] przerywa wywietlanie listingu na ekranie Kombinacja [Ctrl] i [q] umoliwia kontynuowanie wywietlania listingu na ekranie

Kombinacja [Ctrl] i [z] przerywa egzekucje polecenia Kombinacja [Ctrl] i [u] wymazuje lini polece, ktr wanie zapeniamy

2.5 wiczenia

wiczenie 1. Wywietl na ekranie kalendarz roku 1997. wiczenie 2. Wywietl kalendarz miesica wrzenia z roku 1752 i uyj polecenia man do objanienia informacji otrzymanych na ekranie. wiczenie 3. Wywietl date w formie dd-mm-rr (przykad : 05-02-95) wiczenie 4. Objanij funkcje polecenie touch. wiczenie 5. Przed rozpoczciem nastpnego rozdziau opu system, a nastpnie zaloguj si powtrnie

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 10

Rozdzia 3 : Pliki i katalogi


System plikw Linuksa tworzy jedno spjne i nierozdzielne drzewo (dokadniej w ksztacie odwrconego drzewa). Struktura plikw porzdkuje sposb w jaki pliki przechowywane s w pamici masowej. Pliki uporzdkowane s w katalogach. Kady z nich moe zawiera dowolna liczb podkatalogw, z ktrych kady moe zawiera pliki. Przedstawione poniej katalogi znajduj si w katalogu gwnym /. Linux dzieli pliki na trzy kategorie 1. katalogi, ktre zawieraj pliki. 2. pliki specjalne ktre nie zawieraj danych (np. plik urzdze) 3. pliki regularne (normalne), ktre zawieraj dane, tekst itd

Skrcony schemat organizacji katalogw

root / ------------------------------------------------------------------------------| | | | | home dev usr tmp etc | | | | | ---------------------------------------------| | | | | | pierre cathty bin lib passwd group | | | .profile vi lp Przedstawimy teraz to co niektre katalogi zawieraj stanie sie to bardziej zrozumiae po opanowaniu caoci materiau. /bin katalog zawierajcy tzw pliki wykonywalne, ktre mog by egzekwowane przez zwykych uytkownikw

/tmp katalog zawierajcy pliki tymczasowe /etc /usr katalog zawierajcy pliki dziki ktrym moemy skonfigurowa system Linux katalog zawierajcy wszystkie aplikacja uytkowe

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 11

3.3 Atrybuty plikw


$ ls -l plika -rwxr-x--- 1 piotr nauka 265 maj 17 14:45 plika !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! nazwa pliku (8) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!data i godzina ostatniej modyfikacji pliku (7) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! objto (6) !!!!!!!!!!!!!!!!!!!!!!!!!!! grupa (5) !!!!!!!!!!!!!!!!! waciciel (4) !!!!!!!!!!!!!!!! liczba czy (3) !!!!!!!!!!!! prawa (2) ! type pliku - kreska oznacza plik normalny d plik jest katalogiem. (1) Podstawowe atrybuty plikw mog by wywietlone przy pomocy polecenia ls z dodatkiem opcji -l, ktra oznacza dugie (long). 1. Pierwsza zona liczca tylko jeden znak wskazuje typ pliku. Symbole najczciej spotykane s nastpujce : - dla oznaczenia plikw zwykych d dla oznaczenia katalogw c dla oznaczenia plikw specjalnych (urzdzenia znakowe) b dla oznaczenia plikw specjalnych przypisanych (urzdzenia blokowe) l dla oznaczenia czy symbolicznych

1. 2. 3. 4. 5.

(2) Druga zona (rwxrx---) skadajca si z 9 znakw,

Przykady : -rwxr-xr-x 1 piotr oracle 3432 Maj 14 2002 15:51 plikb

Plik regularny plikb liczcy 3432 octet, ostatnia jego zmiana miaa miejsce 14 maja, wacicielem pliku jest piotr, ktry naley do grupy oracle drwxr-xr-x 2 piotr windows 512 maj 4 2001 14:14 bin

Katalog bin liczcy 512 octet , ostatnia jego zmiana miaa miejsce 4 maja 2001, wacicielem jego jest piotr, ktry naley do grupy windows

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 12

Wzr linii polece


Pierwsze sowo linii polece jest zawsze poleceniem.

Polecenia do zarzdzania plikami


Polecenie ls Wzr oglny - ls

opcja

nazwa pliku

opcje podstawowe -l wywietla cechy pliku -a wywietla wszystkie pliki -b wywietla znaki, ktre nie mog by wydrukowane -R wywietla zawarto drzewa katalogowego -p rozrnia katalogi

-s wywietla liczb blokw Polecenie ls wywietla nazwy plikw i zgodnie z zaznaczon opcj, niektre ich atrybuty. Polecenie ls w formie najprostszej (to znaczy bez adnej opcji ani nazwy pliku) Przykady : (zakadamy, e znajdujemy si w katalogu domowym /home/piotr) - lista nazw plikw, ktre znajduj si w katalog $ ls - najwaniejsze cechy pliku mbox $ ls -l mbox - najwaniejsze cechy plikw znajdujcych si w katalogu /home $ ls -l /home - wyrnic nazwy katalogw w wywietlonych plikach $ ls -p - liczba blokw zajtych przez pliki $ ls s - wywietlenie nazw wszystkich plikw znajdujcych si w katalogu

Autor : Piotr Pitak GR PiS ds. informatyzacji $ ls a

Linux Podstawy uywania systemu

jjjj-07-tt strona 13

- zobaczy czy nazwa pliku nie zawiera tzw znaku kontroli $ cat plik cat : cannot open plik $ ls -b p* p\030lik f45 f451 f847

- wywietlenie caoci drzewa katalogowego $ ls -R systeme - wywietlenie cech katalogu /home $ ls -ld /home

Kopia pliku jego zniszczenie zmiana nazwy pliku. Polecenie cp stosuje si do skopiowania pliku do pliku o innej nazwie lub w inne miejsce, a take do skopiowania wielu plikw do katalogu. Polecenie rm suy do usuwania plikw i katalogw Polecenie mv suy do zmiany nazwy lub przeniesienia pliku (plikw) Przykady : $ ls -l f* -rw-r--r-- 1 piotr sers 52 Maj 12 2002 17:41 fin1

(wywietlenie plikw, ktrych nazwy zaczynaj si od litery f) $ cp fin1 fin2 $ cp /etc/passwd fin2 $ ls -l f* -rw-r--r-- 1 -rw-r--r-- 1 piotr piotr users users 52 Maj 12 2002 17:41 fin1 692 Maj 12 2002 17:58 fin2 (utworzenie pliku fin2 czyli skopiowanie pliku fin1 do pliku fin2)

$ cp -i fin1 fin2

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 14

cp : overwrite f2 ?y ,,y oznacz ,,tak to znaczy, e zamienilimy zawarto pliku fin2, ktry znowu jest identyczny z plikiem fin1 $ chmod a=r fin2 $ ls -l f* -rw-r--r-- 1 piotr users 52 Maj 12 2002 17:41 fin1 -r--r--r-- 1 piotr users 52 Maj 12 2002 17:41 fin2 (czy widzisz zmian w definicji plikw fin1 fin2 ? jeli tak to jaki ?) $ cp fin1 fin2 cp : cannot cerat regular file ,,fin2 : Permission denied (nie mona zmieni pliku protegowanego) $ cp -f fin1 fin2 polecenie chmod patrz Aneks lub rozdzia 3

Polecenie cat
Polecenie cat (catenate) umoliwia wywietlenie zawartoci pliku na ekranie. Moe by take uyte do zczenia (konkatenacji) wielu plikw. Polecenie file Polecenie file wywietla typ zawartoci pliku. Przykady : $ file /etc/passwd /etc/passwd : ascii text $ file /usr/bin /usr/bin: directory $ file /usr/bin/banner /usr/bin/banner: i386 executable

3.1 Polecenia do zarzdzania katalogami


* pwd * cd * ls * ls -R * mkdir wywietla katalog (biecego) w ktrym aktualnie pracujemy suy do przemieszczania si w drzewie katalogw wywietla zawarto katalogu wywietla pliki drzewa katalogowego tworzy katalog

Autor : Piotr Pitak GR PiS ds. informatyzacji * rmdir * rm r * cp cp r * du * find

Linux Podstawy uywania systemu usuwa katalog usuwa drzewo katalogowe kopiuje pliki do katalogu wykonuje kopie drzewa katalogowego wywietla objto katalogu biecego poszukuje plikw w drzewie katalogowym

jjjj-07-tt strona 15

Polecenie pwd (print working directory) wywietla ciek dostpu do katalogu biecego.

Polecenie cd

/ -------------------------------------------------------------| | usr home | | -------------------------| | | pierre # znajdujesz si tutaj bin lib | ----------------------------| | bin src

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 16

Polecenie cd (Change Directory) pozwala zmieni katalog. Mona przej do innego katalogu uywajc adresu bezwzgldnego np cd /home/piotr lub stosujc znaki skrtowe. Egzekucja polecenie cd bez argumentu, powoduje powrt do twojego katalogu domowego.

Przykady : $ pwd /home/piotr $ cd src $ pwd /home/piotr/src $ cd $ pwd /home/piotr

3.2 wiczenia
wiczenie 1. W katalogu domowym utwrz katalog o nazwie atelier -, a w nim utwrz dwa podkatalogi o nazwach : seria_1 i seria_2 wiczenie 2. Wywietl struktur drzewa katalogowego co dopiero utworzonego uywajc dwch rnych polece. wiczenie 3. Wywietl, w swoim katalogu domowym, list plikw, uywajc dwch rnych polece, ktre umoliwi rozpoznanie katalogw. wiczenie 4. Wykonaj kopie pliku /etc/passwd zmieniajc jego nazw na plik_pass. wiczenie 5.

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 17

Zmie nazw pliku plik_pass na password wiczenie 6. Przenie plik password do katalogu seria_1 (przypominam, e jest on podkatalogiem katalogu atelier) wiczenie 7. Wykonaj kopie plikw /etc/passwd i /etc/group do katalogu seria_2 (przypominam, e jest on podkatalogiem katalogu atelier) znajdujc si a) w katalogu /etc. b) w katalogu seria_2 c) w obojtnie jakim katalogu wiczenie 8. Wyselekcjonuj podkatalog seria_1 jaka katalog pracy i wywietl znajdujc si w nim pliki znajdujce si w podkatalogu seria_2 wiczenie 9. Aby utworzy plik o nazwie dokument wykonaj nastpujce polecenie $ touch dokument Wywietl jego atrybuty uywajc polece : ls i file wiczenie 10. Znajdujesz si w katalogu domowym wywietl atrybuty, w tym take wielko liczon w blokach, wszystkich plikw, take tych, ktrych nazwa zaczyna si od . wiczenie 11. Wywietl atrybuty twojego katalogu domowego. wiczenie12. Jakie znasz polecenia ktre umoliwiaj porwnanie plikw ? Uyj jednego z nich do porwnania pliku zawierajcego twj profil uytkownika z plikiem profilu innego uytkownika. wiczenie 13. Utwrz w swoim katalogu domowym, katalog o nazwie przykady i skopiuj do niego drzewo katalogowe

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 18

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 19

Rozdzia 4

Bash

Po zalogowaniu si kady uytkownik wsppracuje z systemem operacyjnym przy pomocy polece, ktre zanim zostan wyegzekwowane s interpretowane przez tzw interpretator polece, ktry w wypadku Linuxa nazywa si bash. Interpreter polece jest porednikiem (nazwa informatyczna interfejs) midzy uytkownikiem i systemem operacyjnym i jego rol jest tumaczenie polece wystukiwanych przez uytkownika tak aby system operacyjny je zrozumia. Bash posiada do swojej dyspozycji jzyk programowania, ktrego zasady bdziemy stopniowo poznawali i ktry rni si zasadniczo od klasycznych jzykw informatycznych takich jak Pascal, Java czy C++. Na czym ta rnica polega ? Fazy powstawania program informatycznego pisanego w klasycznych jzykach programowania (wymienionych powyej) mona przedstawi w nastpujcy sposb :
Algorytm jest precyzyjnym opisem operacji, ktre tworz program, pisany jest w jzyku macierzystym twrcy programu np polskim, francuskim , algorytm mona porwna do scenariusza lub treci ksiki Kod rdowy jest zapisem algorytmu w jzyku zrozumiaym przez komputer, kod rdowy jest form w jakiej wyraono algorytm kompilacja jest automatycznym tumaczeniem kodu rdowego na jzyk macierzysty komputera ktry skada si tylko z dwch znakw : 0 i 1, tylko program skompilowany moe by egzekwowany system operacyjny Dekompilacja polega na odtworzeniu kodu rdowego lub algorytmu na podstawie kodu bitowego

W bashu mamy do czynienia tylko z dwoma fazami : 1. Pisanie algorytmu (1) Pisanie kodu rdowego Czyli program pisany w bashu nie podlega fazie kompilacji i dlatego bash nazywamy interpretowalnym jzykiem programowania. Programy napisane w bashu nazywamy skryptami. W tym momencie naszego wykadu wprowadzimy centralne do zrozumieniu funkcjonowania systemu Linux pojcie procesu. Proces powstaje w momencie egzekucji programu (ale nie kadego o czym ponej). Powstanie procesu odpowiada egzekucji pliku umieszczonego w pamieci centralnej. Kady uytkownik w momencie logowania si do systemu prowokuje powstanie procesu. Ten proces, zdefiniowany w pliku / etc/passwd, jest interpreterem polece basha. Kady proces ma przypisany numer, nazywany PID (Process Identifier). Proces interpretera polece bdc wylansowany w momencie zalogowania si uytkownika umoliwia wykonywanie innych polece. W tym wypadku, proces odpowiadajcy egzekucji polecenia X nazywamy procesem syna, natomiast proces interpretatora polece, procesem rodzicielskim. Polecenia w Linuksie dziel sie na: 1. polecenia wewntrzne, ktre s czcia integraln basha: egzekucja polecenie wewntrzne nie prowokuje powstania procesu w pamici komputera

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 20

2. polecenia zewntrzne , ktre s niezalene od basha i ktre znajduj sie w rnych katalogach (/usr/sbin, /sbin,...), egzekucja kadego polecenia zewntrznego prowokuje powstanie procesu w pamici komputera. Bash uzywa tzw znakw specjalnych, ktrych znaczenie uzytkownik systemu operacyjnego musi rozumie, a ktre su do generowania nazw plikw (*,?, []) lub do modyfikacji postpowania danego polecenia (<,>, |). W momencie logowania bash interpretuje pliki inicjalizujce sesje: /etc/profile i .bash_profile, ten ostatni plik kady uytkownik pod warunkiem, e opanowa wystarczajco Linuksa moe zmodyfikowa, dorzui do niego nowe funkcje itd.

4.1 Znaki uoglniajce


Znaki uoglniajce jeden lub wiele znakw uywanych do tworzenia nazw plikw pozwalaj uytkownikowi wystuka w linii polece niekompletn nazw pliku. Innymi sowy przy pomocy znakw uoglniajcych tworzy si symboliczny wzorzec pasujcy do wikszej liczby plikw. Wyrniamy trzy rodzaje znakw uoglniajcych : * oznacza dowolnej rwnie zerowej dugoci acuch znakw ? dowolny pojedynczy znak [..] uycie nawiasw kwadratowych moe przybra wiele form [azs] oznacza, liter a lub liter z lub liter s poszukiwany cig znakw musi zawiera jedn z tych liter [0-9] oznacza liczb cakowit ze zbioru od 0 do 9 [!rty] oznacza kady znak oprcz litery r, t, y [!0-9] oznacza kady znak, ktry nie jest liczb Przykady : Przypumy, e w nasz katalog domowy zawiera nastpujce pliki : p1 p2 p3 p58 p45 pb pz $ ls p[1-3] p1 p2 p3 a1kb2lc4k art54lnm012 p+

Autor : Piotr Pitak GR PiS ds. informatyzacji $ ls p[123] p1 p2

Linux Podstawy uywania systemu

jjjj-07-tt strona 21

p3

Jak widzimy ten sam rezultat moemy uzyska stosujc rne formy znakw uoglniajcych. Czy rezultat widoczny powyej mona uzyska w jeszcze inny sposb? $ ls [!123bz] p+ $ ls a*b*c* a1kb2lc4k $ ls p[0-9]* p1 p2 p3 p58 p45 $ echo p* p1 p2 p3 p58 p45 pb pz $ echo p? p1 p2 p3 pb pz p+ p+

4.2 Protekcja znakw uoglniajcych i specjalnych


Znaki uoglniajce s podgrup znakw specjalnych, ktre dla powoki shella maj inne znaczenie ni znak literowy. Wyrniamy nastpujce znaki specjalne :

* ? \

[] <> &

{ }

Manipulowanie znakami specjalnymi, ktrych znaczenie bdziemy stopniowo poznawa, jest umiejtnoci trudn i wymagajc duo wicze i praktyki, dlatego te powiecimy im jak ju wspomniaem we wstpie - duo miejsca i czasu, bowiem ich dobra znajomo jest niezbdna do sprawnego posugiwania si systemem Unix, Linux, a take jzykami uywanymi do programowania w Internecie (HTLM, Perl, PHP itd). Znaki specjalne mog wyraa swoje znaczenie lateralne pod warunkiem, e s neutralizowane. Wyrniamy nastpujce znaki neutralizujce, \ znak ten neutralizuje kady znak znajdujcy si natychmiast po nim np \* czyli wyszukuje nie obojtnie jaki cig znakw, lecz szuka * .. neutralizuje wszystkie znaki specjalne oprcz : $ \

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 22

.. neutralizuje wszystkie znaki specjalne oprcz niego samego

Przykady : $ echo \*\*\* dzien dobry \*\*\* *** dzien dobry *** rezultat polecenia czy moesz odpowiedzie dlaczego ? $ echo \\ \ rezultat polecenia

$ echo <<< dzien dobry>>> <<<dzien dobry>>> $ echo podwoje podwoje $ echo ***ekran jest typu $TERM

4.3 Przekierowania

Jak ju pisalimy na pocztku tego rozdziau proces powstaje w momencie egzekucji programu. Powstanie procesu odpowiada egzekucji pliku umieszczonego w pamici centralnej. W momencie powstania procesu interpretator polece tworzy automatycznie mechanizm umoliwiajcy wprowadzanie danych z klawiatury (wejcie standardowe) oraz mechanizm pojawiania si tych danych na ekranie (wyjcie standardowe). Interpreter tworzy take wyjcie standardowe dla bdw. Wyjciem standardowym bdw jest rwnie ekran. Standardowe wejcia-wyjcia mog by skierowane do pliku, potoku (mechanizm potoku poznamy w nastpnym podrozdziale). Skierowanie standardowego wyjcia polega na wysaniu tekstu wywietlanego na ekranie do pliku. Wszystkie standardowe wejcia-wyjcia kadego procesu mona take skierowa do odpowiednich plikw i proces zamiast szuka informacji w sygnaach wysyanych z klawiatury, bdzie ich poszukiwa w odpowiednich plikach. Mechanizm ten przedstawiamy na rysunku. Wejciu standardowemu przypisany jest przez system numer 0. Wyjciu standardowemu przypisany jest numer 1. Wyjciu bdw przypisany jest numer 2. Zdefiniujmy teraz podstawowe operatory kierujce (przeczajce) standardowe wejcia-wyjcia : > plik_k wyjcie standardowe jest skierowane do pliku plik_k. Jeli plik_k wczeniej nie istnia, to zostanie to zostanie utworzony. Jeli ju istnia to jego zawarto zostanie wymazana (ziszczona).

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 23

>> plik_k w tym wypadku wyjcie standardowe zostanie doczone do plik_k jeli on ju istnia. < plik_k wejciem standardowym nie bdzie klawiatura, tylko plik_k 2> plik_k wyjcie standardowe bdw bdzie skierowane do pliku_k. Jeli plik wczeniej nie istnia to zostanie utworzony. Jeli istnia jego zawarto zostanie wymazana . 2>> plik_k jeli plik_k istnia to jego zawarto nie bdzie wymazana 2>&1 skierowuje wyjcie standardowe bdw do tego samego pliku co wyjcie standardowe Przykady : $ ls > tymczasowy #zapisanie listy plikw katalogu biecego do pliku tymczasowy $ ls >> plikb $ echo # dopisanie do pliku plikb listy plikw z katalogu biecego

=================== > rezultat

$ date >> rezultat $ echo =================== > rezultat

#plik rezultat bdzie zawiera nastpujce informacje $ cat rezultat =================== Sun May 15 22:41:48 GMT-0200 2001 ===================

4.4

Potoki

Potok jest cigiem polece prostych lub zoonych, ktre s odseparowane od siebie przez znak |. Rezultat kadego polecenia z wyjtkiem ostatniego jest traktowane przez polecenie nastpne, jako jego standardowe wejcie. Innymi sowy - potok jest mechanizmem komunikacji pomidzy rnymi poleceniami, ktry im pozwala wymienia midzy sob dane. Przeledmy funkcjonowanie mechanizmu potokw na konkretnych przykadach. Wykonajmy nastpujce polecenie : $ ls -l /home drwxr-xr-x drwxr-xr-x drwxr-xr-x -rwxr-xr-x -drwxr-xr-x 2 2 5 1 2 piotr ola piotr piotr piotr oracle oracle oracle oracle oracle 1024 512 1024 1536 1325 May May May May May 15 25 17 18 15 2003 test 2003 katalog5 2003 test1 2003 plikb 2003 plikc

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 24

Rezultatem egzekucji polecenia - ls -l - jest lista zarwno plikw jak katalogw, ot chcielibymy wiedzie ile ich jest ? Zastosowanie mechanizmu potokw umoliwi nam ich policzenie. Wiemy, e powysza lista jest wejciem standardowym nastpnego polecenia, ktre wykona stosowne obliczenie. Tym poleceniem jak by moe pamitacie jest : wc -l . Tak wic by policzy pliki katalogu domowego musimy wykona nastpujce polecenie potok : $ ls - l | wc -l 5 Wyobramy sobie teraz, e chcemy wywietli na ekranie wszystkie pliki zawarte w katalogu /usr, podejrzewamy (dlaczego ?), e moe by ich duo. Co zrobi by ich lista nie przedefilowaa, bez zatrzymania na ekranie co uniemoliwioby nam spokojne jej odczytanie. Ot w tym wypadku te moemy zastosowa mechanizm potoku : $ ls l /usr | more #jak inaczej moemy obejrze w/w list stronic po stronicy ? Jak zapewne zauwaylicie na ekranie wywietlany jest tylko rezultat kocowy potoku, dane porednie np rezultat polecenia : ls l z potoku : ls -l | wc -l , gin. Czy nie ma adnego sposobu ich zapisania np w jakim oddzielnym pliku ? Mechanizm zapisywania w plikach rezultatw poszczeglnych polece wchodzcych w skad potoku uzyskujemy przy pomocy polecenia : tee nazwa_pliku . Jeli chcemy zapisa rezultat polecenia : ls -l to nasz potok przybierze form nastpujc : $ ls -l | tee plikb | wc -l

Mechanizm zapisywania w plikach rezultatw poszczeglnych polece wchodzcych w skad potoku nazywamy rozgazieniem potoku. Rezultat potoku moe by uzyskany take przy pomocy odpowiednich skierowa : Skierowanie do pliku $ polecenie1 > plik1 polecenie1 $ polecenie2 < plik1 $ rm plik1 | polecenie2 Uycie potoku

$ polecenie1 > plik_a $ polecenie2 < plik_a > plik_b $ polecenie3 < plik_b polecenie1 | polecenie2 | polecenie3

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 25

Mechanizm funkcjonowania potokw wymaga od uytkownika zapamitania nie tylko znacze poszczeglnych polece, ale take pamitania ich rezultatw. Podamy teraz kilka potokw, ktrych interpretacje rezultatw pozostawiamy czytelnikowi. $ who | wc -l

$ cat /etc/passwd | wc -l $ cat /etc/group | wc -l

$ cat /etc/passwd | grep /bin/bash | wc -l $ ls -l | grep rwxr-xr-x | more

Zgrupowania polece
Linux umoliwia nam wystukanie wielu polece jednoczenie, pod warunkiem, e polecenia te bd oddzielone midzy sob ; . Polecenia s wykonywane w takim przypadku po kolei, niezalenie od siebie. Przykad : $ ls; pwd; date drwxr-xr-x drwxr-xr-x drwxr-xr-x -rwxr-xr-x -drwxr-xr-x /home/piotr Fri May 15 15:14:38 GMT-0100 2003 2 2 5 1 2 piotr ola piotr piotr piotr #polecenia s wykonywane po kolei od lewej do prawej strony oracle oracle oracle oracle oracle 1024 512 1024 1536 1325 May May May May May 15 25 17 18 15 2003 test 2003 katalog5 2003 test1 2003 plikb 2003 plikc

Polecenie te mog by zgrupowane przy pomocy nawiasw i skierowane do pliku lub uyte w mechanizmie potoku $ ( ls ; pwd ; date ) > plik_wyjscie Istniej take w Linuksie operatory, ktre warunkuj wykonanie danego polecenia w zalenoci od tego jaki rezultat przyniesie wykonanie polecenia je poprzedzajcego. Operator && pozwala wykona polecenie tylko w tym wypadku jeeli egzekucja polecenia je poprzedzajcego zostaa wykonana bez bdu. Przykad :

Autor : Piotr Pitak GR PiS ds. informatyzacji $ cd projekt &&

Linux Podstawy uywania systemu ls *

jjjj-07-tt strona 26

Operator || umoliwia wykonanie danego polecenia tylko w tym wypadku jeeli egzekucja polecenia je poprzedzajcego zostaa wykonana z bdem Przykad : $ cd projekt || mkdir projekt

Wyjanienie : chcemy przej do katalogu projekt , lecz jeeli on nie istniej to go tworzymy

4.5

wiczenia

wiczenie 1. Przemieszcz si ze swego katalogu biecego do katalogu /usr/bin i wywietl list plikw ktrych nazwa skada si dokadnie z 4 znakw. wiczenie 2. Wywietl list plikw, ktrych nazwy zaznaj si tylko na litery od a do e. wiczenie 3. Wywietl list plikw, ktrych nazwy posiadaj liter t na drugiej pozycji. wiczenie 4. Uyj polecenia echo do wywietlenia nastpujcej informacji na ekranie twojego komputera : wiczenie 5. Wywietl na ekranie zdanie dzie dobry pani wprowadzajc trzy polecenia na trzech liniach wiczenie 6. Wr do swego katalogu domowego i utwrz plik o nazwie info.txt zawierajcy dat i godzin. Wykonaj polecenie cat info.txt aby wywietli na ekranie zawarto pliku info.txt. wiczenie 7. Uywajc tego samego mechanizmu, umie rezultat polecenia ls w pliku info.txt. Wywietl plik. Co zobaczysz ? wiczenie 8

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 27

Wykonaj powtrnie wiczenie 6 i dorzu do zawartoci pliku info.txt, rezultat polecenia ls, wywietl plik powtrnie. . wiczenie 9. Uyj polecenia mail wiczenie 10. Wywietl na ekranie, strona po stronie list plikw z katalogu /etc.

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 28

Rozdzia 5 : Prawa
Po przestudiowaniu tego rozdziau, czytelnik powinien umie rozpoznawa i modyfikowa uprawnienia wszystkich rodzajw plikw oraz definiowa prawa automatycznie. Szczegln uwag powicimy prawom katalogw. W rozdziale tumaczymy take zarzdzanie grupami uytkownikw. 5.1 Zarzdzanie prawami System Linux jest systemem wielodostpnym w ktrym dostp do plikw jest regulowany przez prawa Polecenia umoliwiajce zarzdzaniem uprawnieniami plikw, katalogw, uytkownikw : ls -l chmod umask chgrp id su newgrp : : wywietla identyfikacje uytkownika : umoliwia zmian identyfikacji uytkownika : umoliwia zmienienie grupy uytkownikowi : wywietla praw plikw : umoliwia zmienienie praw przydzielonych plikowi : automatyczne przydzielanie uprawnie

5.2 Poznanie atrybutw pliku (ls l)

$ ls -l plika (1) -rwx|r-x|--- 1 piotr nauka 265 maj 17 14:45 plika !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! nazwa pliku (8) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!data i godzina ostatniej modyfikacji pliku (7) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! objto (6) !!!!!!!!!!!!!!!!!!!!!!!!!!! grupa (5) !!!!!!!!!!!!!!!!! waciciel (8) !!!!!!!!!!!!!!!! liczba czy (3) !!!!!!!!!!!! prawa (2) ! typ pliku - kreska oznacza plik normalny d plik jest katalogiem. (1) a b c (1) -|rwx|r-x|---

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 29

a prawa waciciela pliku b prawa grupy do ktrej naley waciciel c prawa reszty uytkownikw systemu Jak widzimy aby kontrolowa dostp do plikw, Linux dzieli uytkownikw systemu na trzy kategorie : 6. wacicieli plikw 7. czonkw grupy do ktrej naley waciciel grupy 8. innych uytkownikw systemu Kada kategoria uytkownikw dysponuje trzema prawami : 9. prawem lektury (read), ktre umoliwia czytanie pliku, prawo te umoliwia np. wykonanie kopi pliku 10. prawem pisania (write), ktre umoliwia modyfikacje pliku 11. prawem egzekucji pliku (execute)ktre umoliwia traktowanie pliku jako polecenia (lub jego zbioru). Prawo to ma sens tylko dla skryptw i programw.

5. 3 Modyfikacja praw pliku (1)


Polecenie chmod umoliwia wacicielowi pliku lub administratorowi systemu zmieni uprawnienia pliku. Jego forma jest nastpujca $ chmod u-w plik1

Cig znakw u-w symbolizuje zmian praw pliku , na pierwszym miejscu (w naszym przykadzie u) okrela si kto ma prawo korzysta z pliku, dysponujemy nastpujcymi symbolami u symbolizuje waciciela pliku

g symbolizuje grup do ktrej plik jest przypisany o reszta uytkownikw systemu

a symbol ten oznacz : wszystkich u+g+o Na drugim miejscu umieszcza si symbole zmiany praw : + dorzucamy prawo - likwidujemy prawo = przypisujemy prawo Na trzecim miejscu umieszczamy symbole, czego dotyczy prawo : r prawo czytania pliku w prawo modyfikacji pliku

Autor : Piotr Pitak GR PiS ds. informatyzacji x prawo jego egzekucji Przykady :

Linux Podstawy uywania systemu

jjjj-07-tt strona 30

Likwidujemy prawo modyfikacji pliku dla jego waciciela : $ chmod u-w plik1

Dorzucamy prawo modyfikacji dla grupy do ktrej jest przypisany plik : $ chmod g+w plik1

5.4 Modyfikacja praw pliku (2)

chmod

740

plikb

400 200 100 040 020 010 004 002 001

prawo czytania dla waciciela pliku prawo pisania dla waciciela pliku prawo egzekwowania pliku przypisane jego wacicielowi prawo czytania dla grupy uytkownikw prawo pisania dla grupy uytkownikw prawo egzekwowania pliku przypisane grupie uytkownikw prawo czytania przypisane innym uytkownikom prawo pisania przypisane innym uytkownikom prawo egzekwowania przypisane innym uytkownikom

Polecenie chmod pozwala zmieni prawa przy pomocy wartoci wyraonych w kodzie binarnym np jak nada wszystkie prawa wacicielowi pliku plikb, prawa do czytania i egzekwowania tego pliku grupie do ktrej naley jego waciciel i prawo do czytania pliku innym uytkownikom systemu ? $ chmod 754 plikb

System dziesitny rzni si zasadniczo od swoich poprzednikw (np zapisu rzymskiego, systemu Aztekw opartego na 5 itd) . Za Charlesem Petzold mona go scharakteryzowa w nastpujcy sposb : 1. dziesitny system liczbowy jest systemem pozycyjnym co oznacza, e okrelona cyfra reprezentuje rn warto zalenie od swego miejsca w liczbie. Miejsce cyfry jest wic rwnie, jak jej rzeczywista warto.. Zarwno liczba 200 jak i 20000 maj na pocztku tylko jedn dwjk, jednak wiemy, e dwadziecia tysicy jest wiksze od dwustu

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 31

2. praktycznie wszystkie systemy powstae przed systemem dziesitnym (lub indoarabskim), maj co czego on nie ma, a mianowicie specjalny symbol oznaczajcy liczb 10 (np X w rzymskim). W systemie dziesitnym nie ma specjalnego symbolu 10. 3. Wszystkim systemom liczbowym brakuje symbolu 0. System dziesitny natomiast posuguje si jako jedyny symbolem zera. Zero cho moe nam to si wydawa dziwne jest bez wtpienia jednym z najwaniejszych wynalazkw w historii liczb i matematyki. Dziki niemu moemy rozrnia liczby biorc pod uwag ich zapis pozycyjny, 45 od 405 czy od 450. Zero uatwia take wiele operacji matematycznych, ktre s niewygodne w innych systemach : np mnoenie czy dzielenie. Rozmy na czynniki pierwsze liczb 5854 ktr wymawia si jako pi tysicy osiemset pidziesit cztery co mona zapisa w nastpujcy sposb : pi tysicy osiemset Przedstawienie I pidziesit cztery W postaci liczbowej moemy nasz liczb przedstawi w nastpujcy sposb : Przedstawienie II 5854 = 5000 + 800 + 50 + 4

Zapis ten moe by jeszcze bardziej szczegowy : 5854 = 51000 + 8100 + 510 + 41

Przedstawienie III

Mona ten zapis przedstawi uywajc potg

5854 = 510 +
Przedstawienie IV 810 + 510 + 410

Pamitaj, e dowolna liczba do potgi 0 rwna si 1

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 32

Kada pozycja w wielocyfrowej liczbie ma szczeglne znaczenie, przypatrz si uwanie poniszemu rysunkowi Potga 6 5 4 3 2 1 0 5|8|5|4|8|9|3 !!!!!!!!!!!!!!!!!!!! liczba jednoci !!!!!!!!!!!!!!!! liczba dziesitek !!!!!!!!!!!!! liczba setek !!!!!!!!! liczba tysicy !!!!!! liczba dziesitek tysicy !!! liczba setek tysicy ! liczba milionw

Przedstawienie V

Kada pozycja - i jest to zasada najwaniejsza - odpowiada okrelonej potdze dziesiciu. Jednak wniosek jest nastpujcy : notacja pozycyjna, ktr powyej przedstawilimy dziaa take w innych nie dziesitnych systemach. System dziesitny posuguje si dziesicioma symbolami : 2. 1 2 3 4 5 6 7 8 9 (podstawa systemu = 10) System binarny tylko dwoma 0 1 (podstawa systemu = 2)

Sprbujmy zastosowa zasady notacji pozycyjnej do jakiejkolwiek liczby wyraonej kodem binarnym. Podstaw systemu dziesitnego jest liczba dziesi (10 cyfr). Podstaw systemu binarnego jest liczba dwa (dwie cyfry) Std wniosek, e warto Potga 3 2 1 0

1 0 1

0 5854 = 510 + 810 + 510 + 410

12 + 02 + 12 + 02 = 10

Powrmy teraz do nadawania praw przy pomocy wartoci wyraonych przez kod binarny Prawa dla uytkownika, prawa dla grupy, prawa dla innych uytkownikw systemu wyraane s w formie trzech liter np. nadanie wszystkich moliwych praw wacicielowi pliku zapisujemy rwx rwr--- ktre w formie binarnej bdzie miao warto w formie binarnej bdzie miao warto 111 = 110 100 000

Autor : Piotr Pitak GR PiS ds. informatyzacji Podsumujmy : Potga

Linux Podstawy uywania systemu

jjjj-07-tt strona 33

2 1 0

2 1 0 2 1 0

1 1 0 | 1 1 1| 0 0 1 1 10

671

4 +2+0=6

111
4 +2+ 1 = 7

001

0 + 0+1 = 1

System dziesitny 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

system binarny 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000

system octal 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20

system hexa 0 1 2 3 4 5 6 7 8 9 A B C D E F 10

5.5 Prawa katalogw


$ ls ld katalog drwxr-x--- 1 piotr grupa 265 czerwiec 20 14:00 katalog

r prawo lektury plikw zawartych w katalogu w prawo tworzenia i usuwania plikw w katalogu

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 34

x prawo dostpu do plikw w katalogu


Mechanizm lektury i nadawania praw katalogowi jest analogiczny do tego, ktry uywamy w stosunku do plikw. Jednak prawa katalogw interpretujemy inaczej i zrozumienie tego jest konieczne do odczytywania, usuwania i tworzenia plikw, ktre katalog zawiera. 4 5 6 Prawo lektury katalogu pozwala pozna list plikw, ktre katalog zawiera, przy pomocy polecenia ls moemy (posiadajc to prawo) wywietli pliki na ekranie. Prawo egzekucji pozwala na uzyskanie dostpu do plikw zawartych w katalogu Prawo tworzenia plikw ma sens tylko wtedy gdy posiadamy jednoczenie prawo dostpu do plikw (czy moesz wytumaczy dlaczego ?) . Prawo to umoliwia usuwanie starych i tworzenie nowych plikw Moemy wyrni nastpujce kombinacje praw ktre moe posiada uytkownik * rwx uytkownik posiada wszystkie prawa * r-x * --* --x uytkownik ma prawo dostpu do plikw katalogu uytkownik nie ma adnych praw uytkownik posiada prawo dostpu do plikw, ktrych nazwy zna

Przypomnijmy teraz podstawowe polecenia uywane do zarzdzania katalogami : mkdir (make direktory ) przy pomocy tego polecenia tworzymy katalogi. Zamy, ze znajdujemy si w katalogu domowym /home/piotr $ mkdir katalog1 katalog2 (utworzylimy katalogi, ktre znajduj si w katalogu Domowym)

Chcemy teraz utworzy w katalogu - katalog1 - podkatalog o nazwie cwiczenia, ale nadal Bdc w katalogu domowym $ mkdir katalog1/cwiczenia Czy wiesz jak mona to zrobi inaczej ? rmdir (remove direktory) - przy pomocy tego polecenia usuwamy katalogi Zamy, e chcemy usun katalog o nazwie katalog2 , ktry przed chwil utworzylimy $ rmdir katalog1 katalog2 po egzekucji tego polecenia otrzymamy na ekranie nastpujcy napis $ rmdir: katalog1: Directory not empty czyli polecenie rmdir usuno tylko katalog2 Pusty

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 35

Jeeli wykonamy polecenie ls $ ls katalog1 W jaki sposb go usun? Ot do usuwania katalogw z zawartoci suy polecenie rm -r nazwa katalogu jest to polecenie bardzo niebezpieczne w wypadku jeeli po opcji -r zapomnisz wpisa nazw katalogu, ktry chcesz usun Czy wiesz co si moe wtedy sta ?

5.7 Zarzdzanie grupami


Polecenia : ls l chgrp newgrp id polecenie to wskazuje grup do ktrej przynaley plik polecenie to zmienia przynaleno pliku z np grupy a d o grupy b

polecenie to umoliwia, podczas sesji, zmieni przynaleno pliku z grupy zdefiniowanej w pliku /etc/passwd, na pocztku sesji pozwala pozna aktualn grup

Uytkownicy przynale do jednej lub wielu grup i prawa dostpu do plikw, ktrych nie s wacicielami, zale od tej przynalenoci. Pliki utworzone przez uytkownika nale do jego aktualnej grupy. Grupa ta jest inicjalizowana w momencie otwarcia sesji, dziki plikowi etc/passwd Plik uytkownikw /etc/passwd Lista uytkownikw systemu znajduje si w pliku /etc/passwd , ktry jest dostpny dla wszystkich uytkownikw (to znaczy moe by wywietlony na ekranie przez wszystkich) i ktry skada si z nastpujcych kolumn : 1. nazwa uytkownika 2. znak x 3. numer uytkownika 4. numer grupy 5. komentarz 6. katalog domowy

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 36

7. interpreter polece (shell) Kolumny rozdziela znak dwukropka : root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin: daemon:x:2:2:daemon:/sbin shutdown:x:6:0:shutdown:/sbin:/sbin:/shutdown halt:x:7:0:halt:/sbin:/sbin:/halt ftp:x:14:50:FTP User:/home/ftp: nobody:x:99:99:Nobody:/: ola:x:519:504:Ola Pawlak:/home/ola:/bin/bash Gdy przy pomocy polecenia useradd administrator definiuje nowego uytkownika i jego konto, tworzony jest automatycznie jego katalog domowy, o nazwie takiej samej jak nazwa uytkownika oraz definiowane s jednoczenie inne parametry, m.in. okrelona jest powoka z jak uytkownik bdzie pracowa po zalogowaniu si. Gdy jestemy zalogowani jako administrator, moemy wykona nastpujce polecenie # useradd piotr Wtedy do pliku /etc/passwd zostanie dorzucone konto o nazwie piotr ktrego katalogiem domowym bdzie /home/piotr root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin: daemon:x:2:2:daemon:/sbin shutdown:x:6:0:shutdown:/sbin:/sbin:/shutdown halt:x:7:0:halt:/sbin:/sbin:/halt ftp:x:14:50:FTP User:/home/ftp: nobody:x:99:99:Nobody:/: piotr:x:518:504:Piotr Pietak:/home/piotr:bin/bash ola:x:519:504:Ola Pawlak:/home/ola:/bin/bash

1 234 5

Plik grupy uytkownikw /etc/group Grupa uytkownikw zawiera pewn liczb uytkownikw ktrzy maj dostp do tych samych plikw. Grupa ta definiowana jest w pliku /etc/group i skada si z nastpujcych kolumn : nazwa grupy. kolumna pusta lub zawierajca znak x albo * numer grupy lista uytkownikw, czonkw grupy Przykad

Autor : Piotr Pitak GR PiS ds. informatyzacji $ cat /etc/group

Linux Podstawy uywania systemu

jjjj-07-tt strona 37

root:x:0:root bin:x:1:root,bin,demon demon:x:2:root,bin,demon sys:x:3:root,bin,adm Modyfikacji tego pliku moe dokonywa tylko administrator systemu Przykady $ id uid=101(piotr) gid=1(inni) czy wiesz do jakiej grupy naley - piotr ?

Jak zmieniamy przynaleno pliku do grupy ? $ ls -l plika -rw-r- - r-- 1 piotr inni 99 lipiec 18 14:00 plika $ chgrp studia plika -rw-rr-- 1 piotr studia 99 lipiec 18 14:00 plika

wiczenia 4.1
wiczenie 1. Przy pomocy polecenia touch utwrz plik o nazwie : obraz.txt $ touch obraz.txt Nie poznajc uprawnie pliku, nadajcie wszystkim uytkownikom prawa do czytania tego pliku na dwa sposoby (symboliczny i numeryczny), nastpnie wywietl te prawa. wiczenie 2. Jakie bd konsekwencje nastpujcego polecenia : $ rm obraz.txt wiczenie 3. Jakie bd uprawnienia pliku obraz.txt, po wykonaniu nastpujcego polecenia : $ chmod u+wx,g+w,o-r obraz.txt wiczenie 4. Przypumy, e polecenie ls -l /home/ola/prog.sh wywietla na ekranie nastpujc linie

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 38

-r-xr-xx 2 ola personel 452460 maj 25 2002 /home/ola/prog.sh Kto moe wyegzekwowa ten program ? wiczenie 5. Polecenie ls -ld /home/piotr wywietla na ekranie : drwxrwxr-x 2 piotr konto 512 maj 15 2002 /home/piotr Jacy uytkownicy maj uprawnienia do tworzenia lub wymazywania plikw w tym katalogu ? wiczenie 6. Czy Piotr ma prawo wymaza ze swego katalogu domowego plik, ktry posiada nastpujce atrybuty : -r--------- 2 ola konto 2416 Maj 2 2002 plik.txt wiczenie 7. Utwrz katalog o nazwie prywatne w ten sposb by inni uytkownicy, nalecy do tej samej grupy, nie mieli do niego dostpu wiczenie 8. Wykonaj polecenie, ktre umoliwi uytkownikom z twojej grupy czytanie katalogu prywatne. wiczenie 9. Czy moesz zmieni nazw swego katalogu domowego ? dlaczego ? wiczenie 10. Jak warto oktaln uy by w momencie nadawania praw otrzyma : drwxr-x--- dla katalogu -rw-r----dla pliku

wiczenie 11. Podcz si do grupy bin. Wytumacz rezultat polecenia. wiczenie 12. Katalog prywatne posiada nastpujce atrybuty : $ ls -ld prywatne drwxr-x--- 2 piotr konta 1024 czerwiec 20 10:35 prywatne Wykonaj polecenie, ktre docza grup zaliczka (ktrej jeste czonkiem) do katalogu prywatne wiczenie 13. Czy Piotr moe zmieni grup pliku plik.txt, ktry si znajduje w jego katalogu domowym ? $ ls -l plik.txt -r-------- 2 ola konto 2416 Maj 10 2002 plik.txt

Autor : Piotr Pitak GR PiS ds. informatyzacji wiczenie 14.

Linux Podstawy uywania systemu

jjjj-07-tt strona 39

Jakich informacji dostarczaj nastpujce polecenia : $ who am i $ id wiczenie 15. Sprawd czy w twoim systemie moesz pisa na ekranie operatora /dev/console

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 40

Rozdzia 6 :
cut sort more wc tail head nl tr

Filtry do czego su ?
selekcjonuje (znajduje) pojedycze znaki lub zony uporzdkowanie, fuzja plikw wywietlanie pliku strona po stronie liczy linie, sowa, i znaki wywietla koniec pliku wywietla koniec pliku numeruje linie pliku prosta modyfikacja pliku

grep poszukiwanie cigu znakw w pliku

Czym jest filtr ? Jest on poleceniem, ktre wykonuje pewno dziaanie na plikach zawierajcych tekst. Rezultat tego dziaania, ktry jest take tekstem, wywietlany jest na ekranie (chocia nie tylko). Powizanie midzy sob wielu filtrw (czyli jednoczesna egzekucja kilku polece) jest moliwa dziki uyciu metody zwanej przekierowaniem lub innej metody nazywanej potokiem. Zapoznamy si teraz z podstawowymi filtrami uywanymi w systemie Linux. Przykady : $ cat poemat Opadaj kwasem wina Licie dbu i czereni I zza wody psi przyleni Szczekaj jak mandolina Baaajk psiej tsknoty Uwizali na acuchu Za to dzierze-mgle na uchu Dynda miesic kolczyk zoty $ wc -l poemat 8 poemat $ ls | wc -l 5 $ nl poemat #numeruje linie poematu #liczy liczb plikw znajdujcych si w katalogu dlaczego ? sprbuj znale polecenie, ktre wywietlioby liczb znakw w katalogu # polecenie to liczy liczb lin w wierszu poemat

Autor : Piotr Pitak GR PiS ds. informatyzacji 1 2 3 4 5 6 7 8 Opadaj kwasem wina Licie dbu i czereni I zza wody psi przyleni Szczekaj jak mandolina

Linux Podstawy uywania systemu

jjjj-07-tt strona 41

Baaajk psiej tsknoty Uwizali na acuchu Za to dzierze-mgle na uchu Dynda miesic kolczyk zoty #wywietla 3 ostatnie linie wiersza poemat

$ tail -3 poemat

Uwizali na acuchu Za to dzierze-mgle na uchu Dynda miesic kolczyk zoty $ tail +2 poemat #wywietla od 2 lini do koca

Za to dzierze-mgle na uchu Dynda miesic kolczyk zoty

$ head -3 poemat #wywietla 3 pierwsze linie Opadaj kwasem wina Licie dbu i czereni I zza wody psi przyleni Uwagi : 1. Liczba linii branych pod uwag przez polecenie tail i head wynosi 10 2. Polecenie wc (bez opcji) wywietla liczb linii, liczb sw i liczb znakw zawartych w pliku 3. Co si dzieje gdy wystukamy (polecenie bdce filtrem) bez adnego argumentu, czyli bez nazwy pliku np $ wc + [Enter] * polecenia zwane filtrami oczekuj, e wprowadzimy jakie dane moemy to zrobi i aby powrci do linii polece i przerwa zapenianie ekranu musimy wystuka jednoczenie [Ctrl]+d

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 42

6.2

Polecenie grep $ grep psi poemat

Opadaj kwasem wina Licie dbu i czereni I zza wody psi przyleni Szczekaj jak mandolina Baaajk psiej tsknoty Uwizali na acuchu Za to dzierze-mgle na uchu Dynda miesic kolczyk zoty grep

I zza wody psi przyleni Baaajk psiej tsknoty

Polecenie grep selekcjonuje z pliku linie zawierajce poszukiwany cig znakw w naszym przykadzie psi - i wywietla wskazane linie na ekranie. Opcja -i znosi rnice midzy maymi i duymi literami. Jeeli wystukamy : $ grep -i za poemat I zza wody psi przyleni Za to dzierze-mgle na uchu to otrzymamy

Opcja -c uyta z poleceniem grep umoliwia policzenie liczby lin zawartych w pliku (jakie inne polecenie wykonuje to samo ? ). $ grep -c poemat 8 Opcja -n numeruje linie w pliku (jakie inne polecenie wykonuje to samo ? ). $ grep -n poemat 1 Opadaj kwasem wina 2 Licie dbu i czereni 3 I zza wody psi przyleni 4 Szczekaj jak mandolina 5 6 7 8 Baaajk psiej tsknoty Uwizali na acuchu Za to dzierze-mgle na uchu Dynda miesic kolczyk zoty

Opcja -v wywietla linie, ktre nie zawieraj poszukiwanego cigu znakw, w naszym pierwszym przykadzie, jeli przed psi dodamy -v to otrzymamy : $ grep -v psi poemat Opadaj kwasem wina

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 43

Licie dbu i czereni Szczekaj jak mandolina Uwizali na acuchu Za to dzierze-mgle na uchu Dynda miesic kolczyk zoty Opcja -l jest uyteczna kiedy poszukujemy cigu znakw w wielu plikach.

6.3 Polecenie cut


$ cut f1,3 -d, 1,un,one,ein 2,deux,two,zwei 3,trois,three,drei 4,quatre,four,vier 5,cinq,five,funf 6,six,six,sechs 7,sept,seven,sieben 8,huit,eight,acht 9,neuf,nine,neun 10,dix,ten,zen Polecenie cut 1,one 2,two 3,three 4,four 5,five 6,six 7,seven 8,eight 9,nine 10,ten

cut

6.4 Polecenie

sort $
sort +3 t, liczba

1,un,one,ein 2,deux,two,zwei 3,trois,three,drei 4,quatre,four,vier 5,cinq,five,funf 6,six,six,sechs 7,sept,seven,sieben 8,huit,eight,acht 9,neuf,nine,neun 10,dix,ten,zen Przykady :

8, huit,eight,acht

sort

3,trois,three,drei 1,un,one,ein 5,cinq,five,funf 9,neuf,nine,neun 6,six,six,sechs 7,sept,seven,sieben 4,quatre,four,vier 10,dix,ten,zen 2,deux,two,zwei

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 44

$ cat liczba 2,deux,two,zwei 8,huit,eight,acht 3,trois,three,drei 4,quatre,four,vier 1,un,one,ein 5,cinq,five,funf 10,dix,ten,zen 6,six,six,sechs 7,sept,seven,sieben 8,huit,eight,acht 9,neuf,nine,neun $ sort liczba 1,un,one,ein 10,dix,ten,zen 2,deux,two,zwei 3,trois,three,drei 4,quatre,four,vier 5,cinq,five,funf 6,six,six,sechs 7,sept,seven,sieben 8,huit,eight,acht 9,neuf,nine,neun $ sort n liczba 1,un,one,ein 2,deux,two,zwei 3,trois,three,drei 4,quatre,four,vier 5,cinq,five,funf 6,six,six,sechs 7,sept,seven,sieben 8,huit,eight,acht 9,neuf,nine,neun 10,dix,ten,zen $ sort -t, +3 liczba 8,huit,eight,acht 3,trois,three,drei

8,

Autor : Piotr Pitak GR PiS ds. informatyzacji 1,un,one,ein 5,cinq,five,funf 9,neuf,nine,neun 6,six,six,sechs 7,sept,seven,sieben 4,quatre,four,vier 10,dix,ten,zen 2,deux,two,zwei $ sort -t, +1 -2 5,cinq,five,funf 2,deux,two,zwei 10,dix,ten,zen 8,huit,eight,acht 9,neuf,nine,neun 4,quatre,four,vier 7,sept,seven,sieben 6,six,six,sechs 3,trois,three,drei 1,un,one,ein

Linux Podstawy uywania systemu

jjjj-07-tt strona 45

Polecenie sort

Polecenie more

wiczenia 5.1
wiczenie 1. Wywietl list uytkownikw uporzdkowan wedug ich nazwisk wiczenie 2. Wywietl atrybuty, najwikszego pliku, z twojego katalogu wiczenie 3. Wywietl zawarto pliku .profile. wiczenie 4. Wyszukaj w twoim katalogu wszystkie pliki modyfikowane w cigu jednego dnia wiczenie 5.

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 46

Wywietl wszystkie linie pliku .profile, ktre zawieraj znak # wiczenie 6. Wywietl nazw wszystkich plikw tekstowych z twojego katalogu domowego wiczenie 7. Wywietl nazwiska uytkownikw podczonych do twojego systemu (wycznie nazwiska) wiczenie 8. Polecenie ls -l wywietla znak - na pierwszej pozycji linii kiedy mamy do czynienia z plikiem regularnym, zastp znak - przez liter f

6.1 wiczenia
wiczenie 1. Wykonaj polecenia : $ cp /etc/passwd passwd2 $ ln passwd passwd2 Jeeli zmienimy plik passwd2, co si wydarzy ? wiczenie 2 Jaki rezultat otrzymasz po wykonaniu nastpujcego polecenia : $ ln passwd passwd3 . wiczenie 3. Odnajd wszystkie cza pliku : passwd wiczenie 4. Wykonaj polecenie rm passwd, ktre znosi wizanie passwd. Czy plik wskazywany przez wizanie jest jeszcze dostpny , jeli tak to w jaki sposb ?Czy mona odtworzy cze passwd, jeli tak to w jaki sposb ? wiczenie 5. Wykonaj kopie pliku /etc/group do twojego katalogu domowego, i nastpnie wykonaj polecenie : $ ln -s group group.lien Wywietl atrybuty pliku group.lien, czy jego uprawnienia pozwalaj na dostp do pliku group ?

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 47

Rozdzia 7 : Zarzdzanie procesami


7.1 Skrypty - pierwsze kroki w programowaniu
Skrypt jest plikiem tekstowym zawierajcym polecenia. Skrypt moemy utworzy przy pomocy kadego edytora dostpnego w systemie Linux (emacs,vi,vim). Poniewa, w naszym przypadku, poznalimy tylko vi, wic uyjemy tego wanie edytora do utworzenia kilku skryptw by zilustrowa najprostsze zasady programowania w bashu. Zalogujmy si jako administrator systemu (root) i po ukazaniu si na ekranie znaku zachty (przypominam, e w przypadku administratora jest to #) stworzymy plik o nazwie skrypt1 # vi skrypt1 #!/bin/bash_ cal who date ~ ~ ~ ~ ~ Wyjanienie : 1. kady skrypt musi zaczyna si od wypenienia pierwszej lini przez #!/bin/bash, ktra definiuje ciek dostpu do interpretatora, ktry wykona a raczej zinterpretuje polecenia zawarte w skrypcie. W naszym przypadku jest nim /bin/bash 2. utworzony pliku o nazwie skrypt1 jest plikiem zwykym, ktry nie moe by egzekwowany. Wykonajmy polecenie # ls -l skrypt1 -rw-r--r-- 1 piotr ola 15 marca 2004 skrypt1

Jak widzimy prawa uytkownika do pliku s ograniczone do jego czytania i modyfikowania, czonkowie grupy ola i i pozostali uytkownicy systemu mog go tylko czyta (czy wiesz dlaczego jeli nie powtrz rozdzia ). Utworzony plik skrypt1 musimy uczyni wykonalnym, innymi sowy chcemy mu nada prawo wykonywania, ale prawo to przypiszemy tylko jego wacicielowi. W tym celu musisz wykona nastpujce polecenie : # chmod u+x skrypt1 Po wykonaniu tego polecenia powtrzmy raz jeszcze polecenie ls -l ls -l skrypt1 -rwxr--r-- 1 piotr ola 15 marca 2004 skrypt1

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 48

Czy widzisz rnice ? 1, 2, 3 znak wywietlonej informacji pozostaj bez zmiany, natomiast czwarty zmienia si z - na x. Oznacza to, e skrypt1 jest plikiem wykonywalnym przez jego waciciela. Reszta wywietlonej informacji pozostaje bez bez zmian co oznacz, e czonkowie grupy oraz inni uytkownicy nie maj prawa wykonywa tego skryptu. Pytanie : w jaki inny sposb moesz przypisa prawa wykonywania pliku tylko przez jego waciciela ? 7 Po wykonaniu polecenia z punktu 2, nasz skrypt moe by wyegzekwowany jako polecenie skrypt1. # skrypt1

7.1.1 Przekazywanie parametrw do skryptu


Utwrzmy plik o nazwie katalog1, ktry bdzie zawiera tylko jedno polecenie : # vi katalog1 #!/bin/bash_ ls -aCF ~ ~ ~ ~ ~

Nastpnie nadajmy wszystkim uytkownikom prawo do jego wykonywania : # chmod a+x katalog1 W tym momencie skrypt katalog1 moemy wyegzekwowa, wiemy jednak, e lista plikw i podkatalogw wywietlona na ekranie dotyczyaby tylko katalogu biecego. Co moemy zrobi by otrzyma list plikw z innych katalogw bez kadorazowego poprawiania skryptu katalog1 ? Aby zautomatyzowa (przynajmniej czciowo) wywietlanie plikw w rnych katalogach, zastosujemy mechanizm przekazywania parametrw do skryptu. Jak pamitamy polecenie w linuksie skada si z samego polecenia np. ls , opcji np. l i argumentw n.p /usr. Zarwno opcje jak argumenty moemy nazwa parametrami. Nazwa skryptu jest te poleceniem, ktremu moemy przekaza parametry, z tym e parametry przekazywane do skryptu przypisywane s zmiennym, ktre oznaczamy jako $1, S2S9. $1 odpowiada pierwszemu argumentowi polecenia, $2 drugiemu itd. Co to w praktyce oznacza ? Przypumy, e chcemy wywietli na ekranie egzekwujc skrypt katalog1 zawarto katalogu /tmp, w tym celu wykonamy nastpujce polecenie :

katalog1 /tmp Jest to warto, ktr przyjmuje zmienna $1 (pierwszy argument

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 49

polecenia katalog1), z czego wynika, e nasz skrypt musimy zmieni w nastpujcy sposb : #!/bin/bash_ ls -aCF $1 ~ ~ ~ ~ ~ $1 przybiera zawsze warto pierwszego argumentu polecenia w tym wypadku /tmp, jeeli chcielibymy obejrze zawarto katalogu /usr to musimy wykona polecenie # katalog1 /usr $1 przybierze w tym wypadku warto /usr Dodajmy, e istnieje take zmienna $0 zawiera nazw skryptu (polecenia). Wiemy, e moemy skryptowi przekaza 9 parametrw od $1 do $9, Linux dostarcza nam take inne zmienne zdefiniowane w systemie, ktre uatwiaj programowanie w bashu : # * ? $ zmienna ta zawiera liczb parametrw przekazanych do skryptu zmienna ta zawiera list parametrw przekazanych do skryptu zmienna ta zawiera kod zwrotu ostatniego polecenia wykonanego przez skrypt zmienna ta zawiera numer procesu PID

7.3

Klasyfikacja procesw

Linux jest systemem wielozadaniowym, ktry umoliwia wykonywanie wielu polece jednoczenie. Egzekucja polecenia jest identyfikowana przez system przy pomocy numeru identyfikacyjnego PID przypisanego kademu procesowi, ktry jest egzekwowany (egzekucja polecenia uruchamia proces). System otrzymujc od uytkownika polecenie,uruchamia, czekajc na jego zakoczenie. O takim poleceniu mwimy, e jest pierwszoplanowe (foreground). Terminal jest zablokowany do momentu zakoczenia zadania. Wyobramy sobie (a nie jest to bynajmniej rzadkie), e wykonanie naszego polecenia (np polecenia find) moe trwa wiele minut. Rzecz jasna moemy zalogowa si na

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 50

innej konsoli wirtualnej i tam moemy uruchamia kolejne zadania. Innym sposobem postpowania z dugotrwaymi zadaniami jest uruchamianie ich w tle. Zadanie uruchamiamy jako drugoplanowe wpisujc na kocu linii polece znak ampresand & . Rnice midzy zadaniem pierwszoplanowym i drugoplanowym mona zilustrowa w nastpujcy Sposb

who ---------- who ------------ date (najpierw nastpuje egzekucja i wywietlenie date rezultatu polecenia who, a nastpnie date who& ------ ---------------------date& | | (jednoczesna egzekucja who i date)

| 7.4 Polecenia

9.4.1 Polecenie - ps
Polecenie - ps opcje - pozwala otrzyma informacje o odbywajcych si aktualnie w pamici komputera, procesach. Jeeli wykonujemy samo polecenie ps bez opcji to wtedy na ekranie ukazuj si procesy uytkownika, ktry wykona polecenie ps. Opcja -u nazwa uytkownika pozwala wyselekcjonowa procesy tego uytkownika dla wszystkich jego logowa. Inne opcje to -e wywietla informacje o wszystkich aktualnie odbywajcych si procesach -f wywietla, dla kadego procesu nastpujce informacje : - nazw uytkownika (UID) - numer procesu (PID) - numer ojca procesu (PPID) - godzin egzekucji procesu (STIME) - imie komputera (TTY) - czas egzekucji procesu (TIME) Przykady : $ ps PID 3408 10804 TTY pts/1 pts/1 TIME 0:00 0:20 CMD ps -ksh

Autor : Piotr Pitak GR PiS ds. informatyzacji $ ps -ef UID PID PPID

Linux Podstawy uywania systemu

jjjj-07-tt strona 51

C STIME TTY 0 0 0 0 0 0 0 0 0 0 May18 May18 May18 May18 May18 May18 May18 13:45 13:45 13:45 ? ? ? ? ? ? ? pts/0 pts/1 pts/0

TIME 00:00:03 00:00:08 00:00:00 00:00:00 00:00:03 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00

CMD init syslogd -m 0 /usr/sbin/atd crond inted sendmail httpd /bin/bash /bin/bash /bin/bash

root 1 0 root 300 1 daemon 327 1 root 343 1 root 359 1 root 411 1 root 444 1 piotr 11736 11731 piotr 11737 11732 piotr 11738 11733 $ ps -e PID TTY

TIME COMD

7.4.2 Polecenie - kill


Z uruchomionymi procesami moemy komunikowa sie przy pomocy sygnaw, to wanie polecenie kill umoliwia wysyanie rnych sygnaw do procesw zarwno pierwszo jak i drugoplanowych. Rodzaj sygnau jest okrelony przez jego numer lub nazw. $ kill -9 zlikwidowanie procesu

$ kill 19 zatrzymanie wykonywania procesu z moliwoci pniejszego jego Wznowienia $ kill 2 przerwanie wykonania procesu z klawiatury (Carl +c)

Mona zlikwidowa konkretny proces tylko trzeba zna jego numer PID $ ps -u piotr wywietla procesy uytkownika piotr

PID 250 259 $ kill 259 $ ps -u

TTY TIME COMD pts/1 0:02 bash ? 0:15 plika

piotr

PID

TTY TIME COMD

Autor : Piotr Pitak GR PiS ds. informatyzacji 250

Linux Podstawy uywania systemu pts/1 0:02 bash

jjjj-07-tt strona 52

7.5 Zarzdzanie pracami


Zapewne zwrcie ju uwag, ze w tym rozdziale wprowadzilimy nowe pojcia zadania. Czym jest zadanie i czym ono si rni od np polecenia procesu. Ot termin ten Rozpatrujemy nie w kontekcie systemu, lecz w kontekcie pracy konkretnego uytkownika np uruchomiony edytor tekstowy bdzie konkretnym procesem w systemie, ale te jednoczenie zadaniem uytkownika, ktry realizuje swj cel napisanie tekstu.. Czyli moemy okreli zadanie jako zlecenie systemowi przez uytkownika okrelonego dziaania. Zilustrujmy pojcie zadania na konkretnym przykadzie. Wykonamy nastpujce polecenie $ ls R /

Jak pamitasz polecenie ls wywietla pliki w katalogu (w tym przypadku wywietli co ?) Zatrzymajmy egzekucj tego polecenia przy pomocy kombinacji klawiszy [Ctrl] + z Na ekranie otrzymamy nastpujc informacje : [1]+ Stoppel Wykonajmy raz jeszcze : $ ls R / ls -R/

I raz jeszcze zatrzymajmy egzekucje polecenia. Otrzymamy nastpujce informacje na ekranie [2]+ Stoppel ls -R/

W tym momencie wykonamy polecenie jobs , ktre wywietla list zada na ekranie $ jobs [1]+ Stopped [2]+ Stopped ls -R/ ls -R/

Jeeli zastosujemy w poleceniu jobs opcje -l otrzymamy na ekranie cenne informacje $ jobs -l [1]+ Stopped [2]+ Stopped 122 123 ls -R/ ls -R/

Liczba 122 I 123 to numery bezwzgldnych identyfikatorw procesw PID. Do ponownego uruchomienia zatrzymanego zadania na pierwszym planie uywamy polecenia fg. Do ponownego uruchomienia zatrzymanego zadania na drugim planie uywamy polecenia bg.

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 53

Jeeli chcemy uruchomi , ktrych z zatrzymanych procesw ls R / to naley wykona $ fg Lub $ fg %2 %1

7. 6 wiczenia

wiczenie 1 Wykonaj polecenie ps i wyjanij znaczenie kadej wywietlonej kolumny wiczenie 2 Utwrz skrypt, ktry wywietla co 30 sekund dzien dobry. Moesz tego dokona uywajc polecenia : cat $ cat > dzien dobry #!/bin/bash While true do Banner dzien dobry done Ctrl-D $ Wyegzekwuj ten skrypt poza planem i wywietl jego PID, a nastpnie numer wykonywanego zadania

wiczenie 3 Zlikwiduj egzekucje tego skryptu uywajc jego nr. PID albo nr. zadania wiczenie 4 Wykonaj polecenie $ ps aux

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 54

Co otrzymasz na ekranie ? wiczenie 5 [123]+ Stopped [122]+ Stopped 522 523

Dziki jakiemu poleceniu otrzymamy powysze informacje ?

Rozdzia 9 : Wyraenia Regularne


Do tego celu wyraenia regularne bdce podstaw konstrukcji systemu Unix i Linux s idealnym narzdziem. Warto si z nimi zaznajomi gdy wbrew pozorom ich opanowanie nie jest zbyt trudne. Przedstawi tzw podstawowe symbole wyraenia regularne (BRE , Basic Regular Expression) oraz rozszerzone wyraenia regularne (ERE, extender Regular Expressions). Odkrycie wyrae regularnych zwizane jest z pierwszymi teoretycznymi pracami nad opisowymi jzykami symbolicznymi prowadzonymi przez matematyka Stephen Kleene (1909-1994). Sformuowa on pierwszy zaoenia umoliwiajce zdefiniowanie tzw zbiorw regularnych, wykorzystanych pocztkowo do przekazywania w sieciach neuronw informacji, a nastpnie zastosowanych do budowy kompilatorw. Trzeba jednak podkreli, e wyraania regularne maj zastosowanie take poza informatyk; stosuje si je w lingwistyce do tzw analizy tekstowej oraz do definiowania praw w gramatyce teoretycznej; w biologi do odszyfrowania sekwencji ludzkiego genomu, w neurologii; w elektronice do modelowania obwodw elektrycznych itd. Interdyscyplinarny aspekt wyrae regularnych jest szczeglnie wany w procesie nauczania. Sprbujmy odpowiedzie na pytanie : dlaczego praktyczne poznanie wyrae regularnych jest tak wane nie tylko dla informatykw, ale take np dla tych, ktrzy zajmuj si przerabianiem, wyszukiwaniem w Internecie - informacji? Aby przybliy czytelnikowi problem przedstawiony w tym rozdziale wyobramy sobie nastpujc sytuacje : jaki autor zredagowa tekst, ktrego kolejne rozdziay ponumerowa w nastpujcy sposb:

1-1, 1-2,

1-3, itd

i chce nastpnie zmieni form ich numeracji na

1.1, 1.2,

1.3.

Wyszukanie i zmienienie nazw rozdziaw wymaga przejrzenia caego tekstu co wie si z utrat sporej iloci czasu i zmczeniem, a wic moliwoci popenienia bdu. Wyraenia regularne czasami nazywane wyraeniami racjonalnymi dostarczaj nam regu, ktre umoliwiaj zdefiniowanie symboliczne tego czego szukamy, w tym wypadku liczby po ktrej nastpuje mylnik po ktrym znw nastpuje liczba. Wyraenie typu

1-1, 1-2,

1-3, itd

jest wyraeniem znakowym (lub literalnym) . Natomiast wyraenie typu \d-\d jest opisem abstrakcyjnym w/w wyrae znakowych, \d jest konwencj uywan w wyraeniach regularnych do oznaczenia zbioru

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 55

liczb cakowitych 0-9. Jednak jeli numer rozdziau bdzie wikszy od 9 np 10-1 lub 1-10 to wyraenie regularne \d-\d go nie odnajdzie, dlatego te musimy je uoglni na wszystkie liczby cakowite. W tym celu po literze d dorzucamy znak +, ktry oznacza wyszukaj jedn lub wiele liczb zawartych w zbiorze 0-9, otrzymujemy zapis

\d+-\d+
speniajcy wymogi naszego uoglnienia. Tak wic w przeciwiestwie do cigu literalnego typu 1-1, 100, abcd, FBR, wyraenia regularne mog w sposb abstrakcyjny przedstawi dowolny cig znakw.. Oto kilka typowych sytuacji w ktrych symbole wyrae regularnych s czsto uywane. - wyszukanie okrelonego cigu znakw np w tekcie dotyczcym chemii organicznej odnalezienie wszystkich terminw zaczynajcych si przedrostkiem ortho lub w spisie plikw znalezienie tych, ktre kocz si na .doc - zmiana tekstu w stronice Internetow - zmiana w tekcie formy pewnych sw np duo-literowych na mao-literowe lub odwrotnie - analiza prawomocnoci wartoci przekazanej : np oczekujemy, e uytkownik wystuka na klawiaturze adres elektroniczny lub liczb o szczeglnej formie : wyraenie regularne umoliwi wykrycie bdu - przeformatowanie ustrukturalizowanego tekstu : np bibliograficzna baza danych przedstawiona jest w formie, ktr chcemy zmieni umiejscawiajc dat publikacji po nazwisku autora a nie po tytule jak byo dotychczas. Przedstawi teraz tzw podstawowe symbole wyraenia regularne (BRE , Basic Regular Expression)

kropka : odpowiada dowolnemu pojedynczemu znakowi z wyjtkiem znaku przedstawiajcego koniec linii np wyraenie regularne b.l przedstawia zarwno sowo bal jak bol jak i kad inn kombinacje typu bel, bil, bpl, etc

[]

pozwala dopasowa dowolny znak ze zbioru zawartego midzy nawiasami, wszystkie znaki wystpujce midzy nawiasami maj zwyke znaczenie oprcz mylnika - , ktry jest uywany do tworzenia zakresu znakw np [a-z] oznacza kad ma liter alfabetu. Znak ^, ktry umiejscowiony na pocztku nawiasw [^ ] wyznacza negacje zbioru zdefiniowanego midzy nawiasami np [^0-9] oznacza wszystkie znaki oprcz 0,1,2,3,4,5,6,7,8,9 etc

gwiazdka dopasowuje zero lub wicej wystpie znakw poprzedzajcych *. Zwracamy uwag,

e gwiazdka w wyraeniach regularnych ma inne znaczenie ni gwiazdka w generowaniu nazwy plikw, w tym przypadku * oznacza dowolnie dugi take pusty cig rnych znakw. W wyraeniach regularnych dowolny cig dowolnych znakw zapisujemy jako .*

^
linii.

akcent w formie daszka wskazuje,e cig znakw wystpujcy po nim znajduje si na pocztku dolar jest przeciwiestwem ^ i wskazuje, e cig znakw , ktry go bezporednio poprzedza neutralizuje znaczenie znaku specjalnego np \$ bdzie oznacza znak dolara $ a nie znak

$ \

znajduje si na kocu wiersza

wyraenia regularnego wskazujcego, e cig znakw go poprzedzajcy znajduje si na kocu wiersza Interpretacja wyraenia regularnego

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 56

Przeanalizujmy kilka wyrae regularnych aby lepiej zrozumie ich dziaanie. Wyraenie, ktre pozwala w tekcie wyszuka linie biae (niezapisane) ,ma posta nastpujc :

^$
uywamy w nim tylko znaku ^ i $, ktre oznaczaj pocztek i koniec linii (wiersza).Wyraenie wskazuje, e pomidzy pocztkiem i kocem linii nie ma nic, co odpowiada linii cakowicie niezapisanej. Porwnajmy teraz dwa wyraenia regularne i sprbujmy dokadnie okreli rnice zachodzce pomidzy nimi.

WR1

^.*$

: WR2 ^.+$

W wyraeniu WR1 na 3 pozycji znajduje si gwiazdka natomiast w wyraaniu WR2 na tej samej pozycji znajduje si znak plus, co zmienia radykalnie zakres dziaania obu wyrae : WR1 wyszuka zarwno linie zapisane jak i niezapisane natomiast WR2 selekcjonuje tylko linie zapisane. Dlaczego? (sprbuj odpowiedzie na to sam) Sprbujmy znale znaczenie nastpujcego wyraenia regularnego : ^\* [0-9]*\. [0-9][0-9]\$.*$ Jak widzimy powysze wyraenie regularne, biorc pod uwag, e jest ono skomponowane z samych wieloznacznych symboli, moe sta si cakowicie niezrozumiae : jedyna metoda by odszyfrowa (jak w podanym przykadzie) jego znaczenie polega na dekompozycji wyraenia na mniejsze fragmenty poczynajc od strony lewej i posuwajc si w prawo. Postpujc w ten sposb nasz przykad moemy przedstawi w nastpujcej formie : 1 2 3 4 5 6 7 8 9 ^ \* [0-9]* \. [0-9][0-9] \$ .* $ 1. Na pierwszym miejscu ^, ktry oznacza, e poszukiwany cig znakw znajduje si na pocztku wiersza (linii) 2. Na drugim miejscu znajdujemy wyraenie \*, ktre znaczy, e pierwszy znak z tego cigu jest * (czy wiesz dlaczego ?) 3. 4. 5. 6. Na trzecim miejscu w szukanym cigu znakw znajduje si spacja Na czwartym miejscu wyraenie [0-9]* oznacza obojtnie jak liczb lub jej brak Na pitym miejscu znajdujemy wyraenie \., ktre oznacza e pitym znakiem cigu jest . Na szstym miejscu powinnimy znale liczb dwucyfrow

7. Na sidmym miejscu wyraenie \$ oznacz, e w tym miejscu musi koniecznie znajdowa si znak monetarny dolara : $ 8. Na smym miejscu znajdujemy wyraenie, ktre oznacza jakakolwiek liczba znakw (moe by zero) 9. Na dziewitym miejscu znajdujemy $, ktry oznacza koniec linii znak ten powinnimy rozpatrywa wsplnie z poprzedzajcym go wyraeniem .*, ktre jak pamitamy oznacza :

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 57

jakkolwiek liczb znakw z tego wynika, e wyraenie .*$ oznacza jakkolwiek liczb znakw do koca wiersza Z powyszej analizy wynika jeden bardzo wany wniosek : wyraenie .* mona uywa jako wyraenie regularne, lecz trzeba mie wiadomo, e uywane w formie wyizolowanej, jego uyteczno nie ma wikszego znaczenia, poniewa odpowiada ono poszukiwaniu pustego cigu znakw. Inaczej mwic poszukiwania cigu znakw korespondujcego wyraeniu .* zanim si rozpoczn ju si kocz znajdujc pusty cig znakw Rozszerzone wyraenia regularne

znak plus suy do wyszukania co najmniej jednego go poprzedzajcego, tak wic a+ oznacza jedna lub wiele liter a, natomiast a* wyszykuje 0 lub wicej znakw a + ( ) nawiasy su do grupowania wyrae regularnych n.p (bla)* pozwala znale w tekcie bla i
blabla blablabla etc. ? pozwala wyszuka 0 lub jedn obecno zdefiniowanego cigu znakw. Tak wic wyraenie (\.com)? pozwala wyszuka nazwy plikw koczce si na .com, przy czym nieobecno pliku o takim zakoczeniu jest dopuszczalna (0 lub) | pozwala wyszukiwa cigi znakw alternatywne

Przykady : $ cat plik 123 plik suy 45 do przedstawienia 678 podstawowych zaoe wyrae regularnych $ grep sluzy$ plik 123 plik sluzy $ grep i.*i plik #szukamy linii, ktra zawiera co najmniej dwie litery i #szukamy sluzy na kocu linii

45 do przedstawienia $ grep `^[a-zA-Z]* plik wyrae regularnych $ sed `s/^[0-9]*//` plik plik suy #znosimy numerowanie linii #wyszykujemy linie zawierajce tylko litry alfabetu

Autor : Piotr Pitak GR PiS ds. informatyzacji do przedstawienia podstawowych zaoe


wyrae regularnych

Linux Podstawy uywania systemu

jjjj-07-tt strona 58

$ ls -l | grep ^d drwxrwxr-x 2

#wyszykujemy katalogi piotr 1024.

$ ls -p | grep /$ $ ls a | grep ^\. . .. .profile

#wyszukujemy katalogi #wywietlamy tylko pliki zaczynajce si od .

9.1 Polecenie find


Polecenie find suy do wyszukiwania, wedug cile okrelonych kryteriw, pliku (lub plikw) w drzewie katalogowym. Jeeli kryteria s pozytywnie zweryfikowane (to znaczy plik lub pliki s znalezione) to wtedy moemy wykona na nich okrelone dziaania. Oglny wzr polecenia find wyglda nastpujco : find katalog [kryteria wyszukiwania] [kryteria egzekucji] Wyliczmy najpierw kryteria wyszukiwania -name plik -type plik szukany plik musi nazywa si plik.txt plik moe przyjmowa nastpujce wartoci f - plik regularny d - katalog c,b - pliki specjalne plik musi mie odpowiednia objto piotr plik ma waciciela ktry nazywa si piotr plik przynaley do grupy ada

-size -user

-group ada

Wyliczmy teraz kryteria egzekucji -print #wywietla ciek dostpu do znalezionego pliku

-exec cmd {} \; wykonuje polecenie cmde z argumentem pliku Operacje logiczne ET OU wyraenie w poleceniu find -a -b

Autor : Piotr Pitak GR PiS ds. informatyzacji NON

Linux Podstawy uywania systemu !

jjjj-07-tt strona 59

Posumy si kilkoma prostymi przykadami : $ find /home -name *.c -print #objanienie : szukamy w katalogu /home czyli szukamy pliku znajdujcych si u wszystkich uytkownikw - kryterium wyszukiwania dotyczy nazwy plikw (wskazuje na to name) nazwy te wyznaczone s przez *.c (czy mgby sam objani to wyraenie ? ), nastpnie jeeli kryteria wyszukiwania s pozytywnie zweryfikowane, wywietlamy je (-print kryterium egzekucji) na ekranie #wywietla tylko nazwy katalogw # wywietla z katalogu domowego tylko te pliki ktrych sufiks Rwna si c

$ find . type d -print $ find /home -name *c -print

$ find /home/piotr ! group users prinr # poszukiwanie plikw ktre nie nale do grupy users

9.2 Polecenie grep z wyraeniami regularnymi


Do nauki polecenia grep, ktre uywane jest z wyraeniami regularnymi musimy utworzy plik pozwalajcy zaprezentowa wszystkie moliwoci zarwno polecenia grep jak i wyrae regularnych. Dane zawarte w tym pliku mog wydawa si sztuczne lecz umoliwi nam one z wzgldnie wystarczajcym zapoznaniem si z omawianym tematem. Przy pomocy edytora vi (patrz rozdzia IX) utwrzmy plik o nazwie dataplik : $ vi dataplik i wprowadmy nastpujce dane :

Znaczenie danych zawartych w kolumnach Nazwa regionu Kregkato Kregkato Pregpod Cregcent Mregmazu Pregpod Wregwielko Greggda symbol regionu KA KA PO CE MA PO WK GD Imie i nazwisko dyrektora per. Liczba wykonanie liczba liczba Pododdziaw planu w % towarw personelu 23 23 25 19 14 25 35 58 .98. .98. .45. .74 .54. .45. .98. .69. \3\ \3\ \2\ \1\ \5\ \2\ \4\ \9\ 88 88 77 65 85 54 91 87

Jan Kowalski Piotr Pawlak Krzysztof Wrak Jola Kruk Urszula Kropiuk Zygmunt Malina Marian Kluska Katarzyna Polak

Autor : Piotr Pitak GR PiS ds. informatyzacji Cregcent CE

Linux Podstawy uywania systemu Mariusz Pol 19 .54. \1\

jjjj-07-tt strona 60 25

przypominam, e po wpisaniu danych naciskamy przycisk [Esc] nastpnie wystukujemy :, ktry ukazuje si w dolnym lewym rogu i wprowadzamy polecenie :wq. Plik dataplik jest utworzony i moemy go zacz testowa przy pomocy polecenia grep zawierajcego lub nie zawierajcego wyraenia regularne. Przykady : $ grep WK dataplik regwielko Wyjanienie : Na ekranie wywietlaj si linie zawierajce wyraenie regularne WK znajdujce si w pliku dataplik $ grep ^C dataplik Cregcent Cregcent CE CE Jola Kruk Mariusz Pol 19 19 .74 .54. \1\ \1\ 65 25 WK Marian Kluska 35 .98. \4\ 91

Wyjanienie : Na ekranie wywietlaj si wszystkie linie zaczynajce si od C $ grep 4$ dataplik Pregpod Wyjanienie : Na ekranie wywietlaj si linie koczce si cyfr 4 $ grep 4\. dataplik Cregcent Mregmazu Cregcent Wyjanienie : Na ekranie wywietlaj si linie zawierajce cyfr 4 po ktrej nastpuje kropka . i nastpnie spacja $ grep \\3\\ dataplik CE MA CE Jola Kruk Urszula Kropiuk Mariusz Pol 19 14 19 .74. .54. .54. \1\ \5\ \1\ 25 65 85 PO Zygmunt Malina 25 .45. \2\ 54

Autor : Piotr Pitak GR PiS ds. informatyzacji Kregkato 88 Kregkato Wyjanienie : KA KA

Linux Podstawy uywania systemu Jan Kowalski Piotr Pawlak 23 23 .98. .98.

jjjj-07-tt strona 61 \3\ \3\ 88

Na ekranie wywietlaj si linie zawierajce cyfr 3 obramowan przez \3\ $ grep ^[KW] dataplik Kregkato 88 Kregkato Wregwielko Wyjanienie : Na ekranie wywietlaj si wszystkie linie zaczynajce si o litery K albo W. $ grep [A-Z][A-] [A-Z][A-Z] Kregkato Greggda Wyjanienie : Na ekranie wywietlaj si linie zawierajce dwie due litery nastpujce natychmiast po sobie po ktrych wystpuje spacja i znw dwie due litery nastpujce natychmiast po sobie. $ grep ll* dataplik Cregcent Cregcent Wyjanienie : Na ekranie wywietlaj si linie zawierajce ma liter l po ktrej wystpuje zero lub wicej razy take maa litera l po ktrej nastpuje spacja CE CE Jola Krul Mariusz Poll 19 19 .74 .54. \1\ \1\ 65 25 KA GD AB Kowalski DA Polak 23 58 .98. .69. \3\ \9\ 88 87 KA KA WK Jan Kowalski Piotr Pawlak Marian Kluska 23 35 23 .98. .98. .98. \3\ \4\ \3\ 88 91

9.3 Edytor sed


Edytor sed czyli edytor strumienia linii jest narzdziem informatycznym uywanym do wyszukiwania wg wzorca opartego zazwyczaj na reguach zdefiniowanych w wyraeniach regularnych linii w pliku, do ich zmieniania wywietlania na ekranie czy te skierowywania rezultatw manipulacji do nowego pliku . Oglny wzorzec polecenia sed wyglda nastpujco : sed opcja wyszukiwany wzorzec nazwa_pliku

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 62

sed posiada nastpujce funkcje, ktrych zastosowanie przetestujemy w wiczeniach : Opcje -e -n -f ,plika> wielokrotne wywietlanie linii nie wywietla na ekranie linii, ktre nie byy zmodyfikowane plik plika zawiera program z wyraeniami sed

Znaki specjalne uywane przez edytor sed

^ $ . * []

wyszukuje linie zaczynajce si od wyrazu poprzedzonego tym znakiem n.p ^love wywietla wszystkie linie w pliku, ktre na pocztku maja love wyszukuje linie koczce sie wyrazem zakoczonym tym znakiem np love$ wywietla wszystkie linie w pliku, ktre na kocu maj love wyszukuje linie z jednym znakiem np /l..e/ wyszukuje linie zawierajce l po Nim dwa obojtnie jakie znaki zakoczone znakiem e wyszukuje zero lub wicej linii poszukiwanego cigu znakw / *love/ wyszukuje linie z Zerem lub wicej spacji po ktrej nastpuje sowo love wyszukuje jeden znak w danym zbiorze n.p /[Ll]ove/ wyszukuje linie, ktre zawieraj Sowo love lub Love n.p /[^A-KM-Z]ove/ wyszukuje linie nie Zawierajce zbioru od A do Z lub od M do i zakoczone ove

[^ ] wyszukuje jeden znak nie zawarty w zbiorze


Funkcje s

zmiana jednego cigu znakw na inny n.p $ sed s/root/adm/g /etc/passwd

zmiana w pliku /etc/passwd sowa root na adm d usuwanie linii

c zmiana tekstu w danej linii na nowy tekst a dorzucenie nowych linii

p wywietlenie wszystkich linii zawartych w pliku g dotyczy caoci pliku

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 63

Przetestujemy teraz funkcjonowanie sed uywajc do tego celu tego samego pliku dataplik ktrego zawarto drukujemy poniej. Nazwa regionu Kregkato Kregkato Pregpod Cregcent Mregmazu Pregpod Wregwielko Greggda Cregcent symbol regionu KA KA PO CE MA PO WK GD CE Imie i nazwisko dyrektora per. Liczba Pododdziaw 23 23 25 19 14 25 35 58 19 Plan w% .98. .98. .45. .74 .54. .45. .98. .69. .54. liczba liczba towarw personelu \3\ \3\ \2\ \1\ \5\ \2\ \4\ \9\ \1\ 88 88 77 65 85 54 91 87 25

AB Kowalski Piotr Pawlak Krzysztof Wrak Jola Krul Urszula Kropiuk Zygmunt Malina Marian Kluska DA Polak Mariusz Poll

$ sed 4q dataplik Kregkato Kregkato Pregpod Cregcent KA KA PO CE AB Kowalski Piotr Pawlak Krzysztof Wrak Jola Krul 23 23 25 19 .98. .98. .45. .74 \3\ \3\ \2\ \1\ 88 88 77 65

Wyjanienie : wywietlamy tylko 4 pierwsze linie $ sed /KA/p dataplik Kregkato Kregkato Pregpod Cregcent Mregmazu Pregpod Wregwielko Greggda Cregcent KA KA PO CE MA PO WK GD CE AB Kowalski Piotr Pawlak Krzysztof Wrak Jola Krul Urszula Kropiuk Zygmunt Malina Marian Kluska DA Polak Mariusz Poll 23 23 25 19 14 25 35 58 19 .98. .98. .45. .74 .54. .45. .98. .69. .54. \3\ \3\ \2\ \1\ \5\ \2\ \4\ \9\ \1\ 25 65 85 54 91 87 88 88 77

Wyjanienie : wywietlamy z opcja p cao pliku mimo istnienia /KA/

$ sed -n /KA/p dataplik Kregkato Kregkato KA KA AB Kowalski Piotr Pawlak 23 23 .98. .98. \3\ \3\ 88 88

Wyjanienie : to opcja n umoliwia nam wywietlenie linii zawierajcych poszukiwany cig znakw W tym wypadku /KA/

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 64

$ sed 2d dataplik Nazwa regionu Kregkato Pregpod Cregcent Mregmazu Pregpod Wregwielko Greggda Cregcent symbol regionu KA PO CE MA PO WK GD CE Imie i nazwisko dyrektora per. Liczba wykonanie liczba liczba Pododdziaw planu w % towarw personelu 23 25 19 14 25 35 58 19 .98. .45. .74 .54. .45. .98. .69. .54. \3\ \2\ \1\ \5\ \2\ \4\ \9\ \1\ 25 65 85 54 91 87 88 77

AB Kowalski Krzysztof Wrak Jola Krul Urszula Kropiuk Zygmunt Malina Marian Kluska DA Polak Mariusz Poll

Wyjanienie : usunicie drugiej linii z pliku $ sed 5,$d dataplik Pregpod Wregwielko Greggda Cregcent PO WK GD CE Zygmunt Malina Marian Kluska DA Polak Mariusz Poll 25 35 58 19 .45. .98. .69. .54. \2\ \4\ \9\ \1\ 54 91 87 25

Wyjanienie : usunicie wszystkich linii do pitej linii od koca

$ sed $d dataplik Kregkato Kregkato Pregpod Cregcent Mregmazu Pregpod Wregwielko Greggda KA KA PO CE MA PO WK GD AB Kowalski Piotr Pawlak Krzysztof Wrak Jola Krul Urszula Kropiuk Zygmunt Malina Marian Kluska DA Polak 23 23 25 19 14 25 35 58 .98. .98. .45. .74 .54. .45. .98. .69. \3\ \3\ \2\ \1\ \5\ \2\ \4\ \9\ 88 88 77 65 85 54 91 87

Wyjanienie : usunicie ostatniej linii

$ sed /KA/d dataplik Pregpod Cregcent Mregmazu Pregpod Wregwielko PO CE MA PO WK Krzysztof Wrak Jola Krul Urszula Kropiuk Zygmunt Malina Marian Kluska 25 19 14 25 35 .45. .74 .54. .45. .98. \2\ \1\ \5\ \2\ \4\ 77 65 85 54 91

Autor : Piotr Pitak GR PiS ds. informatyzacji Greggda Cregcent GD CE

Linux Podstawy uywania systemu DA Polak Mariusz Poll 58 19 .69. .54. \9\

jjjj-07-tt strona 65 87

Wyjanienie : usunicie linii zawierajcych cig znakw KA

$ sed 2,3d dataplik Kregkato Cregcent Mregmazu Pregpod Wregwielko Greggda Cregcent KA CE MA PO WK GD CE AB Kowalski Jola Krul Urszula Kropiuk Zygmunt Malina Marian Kluska DA Polak Mariusz Poll 23 19 14 25 35 58 19 .98. .74 .54. .45. .98. .69. .54. \3\ \1\ \5\ \2\ \4\ \9\ \1\ 88 65 85 54 91 87 25

Wyjanienie : usunicie 2 i 3 linii

$ sed s/KA/KT/ dataplik Kregkato Kregkato Pregpod Cregcent Mregmazu Pregpod Wregwielko Greggda Cregcent KT KA PO CE MA PO WK GD CE AB Kowalski Piotr Pawlak Krzysztof Wrak Jola Krul Urszula Kropiuk Zygmunt Malina Marian Kluska DA Polak Mariusz Poll 23 23 25 19 14 25 35 58 19 .98. .98. .45. .74 .54. .45. .98. .69. .54. \3\ \3\ \2\ \1\ \5\ \2\ \4\ \9\ \1\ 88 88 77 65 85 54 91 87 25

Wyjanienie : zmiana cigu znakw KA na KT ale tylko w pierwszej napotkanej sekwencji Czy wiesz jak opcje trzeba dorzuci by w linii drugiej te dokona analogicznej zmiany ?

$ sed s/KA/KT/g dataplik

Autor : Piotr Pitak GR PiS ds. informatyzacji Kregkato Kregkato Pregpod Cregcent Mregmazu Pregpod Wregwielko Greggda Cregcent KT KT PO CE MA PO WK GD CE

Linux Podstawy uywania systemu AB Kowalski Piotr Pawlak Krzysztof Wrak Jola Krul Urszula Kropiuk Zygmunt Malina Marian Kluska DA Polak Mariusz Poll 23 23 25 19 14 25 35 58 19 .98. .98. .45. .74 .54. .45. .98. .69. .54. \3\ \3\ \2\ \1\ \5\ \2\ \4\ \9\ \1\

jjjj-07-tt strona 66 88 88 77 65 85 54 91 87 25

Wyjanienie : wanie opcje g

$ -n s/^Cre/Ine/p dataplik Inegcent Inegcent CE CE Jola Krul Mariusz Poll 19 19 .74 .54. \1\ \1\ 65 25

Wyjanienie : jak pamitamy opcja n oznacza wywietlenie tylko linii zmodyfikowanych, w Tym wypadku tych w zamieniono cig znakw Cre na Ine

$ sed /Kowalski/,/Kropiuk/d dataplik Pregpod Wregwielko Greggda Cregcent PO WK GD CE Zygmunt Malina Marian Kluska DA Polak Mariusz Poll 25 35 58 19 .45. .98. .69. .54. \2\ \4\ \9\ \1\ 54 91 87 25

Wyjanienie : usunicie linii od linii zawierajcej cig znakw Kowalski do linii zawierajcej cig znakw Kropiuk

$ sed -n /^Pre/p dataplik Pregpod Pregpod PO PO Krzysztof Wrak Zygmunt Malina 25 25 .45. .45. \2\ \2\ 77 54

Wyjanienie : wywietlamy tylko linie zawierajce na pocztku cig znakw Pre $ sed -n s/Krul/Wrak/gp dataplik Cregcent CE Jola Wrak 19 .74 \1\ 65

Autor : Piotr Pitak GR PiS ds. informatyzacji

Linux Podstawy uywania systemu

jjjj-07-tt strona 67

Wyjanienie : wywietlamy tylko lini gdzie dokonano zamiany cigu znakw Krul na Wrak

Reszta przykadw jest bardziej skomplikowana musisz wiedzie, e wyraenie \()\ numerowanie cigu znakw, ktre chcesz zamieni. Sprbuj rozszyfrowa

ponisze przykady

$ sed -n s/\Pa\)wlak/\liwoda/p datafile Kregkato Wyjanienie : $ sed /Kowalski/,/Kropiuk/d dataplik Pregpod Wregwielko Greggda Cregcent Wyjanienie : $ sed s/\\[0-9]\\/\*[0-9]\*/p dataplik Kregkato Kregkato Pregpod Cregcent Mregmazu Pregpod Wregwielko Greggda Cregcent Wyjanienie : $ sed /Kato/,/pod/s/$/@@/ dataplik Kregkato Kregkato Pregpod Nazwa KA KA PO symbol AB Kowalski Piotr Pawlak Krzysztof Wrak Imie i nazwisko 23 23 25 Liczba .98. .98. .45. \3\ \3\ \2\ 88@@ 88@@ 77@@ liczba KA KA PO CE MA PO WK GD CE AB Kowalski Piotr Pawlak Krzysztof Wrak Jola Krul Urszula Kropiuk Zygmunt Malina Marian Kluska DA Polak Mariusz Poll 23 23 25 19 14 25 35 58 19 .98. .98. .45. .74 .54. .45. .98. .69. .54. *3* *3* *2* *1* *5* *2* *4* *9* *1* 88 88 77 65 85 54 91 87 25 PO WK GD CE Zygmunt Malina Marian Kluska DA Polak Mariusz Poll 25 35 58 19 .45. .98. .69. .54. \2\ \4\ \9\ \1\ 54 91 87 25 KA Piotr Paliwoda 23 .98. \3\ 88

wykonanie liczba

Autor : Piotr Pitak GR PiS ds. informatyzacji regionu Kregkato Kregkato Pregpod Cregcent Mregmazu Pregpod Wregwielko Greggda Cregcent regionu KA KA PO CE MA PO WK GD CE

Linux Podstawy uywania systemu dyrektora per. Pododdziaw 23 23 25 19 14 25 35 58 19

jjjj-07-tt strona 68 planu w % towarw personelu .98. .98. .45. .74 .54. .45. .98. .69. .54. \3\ \3\ \2\ \1\ \5\ \2\ \4\ \9\ \1\ 88 88 77 65 85 54 91 87 25

AB Kowalski Piotr Pawlak Krzysztof Wrak Jola Krul Urszula Kropiuk Zygmunt Malina Marian Kluska DA Polak Mariusz Poll

-rw-rr-- 1 piotr -rwxrr-- 1 root 10 blocks

Oracle sys

0 May 3 15:14 2003, plik1 514 May 15 16:14 2003, plik1

You might also like