1 / 50

Uvod u UNIX

Uvod u UNIX. Damir Krstinić damir.krstinic@fesb.hr. 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)

aggie
Download Presentation

Uvod u UNIX

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Uvod u UNIX Damir Krstinić damir.krstinic@fesb.hr

  2. 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

  3. 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

  4. 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

  5. File system (datotečni sustav) • UNIX datotečni sustav organiziran je u obliku stabla (tzv. Datotečno stablo) / (root) /bin /etc /home /usr /var /tmp /home/user1 /home/user3 /home/user2

  6. 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

  7. 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

  8. 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

  9. Tipovi datoteka • Na UNIX-u vrijedi princip: Sve je datoteka • Normalne datoteke • Direktoriji • Komunikacijske pristupne točke • Sklopovlje računala

  10. 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)

  11. 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>

  12. Upravljanje ljuskom • Nakon uspješnog spajanja na sustav, korisnik se nalazi u korisničkoj ljusci • Format UNIX naredbe: /> naredba [opcije] [argumenti]

  13. 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>

  14. 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)

  15. ls – pregled sadržaja direktorija • Naredbals 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>

  16. 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 na svoj roditeljski direktorij Radni direktorij Roditeljski direktorij

  17. pwd – radni direktorij • Naredbom pwd dobijamo apsolutni put do trenutnog radnog direktorija marjan.fesb.hr> pwd /home/dkrst/java/packages Apsolutni put uvijek počinje od root direktorija (/)

  18. 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/java marjan.fesb.hr> cd robots /home/dkrst/java/robots marjan.fesb.hr>

  19. mkdir – kreiranje direktorija marjan.fesb.hr> mkdir vjezba1 marjan.fesb.hr> cd vjezba1 /home/dkrst/tmp/vjezba/vjezba1 marjan.fesb> ls -al total 4 drwx------ 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

  20. rmdir – brisanje direktorija marjan.fesb.hr> ls -al total 8 drwx------ 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.txt drwx------ 2 dkrst other 512 Oct 15 10:39 vjezba1 marjan.fesb.hr> rmdir vjezba1 marjan.fesb.hr> ls -al total 6 drwx------ 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.txt marjan.fesb.hr>

  21. Skraćene oznake direktorija . - tekući radni direktorij .. - roditeljski direktorij ~ - home direktorij korisnika marjan.fesb.hr> cd ~ marjan.fesb.hr> pwd /home/dkrst marjan.fesb.hr> cd vjezba marjan.fesb.hr> cd .. marjan.fesb.hr> pwd /home/dkrst

  22. cp – kopiranje datoteka • Naredba cp služi za kopiranje datoteka i direktorija marjan.fesb.hr> ls dat1.txt marjan.fesb.hr> cp dat1.txt dat2.txt marjan.fesb.hr> ls dat1.txt dat2.txt marjan.fesb.hr>

  23. mv – premještanje datoteka • Naredba mv služi za premještanje (i promjenu imena) datoteka i direktorija marjan.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>

  24. 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!

  25. 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!

  26. 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

  27. Prava pristupa datotekama -rw-r--r-- 1 dkrst users rwxrwxrwx vlasnik grupa ostali Primjer: -rw-r--r-- • vlasnik: pravo čitanja (r) i pisanja (w) • grupa: pravo čitanja (r) • ostali: Pravo čitanja (r)

  28. chmod – promjena prava pristupa • Naredbom chmod vlasnik datoteke mijenja prava pristupa chmod <prava><datoteka> • Prava pristupa moguće je zadati: • apsolutno • simbolički

  29. Apsolutna prava pristupa Apsolutna prava pristupa: _rwxrwxrwx 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

  30. Simbolička prava pristupa • Dodavanje ili oduzimanje prava pristupa na osnovi simboličke oznake u – vlasnik g – grupa o – ostali a –svi korisnici chmod ug+w dat1.txt dodavanje prava pisanja za vlasnika i grupu chmod o-w dat1.txt skidanje prava čitanja za ostale korisnike sustava chmod a+r dat1.txt davanje prava čitanja za sve korisnike

  31. 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

  32. Pregledavanje sadržaja datoteke • Sadržaj datoteke moguće je dobiti korištenjem naredbe cat marjan.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 naredbemoreililess

  33. Povezivanje datoteka • ln - kreiranje pokazivača na datoteku • Hard link: /> ln dat1.txt dat2.txt • Soft link: /> ln–s dat1.txt dat3.txt

  34. Environment varijable • Environment varijable postavlja korisnik: • $HOME • $PATH • ... • Postavljanje vrijednost environment varijable: /> setenv PATH ./:$PATH • Environment varijable mogu se postaviti u inicijalizacijskim datotekama ljuske

  35. 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

  36. 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

  37. 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)

  38. 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

  39. 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 ....

  40. 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

  41. 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

  42. Procesi • Parametri procesa: • PID– jedinstveni identifikacijski broj procesa • PPID–PIDroditeljskog procesa • UIDiGID– vlasnik i grupa procesa • EUIDiEGID– efektivniUIDiGID • Kontrolni terminal • Prioritet procesa

  43. 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)

  44. 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 ...

  45. kill – slanje signala procesu /> kill –KILL 2480 - ubijanje procesa 2480 /> kill –HUP 2480 - resetiranje procesa 2480 man kill - pomoć za naredbukill

  46. 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

  47. 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, ...)

  48. Povezivanje sa udaljenim računalom • Program telnet služi za povezivanje i rad na udaljenom računalu /> sshdkrst@marjan.fesb.hr Trying 161.53.166.3... Connected to marjan.fesb.hr. Escape character is '^]'. Password:

  49. Zadatak • U svome home direktoriju stvorite direktorij unix (naredba mkdir) • U direktoriju unix stvorite datoteku index.html i u nju upišite proizvoljan tekst. Upotrebite neki od ranije navedenih editora. • Svim korisnicima sustava dozvolite čitanje datoteke index.html (naredba chmod)

  50. Zadatak • U svom home direktoriju stvorite direktorij public_html (ukoliko već ne postoji) • U direktoriju public_html stvorite simbolički link na direktorij unix (naredba ln –s) • Na direktorijima public_html i unix dajte pravo čitanja i izvršavanja svim korisnicima • U direktoriju unix stvorite direktorij vjezbe

More Related