You are on page 1of 30

ELEKTROTEHNIKI FAKULTET UNIVERZITETA U BEOGRADU

OSNOVE LINUX-A
-Diplomski rad-

Kandidat: Mentor:
Zora Mihalji 2012/461 doc. dr Zoran ia

Beograd, Avgust 2016.


SADRAJ
SADRAJ .......................................................................................................................................................................... 2
1. UVOD ....................................................................................................................................................................... 4
2. UVOD U UNIX I LINUX OPERATIVNE SISTEME ......................................................................................... 5
2.1. ISTORIJAT UNIX OPERATIVNOG SISTEM ....................................................................................................... 5
2.2. LINUX .............................................................................................................................................................. 6
2.3. LINUX DISTRIBUCIJE ....................................................................................................................................... 6
3. PREGLED LINUX SISTEMA ............................................................................................................................... 7
3.1. LINUX KERNEL ................................................................................................................................................ 7
3.2. UPRAVLJANJE PROCESIMA ........................................................................................................................... 10
3.3. PROCESI I NITI ............................................................................................................................................... 10
3.3.1. Dodeljivanje procesora procesima ........................................................................................................... 10
3.3.2. Komunikacija izmeu procesa .................................................................................................................. 10
3.3.3. Upravljanje memorijom ............................................................................................................................ 10
3.4. IZVRAVANJE KORISNIKIH PROGRAMA ..................................................................................................... 11
3.5. ULAZNO-IZLAZNI SISTEM ............................................................................................................................. 11
3.6. SISTEMI DATOTEKA I AKTIVNO UNIX STABLO ............................................................................................. 11
3.7. MRENE STRUKTURE .................................................................................................................................... 12
3.8. INIT ................................................................................................................................................................ 12
3.9. PRIJAVLJIVANJE SA TERMINALA .................................................................................................................. 12
3.10. SYSLOG .......................................................................................................................................................... 12
3.11. PERIODINO IZVRAVANJE KOMANDI.......................................................................................................... 12
3.12. GRAFIKI KORISNIKI INTERFEJS ............................................................................................................... 13
3.13. MRENI RAD.................................................................................................................................................. 13
3.14. PRIJAVLJIVANJE SA MREE .......................................................................................................................... 13
3.15. DELJENJE DATOTEKA I MRENI SISTEMI DATOTEKA .................................................................................. 14
3.16. ELEKTRONSKA POTA................................................................................................................................... 14
3.17. TAMPANJE ................................................................................................................................................... 14
4. SHELL PROGRAM I NJEGOVE VRSTE ........................................................................................................ 15
4.1. BASH SHELL .................................................................................................................................................. 16
4.1.1. Opte osobine ............................................................................................................................................ 16
4.1.2. Bash shell - specifikacija i detalji implementacije .................................................................................... 17
4.2. OSNOVNE KOMANDE USHELL-U.................................................................................................................... 17
4.2.1. Komanda ls ............................................................................................................................................... 18
4.2.2. Komanda cd .............................................................................................................................................. 18
4.2.3. Komanda rm ............................................................................................................................................. 19
4.2.4. Komanda mkdir......................................................................................................................................... 19
4.2.5. Komanda mv ............................................................................................................................................. 19
4.2.6. Komanda cp .............................................................................................................................................. 19
4.2.7. Komanda less ............................................................................................................................................ 19
4.2.8. Komanda uname ....................................................................................................................................... 19
4.2.9. Komanda tar ............................................................................................................................................. 19
4.3. SKRIPT FAJLOVI ............................................................................................................................................ 20
4.4. PROMENJIVE ................................................................................................................................................. 20
4.5. REGULARNI IZRAZI ....................................................................................................................................... 21
4.6. GREP KOMANDA............................................................................................................................................ 22
5. LINUX RENIK ................................................................................................................................................... 23
6. ZAKLJUAK ........................................................................................................................................................ 29

3
1.UVOD
Linux je prvobitno predstavljen kao slobodan operativni sistem za raunare zasnovane na 32-
bitnoj Intel x86 seriji mikroprocesora. Od tada je prebaen na vie raunarski platformi nego bilo
koji drugi operativni sistem. Linux je glavni operativni sistem na serverima, mejnfrejm raunarima i
superraunarima. Vie od 90% superraunara koristi neku verziju Linuxa, ukljuujui 10 najbrih.
Linux takoe radi na mikrosistemima u kojima je operativni sistem obino ugraen u ureaj. To su,
na primer, mobilni telefoni, tablet raunari, ruteri, televizori i konzole za igru. Operativni sistem
Android je takoe izgraen na osnovu Linux jezgra.
Cilj rada je da se na osnovu integracije podataka iz savremene literature stekne osnovno
znanje o radu na Linux operativnom sistemu, njegova rasprostranjenost i upotreba u savremenoj
tehnogiji. Uproena forma omoguava poetnicima da se lake snau u radu sa ovim operativnim
sistemom, a takoe itajui istorijat proire svoje teorijsko znanje. Pored toga, rad itaocu daje i
uvid u shell okruenje i njegove osnovne komande.
Rad se sastoji iz pet delova.Nakon kratkog uvoda sledi istorijat Linux operativnog sistema.
U narednim poglavljima dat je opti pregled Linux sistema, znaajnih delova jezgra i osnovnih
servisa Linux operativnog sistema, shell okruenja i njegovih osnovnih komandi. Poslednje
poglavlje predstavlja svojevrsni renik pojmova, komandi i aplikacija koje prate Linux operativni
sistem.

4
2.UVOD U UNIX I LINUX OPERATIVNE SISTEME
U ovom poglavlju opisan je krai istorijat UNIX i Linux operativnih sistema.

2.1. Istorijat UNIX operativnog sistem


Unix je stabilan, moan i fleksibilan operativni sisitem visokih performansi pogodan za
izvravanje kritinih aplikacija od visoke vanosti. vrsto je povezan sa mrenim servisima TCP/IP
protokola. Umesto servera sa klasinim serijskim terminalima UNIX server se nalazi u mrei, pri
emu sa radnim stanicama ostvaruje vezu preko LAN/WAN mree i TCP/IP skupa protokola.
Veina UNIX sistema, poput Sun Solaris i IMB AIX je komercijalna, to znai da korisnik
mora da plati licencu za korienje, a izvorni kod nije raspoloiv.To je jedan od glavnih razloga
nastanka i popularnosti Linux operativnog sistema, koji zadrava veinu dobrih osobina UNIX
sistema, a dodatno se odlikuje raspoloivim izvornim kodom i praktino besplatnim korienjem.
Razvoj UNIX operativnog sistema poeo je sredinom 1960-tih godina u AT&T Bell
laboratorijama u saradnji sa kompanijom General Electric i tehnolokim institutom Massachusetts.
Projekat, odnosno operativni sistem MULTICS (Multiplexed Information and Computing Service)
predstavljao je interaktivni operativni sistem namenjen da opsluuje veliki broj korisnika iji su
terminali direktnim serijskim ili modemskim komunikacionim kanalima povezani na centralizovani
server. Takav koncept operativnog sistema bio je preambiciozan za tadanji stepen razvijenosti
hardvera, pri emu se prvenstveno misli na procesorsku snagu i koliinu sistemske memorije.
MULTICS nije doiveo svoju praktinu primenu jer se posle nekoliko godina razvoja pokazao kao
preskup i preambiciozan projekat od koga su AT&T Bell laboratorije odustale. Konkretno,
MULTICS je pretea UNIX sistema koji se smatra jednim od najkvalitetnijih i najrasprostranjenijih
operativnih sistema, na ijem se razvoju radi preko 30 godina, sa tendencijom dalje egzistencije i
usavravanja.
Dva fundamentalna imena vezana za razvoj UNIX operativnog sistema su Ken Thompson,
MULTICS sistemski programer u Bell laboratorijama, i Dennis Ritchie, poznatiji kao tvorac
programskog jezika C. Godine 1969, Ken Thompson je zapoeo razvoj novog operativnog sistema
za DEC PDP-7 racunar, napravivi redukovani MULTICS, odnosno UNICS (Uniplexed
Information and Computing Service). Radi lakeg izgovora i pisanja, ime UNICS je kasnije
evoluiralo u UNIX. UNIX je prvobitno napisan u asemblerskom jeziku, a samim tim bio je potpuno
zavisan od klase procesora za koji se realizuje. Godine 1971, Ritchie je napisao programski jezik C
kao vii programski jezik koji omoguava sistemsko programiranje, a zatim sa Thompsonom
preveo kod UNIX sistema na C, to se moe smatrati prekretnicom i jednim od najznaajnijih
poteza u razvoju operativnih sistema.
Zahvaljujui C jeziku UNIX je mogao biti preneen na razne raunarske arhitekture sa vrlo
malo programskih modifikacija, to je svakako bio klju uspeha i popularnosti UNIX operativnog
sistema. Nakon prevoenja na C jezik, autori su u cilju daljeg unapreenja prosledili izvorni kod
UNIX sistema univerzitetima irom Amerike, pri emu su programeri sa Berkeley univerziteta u
Kaliforniji dominantno uticali na dalji razvoj. Danas postoji veliki broj razliitih vrsta UNIX

5
sistema koje su zasnovane ili na industrijskom standardu SVR4 (nova varijanta UNIX sistema -
System V Release 4) ili na BSD (Berkeley Software Distribution) distribuciji.

2.2. Linux
Jedna od poslednjih varijanti UNIX operativnih sistema, iji je razvoj zapoeo Linus
Torvalds 1991. godine na Univerzitetu u Helsinkiju, je Linux. Torvalds je svoj operativni sistem
koji objedinjuje oba standarda, SRV4 i BSD, objavio na Internetu i podsticao druge programere
irom sveta da se prikljue njegovom daljem razvoju. Linux je svojom koncepcijom stabilnog, a
jeftinog operativnog sistema doiveo veliku ekspanziju i popularnost. Simbol Linux sistema je mali
pingvin (Tux). Linux je prvobitno namenjen 32-bitnim Intel x86 mikroprocesorima (poevi od
80386), na kojima moe funkcionisati kao radna stanica (workstation) ili kao server. Jezgro Linux
sistema je kasnije modifikovano i prilagoeno procesorima koji ne pripadaju Intel x86 klasi, meu
kojima treba istai Intel IA-64, DEC Alpha, SUN SPARC/UltraSPARC, Motorola 68000, MIPS,
PowerPC i IBM mainframe S/390. Moe se konstatovati da dananji Linux u odnosu na bilo koji
operativni sistem podrava najiri spektar procesora i raunarskih arhitektura.

2.3. Linux distribucije


Brojne profitne i neprofitne organizacije ine Linux raspoloivim u formi distribucija,
odnosno razliitih kombinacija kernela, sistemskog softvera i razliitih korisnikih aplikacija.
Veina distribucija sadri kolekciju CD/DVD medijuma na kojima se nalaze operativni sistem,
izvorni kod, detaljna dokumentacija, kao i tampana uputstva za instalaciju i upotrebu sistema. Cene
ovakvih distribucija su u veini slucajeva simboline, osim ako se u distribuciji nalazi komercijalan
softver ili je distribucija specifine namene.
Osnovna komponenta svake Linux distribucije je kernel operativnog sistema. Osim kernela i
sistemskog softvera u distribuciji se nalaze i instalacioni alati, softver za podizanje operatvnog
sistema (boot loader), razne korisnike aplikacije (kancelarijski paketi - office suite, softver za
manipulaciju bit-mapiranih slika) i serverski paketi.
U poznatije Linux distribucije spadaju: Debian GNU/Linux, Linux Mandrake, Red Hat
Linux, Slackware Linux i SuSE Linux.

6
3.PREGLED LINUX SISTEMA
Linux je viekorisniki, vieprocesni operativni sistem sa potpunim skupom UNIX
kompatibilnih alata, projektovan tako da potuje relevantne POSIX (Portable Operatng System
Interface) standarde. Linux sistemi podravaju tradicionalnu UNIX semantiku i potpuno
implementiraju standardni UNIX mreni model.
Linux operativni sistem sastoji se od kernela, sistemskog softvera, korisnikih aplikacija,
programskih prevodilaca i njihovih odgovarajuih biblioteka (GCC - GNU C Compiler i C
biblioteka za Linux) i dokumentacije. Kernel je jezgro operativnog sistema - on omoguava
konkurentno izvravanje procesa, dodeljuje im memoriju i druge resurse i obezbeuje mehanizam
za ostvarivanje usluga operativnog sistema. Kernel titi korisnike procese od direktnog pristupa
hardveru - procesi pristupaju hardveru korienjem sistemskih poziva kernela, ime se obezbeuje
jedna vrsta zatite izmeu samih korisnika. Sistemski programi koriste kernel u cilju
implementacije razliitih servisa operativnog sistema. Svi programi, ukljuujui i sistemske,
funkcioniu na nivou iznad kernela, to se naziva korisniki reim rada, dok se sistemske aktivnosti
poput pristupa hardveru obavljaju na nivou kernela, odnosno u sistemskom reimu rada
(supervisory mode). Razlika izmeu sistemskih i aplikativnih programa je u njihovoj nameni, npr.
aplikacije su namenjene za razne korisne aktivnosti (kao to su obrada teksta i slike), dok su
sistemski programi namenjeni za rad sa sistemom i administraciju.

3.1. Linux kernel


Tri osnovne verzije Linux kernela su poetna verzija, verzija 1.x i verzija 2.x. Poetna
verzija 0.01, koju je 1991. godine kreirao Linus Torvalds, podravala je samo Intel 80386
kompatibilne procesore, mali broj hardverskih uredjaja i Minix sistem datoteka. Mreni servisi nisu
imali kernelsku podrku. Verzija 1.0, nastala u martu 1994. godine, ukljuivala je podrku za
standardne TCP/IP mrene protokole, BSD-kompatibilni socket interfejs za mreno programiranje i
drajversku podrku za mrene kartice. Ova verzija je dodatno podravala ext i ext2 sisteme
datoteka, iroku klasu SCSI disk kontrolera, kao i brojne hardverske ureaje. Verzija 1.2 (mart
1995) je poslednja verzija Linux kernela namenjena iskljuivo PC arhitekturi. U verziji 2.0 (jun
1996) uvedena je podrka za vie arhitektura (Motorola i Intel procesori, Sun Sparc i PowerMac
sistemi), kao i podrka za vieprocesorsku arhitekturu (SMP). Dodatno, poboljano je upravljanje
memorijom i uveane su performanse TCP/IP protokol steka, a ugraena je i podrka za unutranje
kernelske niti (internal kernel thread).
Kernel je odgovoran za najznaajnije funkcije operativnog sistema. Dve osnovne
karakteristike kernela su:
kernel kod se izvrava u kernel modu u kome je jedino mogue pristupati svim
komponentama hardvera,
kompletan kernel kod i sve kernel strukture podataka uvaju se u istom adresnom
prostoru (monolithic).

7
Kod veine UNIX sistema aplikacije se preko sistemskog poziva direktno obraaju kernelu,
kao to je prikazano na slici 3.1.1.

Slika 3.1.1. Jezgro Linuxa.

Kod Linux sistema sistemski pozivi se upuuju kernelu preko sistemskih biblioteka koje
definiu standardni set funkcija preko kojih aplikacije komuniciraju sa kernelom. Ovaj metod
komunikacije sa kernelom prikazan je na slici 3.1.2.

Slika 3.1.2. Komunikacija izmeu aplikacija i kernela.


.

Sistemski programi izvravaju specifine upravljake poslove, kao to je konfigurisanje


mrenih ureaja i protokola, punjenje kernelskih modula itd.
Moduli kernela su delovi kernelskog koda koji mogu da se prevedu, napune u memoriju ili
izbace iz memorije nezavisno od ostatka kernela. Kernelski moduli implementiraju drajvere za
hardverske ureaje, novi sistem datoteka, mrene protokole, itd. Moduli omoguavaju raznim
programerima da napiu i distribuiraju drajvere koji ne moraju da prou GPL licencu. Moduli
kernela omoguavaju micro-kernel arhitekturu, odnosno realizaciju minimalne stabilne
konfiguracije kernela bez dodatnih drajvera.

8
Module Linux kernela ine tri komponente:

Upravljanje modulom, koja omoguava punjenje modula u kernelsku memoriju i


komunikaciju modula sa ostatkom kernela, proveru da li je modul u memoriji i da li se
koristi i izbacivanje modula iz memorije (pod uslovom da se modul ne koristi),
registracija drajvera, koja omoguava modulu da objavi ostatku kernela da je novi drajver u
memoriji i da je raspoloiv za korienje. Kernel odrava dinamiku tabelu drajvera koji se
pomou posebnog seta programa mogu napuniti ili izbaciti iz memorije u svakom trenutku,
rezolucija konflikata, odnosno mehanizam koji slui da sprei hardverske konflikte tako to
omoguava drajveru da rezervie hardverske resurse (IRQ, DMA, ports) i time sprei druge
drajvere ili autoprobe funkciju da ih koriste. Na slici 3.1.3. prikazana je struktura
modularnog Linux kernela.

Slika 3.1.3. Struktura modularnog Linux kernela.

Linux kernel ini nekoliko znaajnih komponenti:

upravljanje procesima
upravljanje memorijom
upravljanje sistemima datoteka (VFS)
apstrakcija mrenih servisa
podrka za hardverske ureaje
podrka za razliite sisteme datoteka
podrka za TCP/IP

Kritine komponente Linux kernela su upravljanje procesima i upravljanje memorijom.


Komponenta za upravljanje memorijom kontrolie dodeljivanje memorije i swap prostora
procesima, kernelskim komponentama kao i bafersko keiranje. Komponenta za upravljanje
procesima kreira procese i omoguava vieprocesni rad (multitasking) dodeljujui procesor
procesima po odgovarajuem algoritmu.

9
3.2. Upravljanje procesima
Linux koristi standardni UNIX proces mehanizam (fork) koji razdvaja kreiranje procesa i
njegovo izvrenje u dve razliite operacije:
sistemski poziv fork, koji kreira novi proces,
sistemski poziv exec, koji izvrava program u resursima novostvorenog procesa.

Pod UNIX sistemom sve informacije koje operativni sistem mora uvati da bi kontrolisao
jedan proces predstavljaju kontekst tog procesa. Pod Linux operativnim sistemom, svaki proces je u
potpunosti opisan identitetom, okolinom, i kontekstom.

3.3. Procesi i niti


Linux koristi istu internu reprezentaciju za procese i niti.Nit (thread) je jednostavno novi
proces koji deli adresni prostor roditelja. Za razliku od novog procesa koji pomou sistemskog
poziva fork formira novi kontekst sa jedinstvenim adresnim prostorom, nit nastaje pomou
sistemskog poziva clone koji kreira novi kontekst, ali dozvoljava novom procesu da deli adresni
prostor roditelja.

3.3.1. Dodeljivanje procesora procesima


Linux koristi dva algoritma za dodelu procesora procesima (process-scheduling algorithms):
Time-sharing algoritam za korektno rasporeivanje izmeu procesa (fair preemptive
scheduling). Dodela se vri na osnovu prioriteta procesa koji definie korisnik i kredita
(efektivni prioritet) koji raste s porastom vremena ekanja na processor.
Real-time algoritam za procese gde su apsolutni prioriteti mnogo znaajniji od ravnomerne
raspodele. Linux je ipak soft real-time operativni sistem.

3.3.2. Komunikacija izmeu procesa


Komunikacija izmeu procesa obuhvata obavetavanje procesa o dogaaju i prenos podataka
s jednog procesa na drugi. Kao i UNIX sistem, Linux informie procese u korisnikom reimu o
dogaaju putem signala. Procesi u kernel modu umesto signala koriste specijalnu vrstu deljive
memorije (wait.queue struktura) za interprocesnu komunikaciju. Za prosleivanje podataka izmeu
procesa koristi se pipe mehanizam, koji omoguava jednosmernu razmenu podataka putem
komunikacionog kanala koji proces nasleuje od roditelja, i deljiva memorija, koja je brza i
fleksibilna, ali zahteva sinhronizaciju.
3.3.3. Upravljanje memorijom
Upravljanje memorijom obuhvata upravljanje operativnom (RAM) memorijom i upravljanje
virtuelnom memorijom. Upravljanje operativnom, odnosno fizikom memorijom obuhvata
dodeljivanje (alokaciju) i oslobaanje stranica (pages, normal extent), grupe stranica (large extent) i
malih memorijskih blokova (small extent).
Fizika memorija se deli na udruene blokove ije su veliine stepeni broja 2. Blokovi se
prema potrebi alokacije dalje razbijaju na manje blokove ili se parovi udruuju u vee celine.

10
Sistem virtuelne memorije poveava ukupan adresni prostor koji je dostupan procesima.
Sistem kreira stranicu virtuelne memorije na zahtev, upravlja punjenjem te stanice u fiziku
memoriju sa diska i povratkom stranice na disk u swap prostor.
.

3.4. Izvravanje korisnikih programa


Linux podrava brojne formate za punjenje i izvravanje programa. Meu njima svakako
treba istai stari UNIX format a.out i novi elf format koji je maksimalno prilagoen konceptu
virtuelne memorije.
Zaglavlje ELF formata opisuje sekcije programa. Sekcije programa su po veliini
prilagoene veliini stanice virtuelne memorije. Program kod kog su funkcije iz sistemske
biblioteke direktno ugraene u kod programa je program sa statikim povezivanjem. Glavni
nedostatak ovakvog naina povezivanja je poveanje veliine koda, jer svaki poziv funkcije iz
biblioteke kopira celu funkciju u kod. Takoe, sa veliinom koda raste i koliina memorije koja je
potrebna za njegovo izvravanje. Na drugoj strani, dinamiko povezivanje je efikasnije u smislu
iskorienja memorije - sama funkcija se ne kopira u kod, tako da je za izvrenje potrebna manja
koliina memorije, ali se programi po nepisanom pravilu izvavaju sporije.

3.5. Ulazno-izlazni sistem


Linux deli ureaje u tri klase: blok ureaje (poput diskova i CD-ROM ureaja), karakter
ureaje (poput tampa) i mrene ureaje. Svaki ureaj je predstavljen specijalnom datotekom
(device node, device file) koja se nalazi u direktorijumu /dev root sistema datoteka. Kada korisnik
upisuje podatke u datoteku koja predstavlja neki ureaj ili ita iz te datoteke, vri se neka ulazno-
izlazna operacija, odnosno sistem alje ili prima podatke sa ureaja koji je predstavljen tom
datotekom. Time se ukida potreba za postojanjem posebnih programa (samim tim i posebnom
metodologijom programiranja ulazno-izlaznih operacija) neophodnih za rad sa ureajima.

3.6. Sistemi datoteka i aktivno Unix stablo

Linux sistemi datoteka koriste hijerarhijsku strukturu stabla i semantku UNIX sistema
datoteka. Interno, kernel sakriva detalje i upravlja razliitim sistemima datoteka preko jednog nivoa
apstrakcije koji se naziva virtuelni sistem datoteka VFS.
Aktivno Linux stablo datoteka ini jedan ili vie sistema datoteka koji su montirani na
odgovarajue direktorijume preko kojih im se pristupa. Osnovu aktivnog stabla datoteka ini
korenski sistem datoteka (root filesystem), iji koren (root) direktorijum ujedno predstavlja i koren
direktorijum aktivnog stabla datoteka. Zavisno od hardverske konfiguracije i odluke administratora
sistema, struktura aktivnog Linux stabla moe biti jednostavna (aktivno stablo realizovano jednim
sistemom datoteka), ili sloena (aktivno stablo realizovano veim brojem sistema datoteka - root,
/boot, /var, /usr, /home ...).

11
3.7. Mrene strukture

Umreavanje je kljuno podruje funkcionalnosti Linux sistema. Linux koristi standardni


TCP/IP protokol stek kao osnovni komunikacioni protokol, a dodatno podrava i brojne druge
protokole koji nisu uobiajeni za komunikaciju dva UNIX sistema (AppleTalk, IPX, Samba).
Interno, umreavanje pod Linux sistemom obuhvata tri softverska nivoa: socket interfejs, protokol
drajvere i drajvere za mrene kartice.

3.8. Init

Proces init se pokree kao prvi proces na svakom Linux sistemu i to je poslednja akcija koju
kernel obavlja prilikom podizanja sistema. Kada se pokrene, init nastavlja proces podizanja
operativnog sistema, obavljajui razne inicijalne procedure kao to su provera i akitviranje sistema
datoteka i pokretanje servisa (daemons).

3.9. Prijavljivanje sa terminala

Funkciju prijavljivanja preko serijskih linija i sistemske konzole (bez grafikog okruenja)
obezbeuje proces getty. Proces init kao proces roditelj pokree posebnu instancu programa getty za
svaki terminal na kome je dozvoljeno prijavljivanje na sistem. Dalje, getty ita korisniko ime i o
tome izvetava proces login, koji proverava uneeno korisniko ime i lozinku. Ako su korisniko
ime i lozinka korektni login pokree proces shell koji prihvata i izvrava korisnike komande.
Proces init e otpoeti novu instancu procesa getty kada proces komandnog interpretera zavri
aktivnost, odnosno kada se korisnik odjavi sa sistema, ili ako se login proces zavri nekorektnim
prijavljivanjem.

3.10. Syslog

Kernel i mnogi sistemski programi generiu razna upozorenja i poruke o grekama koje se
upisuju u datoteke, tako da se mogu pregledati kasnije. Program koji obavlja funkciju upisivanja
poruka u datoteke je syslog. Program se moe konfigurisati da poruke aranira u razliite datoteke
na osnovu stepena znaaja i procesa koji je poruke generisao.

3.11. Periodino izvravanje komandi

Veina korisnika, ukljuujui sistem administratore esto ima potrebu za periodinim


izvravanjem neke komande. Na primer, sistem administrator moe da zakae periodino izvrenje

12
komande koja isti direktorijume sa privremenim datotekama (/tmp i /var/tmp), ime spreava
prepunjenje diska.
Funkciju periodinog izvrenja komandi obezbeuje servis cron. Svaki korisnik moe u
svojoj crontab datoteci definisati komande koje eli periodicno da izvrava i vreme kada te
komande treba izvriti. Cron demon vodi rauna o izvrenju komandi u specificiranom vremenu.
Servis koji je slian cron servisu je at, ali za razliku od cron servisa komandu pokree samo
jednom, u specificiranom trenutku.

3.12. Grafiki korisniki interfejs

Linux ne ugrauje korisniki interfejs u kernel - korisniki interfejs se implementira na


korisnikom nivou. Koriste se dve vrste interfejsa, alfanumeriki i grafiki, ime se postie vea
fleksibilnost sistema. Nedostatak ovakvog ureenja je relativno sloena implementacija razliitih
korisnikih interfejsa za svaki program, to operativni sistem ini teim za uenje i korienje.
Primarno grafiko okruenje koje se koristi u Linux sistemima je X Window System (skraeno - X).
X ne implementira korisniki interfejs ve obezbeuje alate pomou kojih grafiki korisniki
interfejs moe da se implementira. Najee korieni window menaderi na Linux sistemima su:
KDE i Gnome.

3.13. Mreni rad

Umreavanje je in povezivanja dva ili vie raunara relativno visokog stepena autonomije
u cilju omoguavanja njihove meusobne komunikacije. Iako proces povezivanja raunara u mreu
i konfigurisanja mrenog okruenja moe biti komplikovan, krajnji rezultat je veoma koristan.
Korisnici mogu koristiti deljene mrene resurse poput tampaa, direktorijuma i up-linkova, a
takoe se mogu omoguiti i mehanizmi centralizovane autentifikacije i administracije. Veina
osnovnih servisa Linux sistema, poput sistema datoteka, tampanja i arhiviranja podataka moe se
realizovati pomocu mrenih funkcija operativnog sistema.

3.14. Prijavljivanje sa mree

Procedura prijavljivanja sa mree razlikuje se od klasine procedure prijavljivanja na sistem,


koja zahteva postojanje posebne fizike serijske linije za svaki terminal na kom je potrebno
omoguiti prijavljivanje i rad.
Za svakog korisnika koji se prijavljuje na sistem preko mree postoji posebna virtuelna
mrena konekcija. Broj tih konekcija teorijski moe biti neogranien, tako da nije mogue
izvravati poseban getty proces za svaku virtuelnu konekciju. Za potrebe prijavljivanja sa mree,
umesto gomile getty procesa, postoji glavni demon proces (master daemon, wrapper) koji oslukuje
sve nadolazee zahteve. Ukoliko se pojavi zahtev za prijavljivanje na sistem, wrapper kao proces
roditelj pokree novi proces (telnet ili rlogin demon), slian getty procesu, koji dalje upravlja
pokuajem prijavljivanja, dok glavni demon nastavlja da oslukuje nove zahteve sa mree.

13
3.15. Deljenje datoteka i mreni sistemi datoteka

U znaajnije servise UNIX i Linux sistema spada i deljenje datoteka na mrei. Mreni
sistemi datoteka funkcioniu na sledei nain: zahtevi za operacijama nad datotekama i
direktorijumima alju se po mrei na raunar na ijim se diskovima sistem datoteka nalazi, a
korisnik ima utisak da se sve datoteke nalaze na lokalnom sistemu datoteka. Na ovaj nain
omoguava se deljenje datoteka na krajnje jednostavan nain, poto se ne zahteva nikakva
modifikacija korisnikih programa. Najee korieni tip mrenih sistema datoteka je NFS
(Network File System), koji je razvila kompanija Sun Microsystems.

3.16. Elektronska pota

Elektronska pota je najpopularniji metod komunikacije putem raunara. Svaki korisnik ima
prijemno potansko sandue (incoming mailbox) u vidu datoteke u specijalnom formatu koja se po
pravilu nalazi na direktorijumu /var/spool/mail. Kada neko alje potu specijalan program, koji
omoguava prijem i slanje pisama, locira prijemno potansko sandue i dodaje pismo u mailbox
datoteku. Ukoliko se prijemno potansko sandue nalazi na drugom raunaru, pismo se najpre alje
preko mree ka destinacionom raunaru, iji e mejl program dalje pismo distribuirati u
odgovarajue sandue.
Potanski sistem ine dve osnovne vrste programa: MTA - Mail Transfer Agent (na primer
sendmail) koji vre isporuku pote u lokalno potansko sandue i prosleuju potu udaljenim
raunarima, i MUA - Mail User Agent (pine, mutt ili elm) koje slue korisnicima za itanje i slanje
pote.

3.17. tampanje
Jedan tampa u jednom vremenskom trenuntku moe da koristi samo jedan korisnik, ali je
krajnje neekonomino ne dozvoliti upotrebu tampaa u razliitim vremenskim trenucima veem
broju korisnika. Zato tampaima upravlja program koji implementira red ekanja za dati tampa
(printer queue): svi zahtevi za tampu postave se u red ekanja i kada tampa obavi jedan posao
upravljaki program mu automatski alje sledei.
Program koji implementira red ekanja uva kopiju koju treba tampati na disku print
servera, ime se omoguava aplikativnom programu da preda zahtev za tampu u red i nakon toga
nastavi svoje aktivnosti. Disk je relativno brz ureaj u odnosu na tampa, tako da predaja zahteva u
red traje kratko. Nakon predaje zahteva aplikativni program ne mora da eka da zahtev bude
odtampan, a takoe ne mora ni da kontrolie proces tampe, tako da nastavlja sa daljim radom.

14
4.SHELL PROGRAM I NJEGOVE VRSTE

Shell je interfejs izmeu korisnika i kernela, odnosno jezgra operativnog sistema. Shell
prihvata komande koje korisnik zadaje, zatim ih interpretira i potom ih izvrava, pri emu po
potrebi pokree odgovarajue programe. Na UNIX sistemima postoji vie razliitih komandnih
interpretera, a korisnici u toku rada po potrebi mogu prei iz jednog u drugi.
Komandni interpreter je proces koji obavlja sledee funkcije u cilju obezbeivanja interfejsa
izmeukorisnika i operativnog sistema:
interpretaciju komandne linije,
pokretanje programa,
redirekciju ulaza i izlaza,
povezivanje komandi u pipeline,
zamenu imena datoteka,
rukovanje promenljivim i kontrolu okoline,
shell programiranje.

Shell program interpretira korisnike komande bilo da se iste unose pojedinano od strane
korisnika ili da se itaju liniju po liniju iz fajla koji se zove shell skript. Neke vrste shell-ova koje su
dostupne na UNIX i GNU/Linux sistemima su:
sh - Bourne shell - shell koji se inicijalno koristio na UNIX operativnim sistemima. Ima
veoma mali broj osobina u poreenju sa shell-ovima nove generacije, ali sve osobine su
zadrane sa ciljem odranja kompatibilnosti sa UNIX sistemima.
bash - Bourne Again Shell - shell koji predstavlja super skup sh shell-a. Danas jedan od
najkompletnijih shell-ova koji postoje.
csh - C shell - shell koji ima sintaksu preuzetu iz programskog jezika C. Shell koji je
favoriziran od strane programera.
tcsh - Turbo C shell - super skup csh.
ksh - Korn shell
Unutar file shells (/etc/shells) nalazi se spisak svih shell-ova dostupnih na sistemu na kojem
radimo.

15
Slika 4.1. Spisak shell-ova dostupnih na sistemu.

Promena samog shell-a realizuje se samo navoenjem imena samog shell-a.

Slika 4.2.Promena shell-a.

4.1. Bash shell


4.1.1. Opte osobine
Bash shell nastao je proirenjem sh shell-a. Takoe u sam bash dodane su i neke osobine csh
i ksh tako da je bash jedan od najkompletnijih shell programa danas.
Bash korisniku omoguava:
izvravanje komandi iz komandne linije (edit, execute)
podesiva dubina pamenja prethodno izvrenih komandi (history command)
kontrola poslova (job control)
upotrebu shell funkcija i aliasa
upotrebu indeksiranih nizova bez ogranienja (fizika ogranienja su jedini limit)
aritmetike operacije

16
Za ispravnu upotrebu shell-a na samom startu neophodno je da znamo verziju shell-a u kojoj
radimo. Provera verzije realizuje se komadnom bash --version.

Slika 4.1.1. Komanda bash --version.

4.1.2. Bash shell - specifikacija i detalji implementacije


Da bi to bolje i jasnije shvatili ulogu samog shell-a kao i da bi na pravi nain mogli da
posmatramo stvari detaljno emo se pozabaviti samim nainom implementacije shell-a kao i
nainom funkcionisanja shell programa. Bash je mogue pokrenuti na nekoliko razliitih naina:
1. Poziv preko interaktivnog login shell-a ili sa --login (shell se dobija nakon to se korisnik
autorizuje na sistem unosom korisnikog imena i lozinke). Ovakav nain pokretanja shell-a
realizuje i itanje sledeih konfiguracionih i profil file-ova prilikom pokretanja shell-a:
/etc/profile
~/.bash_profile, ~/.bash_login ili ~/.profile (ita se prvi postojei fajl)
~/.bash_logout
2. Poziv preko interaktivnog ne-login shell-a (nema potrebe za autentikacijom na sistem).
Primer ovakvog poziva shell-a je otvaranje shell-a iz grafickog korisnikog interfejsa (klikom na
ikonu ili izborom opcije iz menija nakon ega se ne zahteva logovanje) Ovakav nain pokretanja
shell programa ita ~/.bashrc file prilikom pokretanja shell-a.
3. Poziv preko neinteraktivnog shell-a (standardan nain pokretanja shell-a prilikom
izvravanja skriptova). Fajl koji se ita odreen je promjenjivom BASH_ENV .
4. Poziv sa sh komandom (/etc/profile, ~/.profile). Kada se poziva interaktivno ENV GNU
Linux Shell promjenjiva moe da ukazuje na dodatne startup informacije.
5. POSIX mod (opcija koja je ukljuena pozivom ugraene komande set-o posix ili pozivom
bash programa sa --posix opcijom), File koji se ita je odreen ENV promjenjivom.
6. Remote poziv (komanda rshd) - neophodno je voditi rauna o sigurnosti informacija
prilikom upotrebe remote alata kao to su rlogin, telnet, rsh i rcp jer se podaci alju nekriptovani. U
sluaju potrebe za remote izvravanje odreenih komadi, transfer fajlova ili neke druge aktivnosti
poeljno je upotrebiti Secure SHell (SSH). Razne verzije klijentskih programa su dostupne (putty ili
neki klijent koji podrava ssh protokol).
7. Poziv kada UID nije jednak EUID (nikavi fajlovi se ne itaju u ovom sluaju)

4.2. Osnovne komande ushell-u


Pregled osnovnih komandi koje koristimo u radu sa linux shell-om.

17
4.2.1. Komanda ls
Komandom ls izlistavamo sadraj direktorijuma. Komanda ls daje mogunost korienja
velikog broja opcija. Komadom man ls dobijamo detalje vezane za samu komandu. Prikazaemo
samo dva sluaja upotrebe komande ls i to za izlistavanje sadraja direktorijuma (bez skrivenih
fajlova) i za izlistavanje kompletnog sadraja direktorijuma (sa skrivenim fajlovima).

Slika 4.1.2.Dva naina pokretanja bash-a.

4.2.2. Komanda cd
Promena trenutnog direktorijuma. Komadom cd bez navoenja putanje do odreenog
direktorijuma skaemo na default direktorijum koji je odreen sa HOME promenjivom. Ukoliko se
pored komande navede i putanja skaemo direktno u navedeni direktorijum. Prikazaemo navedena
dva sluaja.

Slika 4.2.2. Dva naina promene trenutnog direktorijuma pomou komande cd.

18
4.2.3. Komanda rm
Komandom rm ime_dokumenta briemo fajl odnosno fajlove u zavisnosti od naina
zadavanja komande. Ukoliko elimo obrisati neki folder i rekurzivno njegov kompletan sadraj
onda koristimo komandu rm -r ime_direktorijuma.

4.2.4. Komanda mkdir


Komandom mkdir kreiramo novi direktorijum.

4.2.5. Komanda mv
Komandom mv prebacujemo sadraj sa jedne fizike lokacije na drugu (source ->
destination). mv source destination (komanda u svom osnovnom obliku).

4.2.6. Komanda cp
Komandom cp kopiramo sadraj sa jedne lokacije na drugu (source -> destination). cp
source destination (komanda u svom osnovnom obliku).

4.2.7. Komanda less


Komanda koju koristimo za prikaz fajlova. Komanda less izvrava se bre i kod pregledanja
veih fajlova to joj daje prednost u odnosu na upotrebu editora vi za pregledanje fajlova. Nakon
korienja less komande vraamo se u komandnu liniju izborom tastera q.

4.2.8. Komanda uname


Komandu uname koristimo za dobijanje osnovnog skupa informacija o sistemu na kojem
radimo. Osnovni skup informacija podrazumeva verziju kernela (naziv), verziju procesora, naziv
maine, hardversku platformu, operativni sistem, itd.

4.2.9. Komanda tar


Komanda tar koristi se kao alat za rad sa arhivama. Ova komanda veoma je rasprostranjena i
svaki korisnik linux operativnih sistema dosta esto je u kontaktu sa arhivama (izvorini kodovi,
dokumenti koji se alju mejlovima poeljno je da budu arhivirani i kompresovani). Za sve detalje i
mogunosti komande tar korisnik se upuuje na manual stranice ove komande (man tar). Pomou
tar komande moemo da arhiviramo fajlove kao i da raspakujemo ve postojee tar arhive.

19
4.3. Skript fajlovi
Skript fajlovi prestavljaju skupove komandi organizovane u okviru celina poznatih pod naziv
skript fajlovi ili skriptovi. Skript fajl sadri niz sukcesivno navedenih komandi koje se izvravaju
onim redosledom kojim su navedeni u samom skript fajlu. Osobine kvalitetnog skript fajla:
pokretanje bez greaka
realizacija zadatka za koji je predvien
programska logika je jasno definisana i jednoznana
skript ne radi stvari koje nisu predviene
skript treba da bude upotrebljiv (reusable)

4.4. Promenjive
Prilikom rada sa shell-om razlikujemo globlane promenjive, lokalne promenjive, a takoe
postoji podela promenjivih prema sadraju. Globalne promenjive ili promenjive okruenja dostupne
su u svim shell-ovima. Da bi prikazali sve promenjive okruenja koristimo komandu printenv.
Analagno komandi printenv mogue je koristiti i komandu env. Rezultat je identian u oba sluaja.
Lokalne promenjive mogue je prikazati pomou komande set meutim tada prikazujemo i
sve promenjive okruenja kao i funkcije.
Promenjive prema sadraju moemo podeliti na:
string
integer
array
constant
Postavljanje lokalnih promenjivih realizuje se navoenjem imena promenjive, a zatim se
navodi vrednost promenjive iza znaka jednakosti (prema konvenciji lokalne promenjive se piu
malim slovima). variable_name = "value" Lokalne pomenjive vidljive su samo u shell-u u kojem su
i postavljene.
Globalne promenjive postavljamo komadom export. export VARIABLE_NAME = "value"
(prema konvenciji velikim slovima se oznaavaju globalne promenjive). Svaki shell moe da ima i
rezervisane promenjive.

20
Slika 1.4. Rezultat komandi printenv i env.

4.5. Regularni izrazi

Regularni izrazi su pattern-i koji opisuju skupove stringova. Regularni izrazi konstruiu se
analogno aritmetikim izrazima upotrebljavajui operatore u kombinaciji sa manjim izrazima.
Osnovni gradivni element svakog regularnog izraza je karakter.
Takoe, regularni izrazi ukljuuju u svoj sastav i metakaraktere koji imaju specijalno
znaenje unutar regularnih izraza.
Da bi postojanje metakaraktera bilo to jasnije navodimo neke metakaraktere sa opisom
znaenja odnosno sa efektima koje imaju:
. - oznaava jedan karakter (tj. doker koji predstavlja bilo koji karakter)

21
? - ono to se nalazi ispred je opciono i bie uzeto u obzir najvie jednom
* - ono to se nalazi ispred uzima se 0 ili proizvoljan broj puta
+ - ono to se nalazi ispred uzima se 1 ili proizvoljan broj puta
{N} - ono to se nalazi ispred uzima se u obzir tano N puta
{N,} - ono to se nalazi ispred uzima se u obzir N ili vie puta
{N,M} - ono to se nalazi ispred uzima se u obzir namanje N a najvie M puta
Regularni izrazi imaju svoju primenu u okviru komandi koje koristimo za rad u shell-u,
naroito onih koje zahtevaju neke generike promene. Jedna od komandi koji koriste regularne
izraze je i grep komanda.

4.6. Grep komanda

Grep komanda pretrauje fajl i uporeuje sa sadrajem koji se prosledi grep komandi. Kao
rezultat dobijamo linije unutar fajla koji se pretrauje i koji sadri traene paterne. Za detalje vezane
za komandu grep uvek je dostupna pomo upotrebom komande man grep. npr. Ukoliko elimo da
saznamo u kojoj liniji u fajlu "/etc/passwd" nalazi string "root" onda unosimo sledeu komandu:
grep -n root /etc/passwd.

Slika 4.6.Prikaz grep komande.

22
5.LINUX RENIK
Cilj ovog poglavlja je da obezbedi svojevrsni renik pojmova, komandi i aplikacija. Namena
mu je da bude posetnik za poetnike, koji mogu da ga odtampaju i da ima tako uvek bude pri ruci.

Pre prouavanja renika potrebno je znati format linux komandi, koje se zadaju u sledeoj
formi:

1. ime komande
2. opcije komande (slova ili rei kojima prethodi -)
3. argumenti (nazivi datoteka, direktorijuma, proizvoljni tekst)

A
acroread - ita fajlova u PDF formatu
adduser - dodavanje novog korisnika
alias - kreiranje shell aliasa za komande koje koristimo iz shell-a
alias <skraenica> <puna komanda> Na ovaj nain u shellu tcsh formiramo skraenice za
odreene komande koje kasnije koristimo. Skraenice su aktivne dok se ne izlogujemo.
alias <skraenica>=<puna komanda> Isto to samo za shell bash
alias l ls -l pravimo skraenicu l ako koristimo shell tcsh
anacron izvravanje komandi periodino, a ne podrazumeva neprekidno pokretanje maine
aspell - provera unesenog teksta (ima ogroman broj mogunosti)

B
bash - Bourne Again SHell
bg - pokretanje procesa u pozadini
bzip2 - fajl kompresor

C
cat - spaja i prikazuje fajlove na standardnom izlazu
cd <direktorijum> - promena direktorijuma

23
cd .. vranje u prethodni direktorijum
cd. tekui direktorijum
cd vraanje u home direktorijum
chgrp - promena grupe chmod - promena prava pristupa fajlu
chown - promena vlasnika i grupe
cp - kopiranje filova crontab - upravljanje crontab fajlovima
csh - C shell

D
date - postavljanje ili prikazivanje datuma
df - prikaz iskorienosti diska
diff - razlika izmeu fajlova
du Disk Usage Koliko u kilobajtima zauzima koji direktorijum (ukljuujui i tekui)
du slino, samo za korisnika home direktorijuma
du -b slino, samo u bajtima
du -a ovako radi i za fajlove i za direktorijume
df Disk free podaci o particijama na hard disk

E
echo <poruka> ispisuje poruke
echo Neki tekst ><fajl> pie poruku u fajl. Prethodni sadraj fajla biva obrisan.
echo Neki novi tekst >><fajl> dopisuje poruku na kraj fajla
emacs - pokretanje emacs editora teksta
exit - izlaz iz trenutnog shell-a
export - dodavanje funkcije(a) u shell okruenje

F
fdisk - komanda za manipulaciju sa particijama
fetchmail - dohvatanje mejla sa POP, IMAP, ETRN ili ODMR servera
fg - prebacivanje posla u frontend (iz pozadinskog)
file odreivanje tipa fajla
find <direktorijum> <expression> tampaju se direktorijumi, fajlovi i poddirektorijumi
find -name * lista sve fajlove u home direktorijumu i njegovim poddirektorijumima

24
find / -name <fajl> lista sve pojave fajla u svim direktorijumima hard diska
find <direktorijum> -name <ime fajla> -exec <komanda> izvrava komandu koju navedemo nad
fajlovima koje je pronaao kao argumentima (ako imamo pristup tim fajlovima)
find <direktorijum> -perm <ovlaenje> trai fajlove po ovlaenju
ftp - servis za transfer fajlova

G
gimp - program za rad sa slikama
grep - pretraga i prikaz odreene linije prema odreenom paternu
grep v <uzorak><lista fajlova> lista sve linije osim onih koje sadre <uzorak>
grep F <lista fiksnih karaktera> pojedini specijalni karakteri . ^ $ i jo neki se
tretirajukaoregularni izrazi, i odmah se razvijaju u listu. Da se to ne bi dogodilo koristimo opciju -F
grep x <tekst> spisak svih linija koje sadre jedino <tekst>
grep-n <uzorak><lista fajlova> pored svake linije ispisuje i njen redni broj (indeksira ih)
grep -E<regularni izraz> spisak svih linija koje sadre <regularan izraz>
grub - shell za podeavanje opcija za butovanje sistema
gv - PostScript i PDF ita fajlova
gzip - kompresovanje ili proirivanje fajlova

H
head <fajl> ispisuje poetak fajla (prvih 10 slova)
host - DNS alat
httpd - Appache hypertext transfer protocol

I
iptables - administrator ip tabela

J
jar - Java ARchive alat
jobs - lista pozadinskih procesa

K
kill - gaenje odreenih procesa (svih procesa)
kill <pid> ubijanje procesa iji je pid <pid> (vidi se pomou ps). Pid je skraeno od Process ID

25
kill %<job> kao i malopre, broj <job> se vidi pomou jobs

L
ldapmodify - modifikovanje LDAP unosa ldapsearch - LDAP search alat
lilo - Linux Boot Loader locate - lociranje fajlova
logout - zatvaranje trenutne sesije shell-a
ls <lista direktorijuma ili fajlova> List pandan DOS-ove naredbe dir
ls * lista i one fajlove koji su unutar poddirektorijuma
ls d * ne listaju se direktorijumi
ls aBb* lista sve fajlove ije je prvo slovo je a, drugo slovo B ili b
ls -l detaljnije informacije o fajlovima, npr. Atributi
ls -s lep ispis (brojevi pored fajlova govore koliko je veliki fajl u kilobajtima)
ls -R ispis sadraja tekueg direktorijuma i poddirektorijuma
ls -p da bi u screenu direktorijumi bili oznaeni kosom crtom (/)
ls -o da bi u screenu izvesni fajlovi bili osvetljeni
lynx - veb pretraiva (txt mod) - nema slika, ali veoma brz

M
mail - slanje i primanje mejla
man - prikaz stranica koji sadre pomo
mkdir - pravljenje direktorijuma
more - prikaz sadraja fajla na jednoj strani (korisno za pregled sadraja ukoliko fajl ima vie
strana)
mount - mountovanje fajl sistema ili prikaz informacija o ve mountovanim fajl sistemima
mv - premetanje i rename (promjena imena) fajlova
mv <fajl><novo ime fajla> move slino kao kopiranje, samo sto se originalni fajl nee sauvati,
tj. ovako se vri preimenovanje
mv <lista fajlova><direktorijum> promena mesta boravka fajlova
mv -i <lista fajlova><direktorijum> za svaki fajl pita da li da se izvri move

P
passwd - promena lozinke
ping - slanje echo request-a host-u
pwd - prikaz u kome se trenutno direktorijumu nalazimo

26
ps Process Status spisak procesa koji se izvravaju
ps a slino, samo za sve procese (all)
ps u <username> prikaz svih pokrenutih procesa za <username>
ps l kompletan prikaz procesa koji se izvravaju (sa prioritetima)
ps ax prikazuje trenutne procese svih ljudi (i od roota) i procese koji nisu vezani za terminal.
Opcija x se najvie koristi za otkrivanje procesa koji su se otrgli kontroli.

Q
quota - prikazuje kapacitet diska i kvote koje su dodeljene za korisnika

R
reboot - zaustavaljnje i ponovno pokretanje sistema rm - uklanjanje fajl/ova
rpm - RPM package manager

S
scp - sigurna konekcija na udaljeni raunar
sleep - ekanje odreeni vremenski period
sort <lista fajlova> - ispisuje fajlove sortirane po prvom polju (koloni) na ekran (stdout)
su - prelaz sa korisnika na korisnika (sweetch user)

T
tail - prikaz poslednjeg dela fajla
tar - komanda za arhiviranje (najee se koristi u kombinaciji sa alatom za arhiviranje)
traceroute - prikaz route paketa koji se uzima od hosta

U
uptime - prikazuje vreme koje je proteklo od pokretanja sistema
update - vraanje izmenjenih buffer-a od strane kernela na disk
userdel - brisanje naloga za korisnika i odgovarajuih fajlova

V
vim - poboljani vi editor

27
W
w ko je ulogovan
who koga jo ima na sistemu
who am i ispis linih podataka
whoami ispisuje se samo username
which ovako se dobija gde se nalazi program za promenu ifre
which<file> Gde je na disku fajl koji se startuje tim imenom
whowrite - pisanje poruke drugom korisniku

Z
zgrep - pretraga kompresovanih fajlova prema odreenom paternu
zmore - filter za prikaz kompresovanog teksta

28
6. ZAKLJUAK
Linux je raunarski operativni sistem sastavljen i razvijen u skladu sa principima slobodnog
softvera. Glavni deo Linuxa je jezgro (takozvani kernel) ili centralni deo operativnog sistema iju je
prvu verziju razvio Linus Torvalds 1991.godine. Samo jezgro operativnog sistema postalo je
dostupno javnosti 5.oktobra iste godine kada je postavljeno na FTP server Univerziteta u
Helsinkiju.
U tekstu koji sledi bice rei o prednostima i manama Linux operativnog sistema u odnosu na
njegove glavne konkurente.
1. Linux operativni sistem je napravljen tako da virusa gotovo nema
2. Ima vrlo mali broj programa koji se zbog neke greke zaustave sami od sebe
3. Retko se deava da neki program zaustavi ceo sistem
4. Ni jedan program ne zaustavlja rad drugih programa. Kada jedan program ne radi
dobro, drugi sasvim normalno nastavljaju svoje izvravanje.
5. Programi su manji, ne zahtevaju mnogo memorije
6. Deinstairanje i instaliranje programa gotovo nikada ne brie vlastite podatke
7. GNU/Linux je odlian za programiranje.Postoje skoro svi programski jezici za
Linux,kompajleri za C, C++, ANSI C, Pascal, Fortran, programerski jezici kao Lisp,
COBOL, ADA itd.
8. Linux nudi gotovo besplatan softver
Potekoe kod Linuksa su to to moramo da nauimo veliki broj komandi za rad u
GNU/Linuxu i prevedemo veliki broj novih rei. Takoe, instaliranje novih programa nije
jednostavno kao u Windowsu.
Najvea prepreka koju Linux treba da savlada jeste nedostatak popularnog softvera, koji e
raditi pod njim. Nedostatak Linuxovih verzija se ogleda u nedostatku popularnih poslovnih i linih
aplikacija kao to su aplikacije za grafiku obradu, grafiki dizajn, tehniko crtanje imultimedijalnu
obradu.
Linux se i dalje razvija i prilagoava trendovima i potrebama korisnika, a svako ko eli da
na bilo koji nain uestvuje dobrodoao je. Alternativa komercijalnim reenjima koju je svet
slobodnog softvera iznedrio viestruko je znaajna, ne samo zbog faktora cene ve i zbog slobode
koju korisnici ovih sistema uivaju, te ne bi bilo pretenciozno rei da je Linux tu odigrao glavnu
ulogu.

29
LITERATURA
[1] B. orevi, D. Pleskonji, N. Maek: Operativni sistemi: UNIX i Linux
[2] Machtelt Garrels, Bash Guide for Beginners, version 1.8, 2006
[3] Mendel Cooper, Advanced Bash Scripting Guide, version 4.0, 2006
[4] openSUSE 10.2 Reference Guide, 2007
[5] openSUSE 10.2 Start Guide, 2007

30

You might also like