uvod u unix

50
Uvod u UNIX Damir Krstinić damir.krstinic@fe sb.hr

Upload: aggie

Post on 12-Jan-2016

53 views

Category:

Documents


1 download

DESCRIPTION

Uvod u UNIX. Damir Krstinić [email protected]. Operacijski sustav - UNIX. Operacijski sustav je program koji kontrolira resurse računala UNIX je višekorisnički, višezadaćni operacijski sustav Djelovi UNIX-a Kernel (jezgra) Shell (ljuska) File system (datotečni sustav) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Uvod u UNIX

Uvod u UNIX

Damir Krstinić

[email protected]

Page 2: Uvod u UNIX

Operacijski sustav - UNIX

Operacijski sustav je program koji kontrolira resurse računala

UNIX je višekorisnički, višezadaćni operacijski sustav– Djelovi UNIX-a

Kernel (jezgra) Shell (ljuska) File system (datotečni sustav) Aplikacijski programi

Page 3: Uvod u UNIX

Kernel (jezgra)

Kernel je centralni dio operacijskog sustava koji se učitavaa pri podizanju sustava, a upravlja računalnim sklopovljem.

Poznavanje jezgre operacijskog sustava nije nužno za korištenje računala

Page 4: Uvod u UNIX

Shell (ljuska)

Ljuska je interpreter naredbi. Njezini zadaci su:– Primanje korisničkih naredbi– Pokretanje korisničkih programa i komunikacija sa

jezgrom– Prikazivanje rezultata na zaslonu

Prilikom spajanja na računalo, po uspješnoj identifikaciji, nalazimo se u početnoj ljusci

Page 5: Uvod u UNIX

File system (datotečni sustav)

UNIX datotečni sustav organiziran je u obliku stabla (tzv. Datotečno stablo)

/ (root)

/bin /home /usr /tmp/var/etc

/home/user1 /home/user2 /home/user3

Page 6: Uvod u UNIX

Korisnički programi

Najčešće funkcije korisničkih programa:– Upravljanje datotekama– Uređivanje teksta– Mrežne usluge– Itd.

UNIX korisnički programi su modularni. Pojedinačni programi mogu se udruživati u veće cjeline

Page 7: Uvod u UNIX

Tipovi datoteka

Obične datoteke– Koriste se za spremanje informacija raznog tipa

(tekst, slike, programi, itd.) Direktoriji

– Točke grananja datotečnog stabla, sadrže druge datoteke (uključujući druge direktorije)

Simbolički linkovi– Simbolički link je datoteka koja pokazuje na neku

drugu datoteku

Page 8: Uvod u UNIX

Tipovi datoteka

Specijalne datoteke– Točke u datotečnom sustavu koje predstavljaju

hardwerske uređaje (diskovi, printeri, ...) Socket

– Koriste se za komunikaciju među procesima, bilo lokalno ili putem mreže

FIFO– Slično kao socket, služi za lokalnu komunikaciju

među procesima

Page 9: Uvod u UNIX

Tipovi datoteka

Na UNIX-u vrijedi princip:

Sve je datotekaSve je datoteka– Normalne datoteke– Direktoriji– Komunikacijske pristupne točke– Sklopovlje računala

Page 10: Uvod u UNIX

Korisnički račun (account)

Svaki korisnik ima svoj korisnički račun. – Korisnički račun čini skup resursa računala koje

korisnik može koristiti

Identifikacija korisnika:– username (korisničko ime, login)– password (lozinka)

Page 11: Uvod u UNIX

Prijava na UNIX računalo

SunOS 5.7

login:dkrst

System Password:

Last login: Tue Oct 14 19:43:02 from adria.fesb.hr

Sun Microsystems Inc. SunOS 5.7 Generic October 1998

Tue Oct 14 19:47:13 MET DST 2003

/home/dkrst

marjan.fesb.hr>

Page 12: Uvod u UNIX

Upravljanje ljuskom

Nakon uspješnog spajanja na sustav, korisnik se nalazi u korisničkoj ljusci

Format UNIX naredbe:

/> naredba [opcije] [argumenti]

Page 13: Uvod u UNIX

passwd - promjena lozinke

marjan.fesb.hr> passwd

passwd: Changing password for dkrst

Enter login password:

New password:

Re-enter new password:

passwd (SYSTEM): passwd successfully changed for dkrst

marjan.fesb.hr>

Page 14: Uvod u UNIX

Odjava sa UNIX računala

Nakon završetka rada, potrebno se odjaviti sa UNIX računala (logout ,exit)marjan.fesb.hr> logout

Connection closed by foreign host. Odjavu je moguće napraviti istovremenim

pritiskom na tipke CTRL i D (^D)

Page 15: Uvod u UNIX

ls – pregled sadržaja direktorija

Naredba ls služi za pregled sadržaja direktorija– Opcije –al daju detaljan ispis sadržaja direktorija

marjan.fesb.hr> ls -al

total 5472

drwx------ 3 dkrst other 512 Feb 10 2003 .

drwx------ 4 dkrst other 512 Feb 3 2003 ..

drwx------ 7 dkrst other 4608 May 9 2001 HTTPClient

-rw-r--r-- 1 dkrst other 2785280 Feb 3 2003 HTTPClient.tar

lrwxrwxrwx 1 dkrst other 9 Feb 10 2003 robots -> ../robots

marjan.fesb.hr>

Page 16: Uvod u UNIX

Struktura direktorija

Svaki direktorij može sadržavati datoteke raznih tipova uključujući i druge direktorije

drwx------ 3 dkrst other 512 Feb 10 2003 .

drwx------ 4 dkrst other 512 Feb 3 2003 ..

drwx------ 7 dkrst other 4608 May 9 2001 HTTPClient

-rw-r--r-- 1 dkrst other 2785280 Feb 3 2003 HTTPClient.tar

Svaki direktorij sadrži pokazivač na samog sebe i Svaki direktorij sadrži pokazivač na samog sebe i na svoj roditeljski direktorijna svoj roditeljski direktorij

Radni direktorij

Roditeljski direktorij

Page 17: Uvod u UNIX

pwd – radni direktorij

Naredbom pwd dobijamo apsolutni put do trenutnog radnog direktorijamarjan.fesb.hr> pwd

/home/dkrst/java/packages

Apsolutni put uvijek počinje od root direktorija (/)

Page 18: Uvod u UNIX

cd – promjena radnog direktorija

Radni direktorij možemo zadati apsolutno ili relativno (u odnosu na trenutni radni direktorij)

marjan.fesb.hr> cd /home/dkrst/java/home/dkrst/javamarjan.fesb.hr> cd robots/home/dkrst/java/robotsmarjan.fesb.hr>

Page 19: Uvod u UNIX

mkdir – kreiranje direktorija

marjan.fesb.hr> mkdir vjezba1marjan.fesb.hr> cd vjezba1/home/dkrst/tmp/vjezba/vjezba1marjan.fesb> ls -altotal 4drwx------ 2 dkrst other 512 Oct 15 10:39 .drwx------ 3 dkrst other 512 Oct 15 10:39 ..marjan.fesb.hr>

Pokazivači na radni i roditeljski direktorij stvaraju se automatski

Page 20: Uvod u UNIX

rmdir – brisanje direktorija

marjan.fesb.hr> ls -altotal 8drwx------ 3 dkrst other 512 Oct 15 10:51 .drwx------ 5 dkrst other 512 Oct 15 10:36 ..-rw------- 1 dkrst other 30 Oct 15 10:37 dat1.txtdrwx------ 2 dkrst other 512 Oct 15 10:39 vjezba1marjan.fesb.hr> rmdir vjezba1marjan.fesb.hr> ls -altotal 6drwx------ 2 dkrst other 512 Oct 15 10:51 .drwx------ 5 dkrst other 512 Oct 15 10:36 ..-rw------- 1 dkrst other 30 Oct 15 10:37 dat1.txtmarjan.fesb.hr>

Page 21: Uvod u UNIX

Skraćene oznake direktorija

. - tekući radni direktorij

.. - roditeljski direktorij

~ - home direktorij korisnikamarjan.fesb.hr> cd ~

marjan.fesb.hr> pwd

/home/dkrst

marjan.fesb.hr> cd vjezba

marjan.fesb.hr> cd ..

marjan.fesb.hr> pwd

/home/dkrst

Page 22: Uvod u UNIX

cp – kopiranje datoteka

Naredba cp služi za kopiranje datoteka i direktorijamarjan.fesb.hr> ls

dat1.txt

marjan.fesb.hr> cp dat1.txt dat2.txt

marjan.fesb.hr> ls

dat1.txt dat2.txt

marjan.fesb.hr>

Page 23: Uvod u UNIX

mv – premještanje datoteka

Naredba mv služi za premještanje (i promjenu imena) datoteka i direktorijamarjan.fesb.hr> ls

dat1.txt dat2.txt

marjan.fesb.hr> mv dat2.txt nova.txt

marjan.fesb.hr> ls

dat1.txt nova.txt

marjan.fesb.hr>

Page 24: Uvod u UNIX

rm – brisanje datoteka

marjan.fesb.hr> ls

dat1.txt nova.txt

marjan.fesb.hr> rm nova.txt

rm: remove nova.txt (yes/no)? y

marjan.fesb.hr> ls

dat1.txt

gustav.csc.unist.hr>

Brisanje datoteke je neopozivo!Brisanje datoteke je neopozivo!

Page 25: Uvod u UNIX

man – pomoć za UNIX naredbe

Naredba man daje pomoć za navedenu UNIX naredbu/> man ls - pomoć za ls

/> man man - pomoć za man

Naredba man vrlo je važna i treba je koristiti uvijek kada trebamo pomoć za neku naredbu!

Page 26: Uvod u UNIX

Prava pristupa datotekama

Vlasnik datoteke određuje prava pristupa– Svaka datoteka ima svog vlasnika– Prava pristupa mogu se zasebno definirati za

vlasnika datoteke, grupu korisnika kojoj vlasnik pripada, te za sve ostale korisnike sustava

Prava pristupa: Čitanje - r pisanje - w Izvršavanje - x

Page 27: Uvod u UNIX

Prava pristupa datotekama

-rw-r--r-- 1 dkrst users r w x r w x r w x

vlasnik grupa ostaliPrimjer:

-rw-r--r--– vlasnik: pravo čitanja (r) i pisanja (w)– grupa: pravo čitanja (r)– ostali: Pravo čitanja (r)

Page 28: Uvod u UNIX

chmod – promjena prava pristupa

Naredbom chmod vlasnik datoteke mijenja prava pristupa

chmod <prava> <datoteka> Prava pristupa moguće je zadati:

– apsolutno – simbolički

Page 29: Uvod u UNIX

Apsolutna prava pristupa

Apsolutna prava pristupa:_ r w x r w x r w x 1/0 | 1/0 | 1/0 | 1/0 | 1/0 | 1/0 | 1/0 | 1/0 | 1/0 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1

– Apsolutna prava pristupa dobivaju se pojedinačno za vlasnika, grupu i ostale korisnike zbrajanjem vrijednosti tri binarne znamenke koje određuju prava pristupa

chmod 0644 dat1.txt vlasnik: rw; grupa: r; ostali: r

Page 30: Uvod u UNIX

Simbolička prava pristupa

• Dodavanje ili oduzimanje prava pristupa na osnovi simboličke oznake

u – vlasnikg – grupao – ostalia –svi korisnici

chmod ug+w dat1.txtdodavanje prava pisanja za vlasnika i grupuchmod o-w dat1.txtskidanje prava čitanja za ostale korisnike sustavachmod a+r dat1.txtdavanje prava čitanja za sve korisnike

Page 31: Uvod u UNIX

Prava pristupa za direktorije

Pravo čitanja, pisanja i izvršavanja na direktoriju imaju slijedeće značenje:– r (čitanje) – pravo pregledavanja sadržaja

direktorija– w (pisanje) – pravo izmjene sadržaja direktorija– x (izvršavanje) – pravo otvaranja datoteka u

direktoriju

Page 32: Uvod u UNIX

Pregledavanje sadržaja datoteke

Sadržaj datoteke moguće je dobiti korištenjem naredbe catmarjan.fesb.hr> cat dat1.txt

Ovo je prvi red teksta.

Drugi red...

marjan.fesb.hr>

Za datoteke koje ne stanu na jedan ekran mogu se koristiti naredbe more ili less

Page 33: Uvod u UNIX

Povezivanje datoteka

ln - kreiranje pokazivača na datoteku

– Hard link:

/> ln dat1.txt dat2.txt– Soft link:

/> ln –s dat1.txt dat3.txt

Page 34: Uvod u UNIX

Environment varijable

Environment varijable postavlja korisnik:– $HOME– $PATH– ...

Postavljanje vrijednost environment varijable:/> setenv PATH ./:$PATH

Environment varijable mogu se postaviti u inicijalizacijskim datotekama ljuske

Page 35: Uvod u UNIX

Standardni ulaz i izlaz naredbi

Svaka UNIX naredba ima– stdin - standardni ulaz– stdout - standardni izlaz– stderr - standardni izlaz za greške

Uobičajena vrijednost za standardni ulaz je tipkovnica Uobičajene vrijednosti za standardni izlaz i standardni

izlaz za pogreške je korisnički terminal

Page 36: Uvod u UNIX

Preusmjeravanje standardnog izlaza

Standardni izlaz naredbe (stdout) moguće je preusmjeriti u datoteku– Upiši u stvorenu datoteku: >– Dodaj na kraj postojeće datoteke: >>

/> ls –al > out.txt

/> pwd >> out.txt

/> cat out.txt - prikazuje sadržaj datoteke

Page 37: Uvod u UNIX

Preusmjeravanje izlaza za greške

– Upiši u stvorenu datoteku: >&– Dodaj na kraj postojeće datoteke: >>&

Primjeri:/> ls –al >& err.txt – preusmjerava izlaz za greške

/> (cat err.txt > /tmp.txt) >& ~/err1.txt – Gornja naredba preusmjerava standardni izlaz u datoteku /tmp.txt (datoteka tmp u root direktoriju), te standardni izlaz za greške u datoteku ~/err1.txt (datoteka err1.txt u home direktoriju korisnika)

Page 38: Uvod u UNIX

Preusmjeravanje ulaza naredbi

– Preusmjeravanje naredbi iz datoteke: </> cat > test

ls –al

<CTRL - D>

/> /bin/tcsh < test

total 24

drwxr-xr-x 2 dkrst 110 4096 Oct 21 19:26 .

drwx--x--x 21 dkrst fesb 4096 Oct 21 19:26 ..

-rw-r--r-- 1 dkrst 110 33 Oct 21 19:02 dat1.txt

-rw-r--r-- 1 dkrst 110 34 Oct 21 19:02 dat2.txt

-rw-r--r-- 1 dkrst 110 339 Oct 21 19:05 out.txt

-rw-r--r-- 1 dkrst 110 8 Oct 21 19:26 test

Oznaka za kraj datoteke

tcsh - ljuska

Page 39: Uvod u UNIX

Ulančavanje naredbi

Više UNIX naredbi povezuju se u cjelinu uporabom operatora |

/> cat /etc/passwd | sort | less

aalagic:x:23722:111:Alen Alagic,student:/home/aalagic:/bin/csh

aalujevi:x:21419:111:Ana Alujevic,student:/home/aalujevi:/bin/csh

aandrun:x:20980:111:Adriano Andrun,student:/home/aandrun:/bin/csh

aarmanda:x:22378:111:Ante Armanda,student:/home/aarmanda:/bin/csh

....

Page 40: Uvod u UNIX

Ulančavanje naredbi

Standardni izlaz naredbe s lijeve strane operatora | povezan je na standardni ulaz naredbe s desne strane operatora

Upotrebom operatore |& povezuju se standardni izlaz i standardni izlaz za greške naredbe sa lijeve strane operatora na standardni ulaz naredbe sa desne strane operatora

Page 41: Uvod u UNIX

Procesi

Programi koji se izvršavaju u memoriji UNIX računala nazivaju se procesi– Svakom procesu dodjeljen je skup resursa računala

(dio procesorskog vremena, memorija, ...)– Proces je način na koji UNIX upravlja resursima

pokrenutog programa

Page 42: Uvod u UNIX

Procesi

Parametri procesa:– PID – jedinstveni identifikacijski broj procesa– PPID – PID roditeljskog procesa– UID i GID – vlasnik i grupa procesa– EUID i EGID – efektivni UID i GID– Kontrolni terminal– Prioritet procesa

Page 43: Uvod u UNIX

Procesi

Stanja procesa:Runnable - aktivni proces

Sleeping - proces koji čeka na resurse

Swapped - proces nije u memoriji

Zombie - završeni proces koji nemože biti izbrisan

Stopped - zaustavljeni proces (ne izvršava se)

Page 44: Uvod u UNIX

ps – popis aktivnih procesa

/> ps - popis vlastitih aktivnih procesa PID TTY TIME CMD 2480 tty1 00:00:00 tcsh 2504 tty1 00:00:00 startx

/> ps -e - popis svih aktivnih procesa PID TTY TIME CMD 1 ? 00:00:06 init 2 ? 00:00:04 kflushd 3 ? 00:00:02 kupdate 4 ? 00:00:00 kswapd

...

Page 45: Uvod u UNIX

kill – slanje signala procesu

/> kill –KILL 2480 - ubijanje procesa 2480

/> kill –HUP 2480 - resetiranje procesa 2480

man kill - pomoć za naredbu kill

Page 46: Uvod u UNIX

Pokretanje procesa u pozadini

Korištenjem operatora & iza naredbe, proces se pokreće u pozadini

/> emacs& - pokretanje editora Emacs u pozadini

Nakon pokretanja procesa u pozadini, korisnik se nalazi u ljusci i može zadavati nove naredbe– Bez operatora &, nove naredbe ljuska prima tek

nakon završetka pokrenutog procesa

Page 47: Uvod u UNIX

Editori

Editori u tekstualnom modu:– vi, pico, ...– Zgodni za brze promjene u datoteci

Editori u grafičkom modu:– Emacs, Xemacs, ...– Ugodniji za rad– Emacs ima ugrađenu podršku za različite formate

datoteka (C, C++, Java, Latex, ...)

Page 48: Uvod u UNIX

Povezivanje sa udaljenim računalom

Program telnet služi za povezivanje i rad na udaljenom računalu

/> ssh [email protected]

Trying 161.53.166.3...

Connected to marjan.fesb.hr.

Escape character is '^]'.

Password:

Page 49: Uvod u UNIX

Zadatak

1. U svome home direktoriju stvorite direktorij unix (naredba mkdir)

2. U direktoriju unix stvorite datoteku index.html i u nju upišite proizvoljan tekst. Upotrebite neki od ranije navedenih editora.

3. Svim korisnicima sustava dozvolite čitanje datoteke index.html (naredba chmod)

Page 50: Uvod u UNIX

Zadatak

4. U svom home direktoriju stvorite direktorij public_html (ukoliko već ne postoji)

5. U direktoriju public_html stvorite simbolički link na direktorij unix (naredba ln –s)

6. Na direktorijima public_html i unix dajte pravo čitanja i izvršavanja svim korisnicima

7. U direktoriju unix stvorite direktorij vjezbe