Download - Uvod u Unix
Uvod u UNIX
Administracija operacijskih sustava AOS2
AOS21 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
AOS22 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
AOS23 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
AOS24 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
AOS25 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
AOS26 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
AOS27 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
AOS28 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
AOS29 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)
AOS210 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>
AOS211 Uvod u Unix
Upravljanje ljuskom
Nakon uspješnog spajanja na sustav, korisnik se nalazi u korisničkoj ljusci
Format UNIX naredbe:
/> naredba [opcije] [argumenti]
AOS212 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>
AOS213 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)
AOS214 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>
AOS215 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
AOS216 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 (/)
AOS217 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>
AOS218 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
AOS219 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>
AOS220 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
AOS221 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>
AOS222 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>
AOS223 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!
AOS224 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!
AOS225 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
AOS226 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)
AOS227 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
AOS228 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
AOS229 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
AOS230 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
AOS231 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
AOS232 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
AOS233 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
AOS234 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
AOS235 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
AOS236 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)
AOS237 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
AOS238 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
....
AOS239 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
AOS240 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
AOS241 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
AOS242 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)
AOS243 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
...
AOS244 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
AOS245 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
AOS246 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, ...)
AOS247 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:
AOS248 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)
AOS249 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
AOS250 Uvod u Unix