unod u linux
TRANSCRIPT
-
7/24/2019 Unod u Linux
1/73
Prirunik za polaznike 2013 Srce
Uvod u LinuxD105
prirunik za polaznike 2013 Srce
-
7/24/2019 Unod u Linux
2/73
Ovu inaicu prirunika izradio je autorski tim Srca u sastavu:
Autor: Vladimir Braus
Urednik: Suzana Kiki
Lektor: Jasna Novak Mili
Sveuilite u Zagrebu
Sveuilini raunski centar
Josipa Marohnia 5, 10000 Zagreb
ISBN: 978-953-7138-44-8 (meki uvez)
ISBN: 978-953-7138-45-5 (PDF)
Verzija prirunika D105-20141205
Ovo djelo dano je na koritenje pod licencom Creative CommonsImenovanje-Nekomercijalno- Dijeli pod istim uvjetima 4.0 meunarodna.Licenca je dostupna na stranici:
http://creativecommons.org/licenses/by-nc-sa/4.0/.
-
7/24/2019 Unod u Linux
3/73
Sadraj
Uvod .................................................................................................................................... 1
1. Osnovni pojmovi ............................................................................................................ 3
1.1. Osnove rada u Linuxu............................................................................................................................. 3
1.2. Naini rada............................................................................................................................................... 31.3. Udaljeni pristup ........................................................................................................................................ 3
1.4. Vjeba: Prijavljivanje na sustav i osnove rada s programom PuTTY...................................................... 41.5. Pitanja za ponavljanje .............................................................................................................................. 6
2. Naredbe u L inuxu........................................................................................................... 7
2.1. Radni direktorij ......................................................................................................................................... 7
2.2. Prompt ..................................................................................................................................................... 7
2.3. Izgled naredbi .......................................................................................................................................... 8
2.4. Promjena lozinke ..................................................................................................................................... 8
2.5. Odjavljivanje sa sustava .......................................................................................................................... 9
2.6. Naredbe echoi clear............................................................................................................................ 9
2.7. Informacije o korisnicima na sustavu: who, w, fingeri last............................................................... 9
2.8. Komunikacija s drugim korisnicima: writei mesg............................................................................... 11
2.9. Sustav pomoi: mani info................................................................................................................... 11
2.10. Vjeba: Unos naredbi, komunikacija s drugim korisnicima i zavretak rada na sustavu.................... 122.11. Pitanja za ponavljanje .......................................................................................................................... 14
3. Sustav datoteka ........................................................................................................... 15
3.1. Openito o sustavu datoteka................................................................................................................. 153.2. Imena datoteka ...................................................................................................................................... 15
3.3. Ispis radnog direktorija: pwd.................................................................................................................. 16
3.4. Apsolutne i relativne staze ..................................................................................................................... 17
3.5. Promjena radnog direktorija: cd............................................................................................................ 18
3.6. Ispis sadraja direktorija: ls.................................................................................................................. 18
3.7. Stvaranje i uklanjanje direktorija: mkdiri rmdir................................................................................. 19
3.8. Stvaranje datoteka: touch.................................................................................................................... 20
3.9. Brisanje datoteka: rm............................................................................................................................. 20
3.10. Kopiranje i premjetanje datoteka i direktorija: cpi mv...................................................................... 21
3.11. Ispis sadraja datoteka: cat, moreiless........................................................................................ 22
3.12. Zamjenski znakovi ............................................................................................................................... 22
3.13. Pretraivanje sustava datoteka: find................................................................................................. 23
3.14. () Vjeba: Rad s datotekama i direktorijima....................................................................................... 233.15. Pitanja za ponavljanje .......................................................................................................................... 24
4. Prava pristupa datotekama i direktorijima ................................................................. 25
4.1. Naredba id............................................................................................................................................ 25
4.2. Razine prava pristupa: user, groupi other............................................................................................ 25
4.3. Vrste prava pristupa: read, writei execute............................................................................................ 26
4.4. Postavljanje prava pristupa pomou simbolikih oznaka...................................................................... 27
-
7/24/2019 Unod u Linux
4/73
4.5. Postavljanje prava pristupa pomou numerikih oznaka ...................................................................... 284.6. Naredba umask..................................................................................................................................... 29
4.7. Vjeba: postavljanje prava pristupa...................................................................................................... 304.8. Pitanja za ponavljanje ........................................................................................................................... 31
5. Ureiva teksta GNU nano.......................................................................................... 32
5.1. Openito o ureivaima teksta.............................................................................................................. 32
5.2. Osnovna svojstva ureivaa teksta GNU nano.................................................................................... 325.3. Pokretanje programa ............................................................................................................................. 32
5.4. Osnovne komande ................................................................................................................................ 34
5.6. Vjeba: Rad s ureivaem teksta GNU nano....................................................................................... 355.7. Pitanja za ponavljanje ........................................................................................................................... 36
6. Ljuska Bash .................................................................................................................. 37
6.1. to je ljuska?......................................................................................................................................... 376.2. Upis naredbi .......................................................................................................................................... 37
6.3. Varijable ................................................................................................................................................ 37
6.3. Lokalne varijable ................................................................................................................................... 38
6.4. Varijable okruenja i naredba export................................................................................................. 39
6.5. Vrste naredbi ......................................................................................................................................... 39
6.6. Vjeba: Varijable i naredbe ................................................................................................................... 416.7. Pitanja za ponavljanje ........................................................................................................................... 42
7. Preusmjeravanje ulaza i izlaza naredbi ...................................................................... 44
7.1. stdin, stdouti stderr..................................................................................................................... 44
7.2. Filtri ........................................................................................................................................................ 45
7.3. Preusmjeravanje ulaza: i >>.............................................................................................................. 48
7.5. Preusmjeravanje standardnog izlaza za poruke o grekama: 2>i 2>>............................................... 48
7.6. Ulanavanje.......................................................................................................................................... 497.7. Vjeba: Preusmjeravanje ulaza i izlaza, filtri i ulanavanje naredbi...................................................... 507.8. Pitanja za ponavljanje ........................................................................................................................... 50
8. Procesi .......................................................................................................................... 51
8.1. Openito o procesima ........................................................................................................................... 518.1. Popis procesa: psi top........................................................................................................................ 51
8.2. Izvravanje naredbi u pozadini.............................................................................................................. 52
8.4. Upravljanje procesima u ljusci .............................................................................................................. 52
8.3. Signali i naredba kill.......................................................................................................................... 53
8.4. Vjeba: Upravljanje procesima.............................................................................................................. 548.5. Pitanja za ponavljanje ........................................................................................................................... 55
9. Arhiviranje i saimanje datoteka................................................................................. 56
9.1. Arhiviranje datoteka: tar...................................................................................................................... 56
9.2. Saimanje datoteka: gzip.................................................................................................................... 57
9.3. Vjeba: Arhiviranje i saimanje datoteka.............................................................................................. 589.4. Pitanja za ponavljanje ........................................................................................................................... 58
-
7/24/2019 Unod u Linux
5/73
10. Linuxna mrei ............................................................................................................ 59
10.1. Pristup udaljenim sustavima: sshi scp.............................................................................................. 59
10.2 Mreno ime i domena sustava: hostnamei dnsdomainname.......................................................... 59
10.3. Prevoenje mrenih adresa: nslookup, host i dig........................................................................ 60
10.4. Provjera dostupnosti udaljenih sustava: pingi traceroute............................................................ 61
10.5. Vjeba: Linuxna mrei........................................................................................................................ 6210.6. Pitanja za ponavljanje .......................................................................................................................... 63
A. Dodatak: Mrene postavke sustava L inux................................................................ 64
A.1. Preduvjeti za rad na mrei.................................................................................................................... 64A.2. Mrena adresa raunala i izlazni usmjeriva (gateway) ....................................................................... 64A.3 Simboliko ime raunala i DNS-posluitelji............................................................................................ 66
-
7/24/2019 Unod u Linux
6/73
-
7/24/2019 Unod u Linux
7/73
Uvod u Linux(D105)
1
Uvod
Teaj Uvod u Linuxrad s naredbama (D105)obrauje osnove rada utekstualnom okruenju sustava Linux. Namijenjen je polaznicima koji imaju
malo iskustva u radu s Linuxomili do sada uope nisu radili na Linuxu.Za pohaanje ovog teaja dovoljnoje sljedee predznanje: poznavanjeosnova rada s raunalom i operacijskim sustavom MS Windowstepoznavanje osnova rada na Internetu.
U ovom su priruniku imena i pojedini elementi naredbi, imena datoteka idirektorija, korisnika imena te imena varijablipisani proporcionalnimslovima (na primjer: naredba passwd, datoteka /tmp/test, korisnik
tecaj01, varijabla PS1).
Sintaksa naredbi pisana je podebljanim proporcionalnim slovima. Na
primjer:
cat [DATOTEKA...]tar x[v]f ARHIVA [POPIS]
mesg [y|n]
Pri tome vrijedi:
objekti koji nisu pisani u uglatim zagradama su obavezni elementisintakse
objekte koji su u zagradama moe se prilikom pisanja naredbiispustiti (nisu obavezni)
objekti pisani malim slovima navedeni su eksplicitno (treba ih pisati
tono onako kako je navedeno u sintaksi, obino su to opcije i nazivinaredbi) objekti pisani velikim slovima su promjenjiva imena (obino su to
argumenti naredbi)
tri tokice (...) oznaavaju da se prethodni element moeponavljati proizvoljan broj puta
znak |(pipe) oznaava da na navedenom mjestu treba pisati jedanod susjednih objekata.
Primjeri su pisani proporcionalnim slovima. Poruke o grekama pisane sucrveno. Na primjer:
$ ls -a
.profile doc test$ ls abcls: cannot access abc: No such file or directory$
Tipke i kombinacije tipki (kontrolni znakovi) pisane su proporcionalnim
slovima u uglatim zagradama (na primjer: [Backspace], [B], [Ctrl-C],
[Alt-X]).
Vani su pojmovi prilikom prvog spominjanja pisani podebljano.
Strani izrazi i nazivi pisani su kurzivom.
-
7/24/2019 Unod u Linux
8/73
Uvod uLinux(D105)
2
-
7/24/2019 Unod u Linux
9/73
Uvod u Linux(D105)
3
1. Osnovni pojmovi
1.1. Osnove rada u Linuxu
Linuxomoguava istovremeni rad vie korisnika, stoga kaemo da je Linuxviekorisniki sustav.
Svakom korisniku dodijeljen je korisniki raunskup resursa koje moekoristiti. Primjeri resursa koje korisnici mogu koristiti su diskovni prostor,procesorsko vrijeme, radna memorija, pisai i drugo.
Kako bi sustav mogao razlikovati korisnike raune (a time i same korisnikena sustavu), svaki korisniki raun ima svojeime. Taj je podatak, zajedno skorisnikom lozinkompotrebno upisati prilikom prijavljivanja za rad nasustavu. Na taj nain sustav zna koji se korisnik prijavljuje i provjerava
njegov identitet. Korisniko je ime javni podatak, dok je lozinka tajnipodatak.
Sustav se brine o tome da su korisnika radna okruenja meusobnoodvojena te da korisnici mogu upravljati svojim radnim okruenjemodreivati prava pristupa do svojih podataka, podeavati svoje radnookruenje (putem konfiguracijskih datoteka), pokretati programe i upravljatinjihovim izvoenjem i drugo.
1.2. Naini rada
Linuxomoguava vie naina rada. Prvi nainrada je neposredan rad nakonzoli ili terminalu koji su direktno spojeni na raunalo. Drugi je nainudaljenputem raunalne mree i drugog raunala koje simulira terminal.
U oba je sluaja mogue raditi u tekstualnom ili grafikom radnomokruenju.
U tekstualnom radnom okruenjusustavom se upravlja unosomtekstualnih naredbi.
U grafikom radnom okruenjusustavom se upravlja putem grafikogsuelja u kojem su pojedini elementi sustava i naredbe prikazan i kaografiki objekti (ikone).
1.3. Udaljeni pristup
Komunikaciju izmeu udaljenog i lokalnog sustava odreujeodabraniprotokoljezik kojim se slue raunala za povezivanje i razmjenupodataka.
Danas se za terminalski pristup udaljenim raunalima najee koristiprotokol SSHkoji omoguava sigurno povezivanje raunala kriptiranjempodataka koji se razmjenjuju meu raunalima.
Postoje i drugi protokoli za terminalski pristup udaljenim raunalima. Nekiod njih (na primjer, telnetili rlogin) ne koriste kriptiranje prilikom razmjene
Napomena
Vano je uvati tajnost lozinki!
Napomene
Terminalise sastoje od ekranai tipkovnice.
Konzolaje terminal putemkojeg se upravlja raunalomtijekom pokretanja sustava tese na njega ispisuju kritineporuke za vrijeme radasustava.
Napomena
Korisniko ime administratorasustava je root.
Napomena
Rad u grafikom radnomokruenjusustava Linux,napredno sluenje sustavomLinuxte sistemskaadministracija sustava Linuxnisu predmet ovog teaja.
-
7/24/2019 Unod u Linux
10/73
Uvod uLinux(D105)
4
podataka. Ti se protokoli smatraju nesigurnima i njihovo koritenje trebaizbjegavati.
Da bi se putem lokalnog raunala moglo raditi na udaljenom raunalu,potrebno je na lokalnom raunalu imati instaliran odgovarajui program
(klijent). Taj program ima dvojnu funkciju: on ostvaruje vezu s udaljenimraunalom (rabei pri tome odgovarajui protokol) te simulira rad terminala.
PuTTYjejedan od takvih programa. Besplatan je i mogue ga je preuzetina adresi: http://www.chiark.greenend.org.uk/~sgtatham/putty/.
Instalacija tog programa je vrlo jednostavna: nakon preuzimanja s Internetadovoljno je program raspakirati i kopirati na eljeno mjesto na disku.
Da bi se mogla uspostaviti veza s udaljenim raunalom, potrebno jepoznavati njegovo mreno (simboliko) ime ili njegovu mrenu (numeriku)adresu.
Mrena imena strojeva su oblika imestroja.domena (na primjer,
baltazar.srce.hr), a numerike adrese su nizovi od etiri okteta razdvojenihtokom (na primjer, 161.53.2.82).
1.4. Vjeba: Prijavljivanje na sustav i osnove rada sprogramom PuTTY
Da bi se ova vjeba mogla izvesti potrebno je:
na lokalnom stroju imati instaliran program PuTTY poznavati mreno ime stroja na kojem e se raditi imati korisniki raun na udaljenom stroju (poznavati svoje
korisniko ime i lozinku).Navedene podatke dobit ete od predavaa na poetku vjebe. Zapamtiteili zabiljeite te podatke jer eteih esto koristiti tijekom ovog teaja.
1. Pokrenite program PuTTY.
Program PuTTY pokree se na neki od uobiajenih naina:dvostrukim klikom na ikonu koja na radnoj povrini ili natvrdom disku predstavlja navedeni program iliodgovarajuim odabirom u izborniku sustava.
2. Odaberite i upiite osnovne parametre veze.
Nakon pokretanja programa, pojavit e se prozor u kojem je mogueodabrati osnovne postavke veze koja se eli uspostaviti.
Upiite ime udaljenog stroja i odaberite protokol SSH (kao na slici).Nakon toga kliknite na dugme Open.
Program e nakon toga otvoriti novi prozor i uspostaviti vezu sudaljenim raunalom.
Napomena: Prilikom prvog uspostavljanja veze s nekim raunalom,PuTTY od korisnika trai odobrenje da uspostavi odnos povjerenja s
navedenim raunalom. Da biste programu potvrdili da moe nastaviti sradom, dovoljno je da kliknete na dugme Ok.
Napomena
Nesigurne protokole koji nekoriste kriptiranje prilikomrazmjene podataka treba
izbjegavati!
-
7/24/2019 Unod u Linux
11/73
Uvod u Linux(D105)
5
3. Prijavite se na sustav.
Nakon uspostavljanja veze s udaljenim raunalom, potrebno je prijavitise za rad na sustavu. Upiite svoje korisniko ime i lozinku.
Nakon uspjene prijave, sustav je ispisao nekoliko redaka teksta. tomoete zakljuiti o sustavu na osnovi teksta koji je ispisao?
4. Promijenite vrstu i veliinu slovakoja se koriste za prikaz teksta uprozoru programa PuTTY.
Kliknite desnom tipkom mia na gornji dio okvira radnog prozoraprograma PuTTY. Pojavit e se izbornik.
Odaberite Change Settings. Pojavit e se novi prozorPuTTYReconfiguration.
U novom prozoru u okviru Categoryodaberite Window/Appearance iunutar okvira s naslovom Set the font used in terminal windowkliknite na dugme Change
U novom prozoru odaberite sljedei font: Courier New, Regular, 12 ptikliknite na Ok.
U prozoru PuTTY Reconfigurationkliknite na dugme Applykoje senalazi na dnu prozora.
dugme zauspostavljanjeveze
odabirprotokola
ime udaljenog
stroja
-
7/24/2019 Unod u Linux
12/73
Uvod uLinux(D105)
6
U novom prozoru odaberite sljedei font: Courier New, Regular, 12 ptikliknite na Ok.
U prozoru PuTTY Reconfigurationkliknite na dugme Applykoje senalazi na dnu prozora.
1.5. Pitanja za ponavljanje
1. Linuxje viekorisniki sustav. to to znai?
2. to je korisniki raun?
3. to je potrebno upisati prilikom prijavljivanja na sustav?
4. Na koje se naine moe raditi na Linuxu?
5. Po emu se razlikuje tekstualno od grafikog radnog okruenja?
6. to su protokoli i emu slue?
7. Koji se protokol danas najee koristi za rad na udaljenim sustavima izato?
8. Koje je podatke nuno poznavati da bi se moglo raditi na nekomudaljenom sustavu?
9. Ako je prijava na sustav neuspjena, koji su mogui razlozi za to?
-
7/24/2019 Unod u Linux
13/73
Uvod u Linux(D105)
7
2. Naredbe u Linuxu
2.1. Radni direktorij
Tijekom rada u Linuxuuvijek se nalazimo u nekom direktoriju (mapi). Toznai da kada Linuxuzadajemo neku naredbu i ako nismo drugaije naveli,ona se odnosi upravo na taj direktorij i njegov sadraj.
Taj se direktorij zove radni direktorij.
Na primjer, ako Linuxuzadamo da stvori neku datoteku, on e je stvoritiupravo u radnom direktoriju (osim ako nismo izravno naveli da to napravi unekom drugom direktoriju).
Prvi radni direktorij u kojem se naemo nakon prijave na sustav zove sepoetni direktorij(home).
Svaki korisnik ima svoj poetni direktorij.Vie o direktorijima objanjeno je u poglavlju 4. Sustav datoteka.
2.2. Prompt
Promptje niz znakova koje sustav ispisuje kao obavijest da je spreman zaizvrenje sljedee naredbe.
Uobiajeno se prompt sastoji od korisnikog imena, imena stroja i(li) imenaradnog direktorija meusobno odijeljenih znakovima (separatorima) @, :i $.
Na primjer:
[email protected]:/tmp$
tecaj01je korisniko ime
@je znak kojim se razdvaja korisniko ime od ostatka prompta (prviseparator)
baltazar.srce.hr je ime stroja
:je znak kojim se razdvaja ime stroja od ostatka prompta (drugiseparator)
/tmp je ime radnog direktorija
$je znak koji oznaava kraj prompta.
Izgled prompta mogueje mijenjati. Izmjene mogu raditi sistemskiadministratori (za sve korisnike na sustavu) i sami korisnici (za svojepotrebe).
Primjer vrlo jednostavnog prompta je: $.
Poetni direktorij se esto oznaava znakom ~(tilda).
Na primjer, ako je na poetni direktorij /home/tecaj01i ako se nalazimou njemu, tada e na prompt umjesto
[email protected]:/home/tecaj01$
izgledati ovako:
Napomena
Znak ~(tilda) oznaava poetnidirektorij (home).
-
7/24/2019 Unod u Linux
14/73
Uvod uLinux(D105)
8
2.3. Izgled naredbi
Naredbe u Linuxuupisujemo u naredbenu liniju iza prompta.
Kraj unosa naredbe oznaavamo pritiskom na tipku [Return]. Ta je tipka
ujedno znak za kraj retka i prelazak u novi.
Osim u posebnim sluajevima (koji su objanjeni u poglavlju 6. LjuskaBash), kraj retka ujedno predstavlja i kraj naredbe.
Primjer vrlo jednostavne naredbe je date. Ta naredba ispisuje datum ivrijeme:
$ dateMon Sep 16 10:52:32 CEST 2013$
Uoite da smo naredbu dateupisali iza prompta (koji je u ovom sluajuvrlo jednostavan, samo znak $). Sustav je u novi red ispisao datum ivrijeme. Nakon toga je ponovno ispisao prompt kao znak da je zavrio sizvoenjem nae naredbe i daje spreman prihvatiti novu naredbu.
Linuxrazlikuje mala od velikih slova. Tako su datei DATE(ili DaTe)
razliite naredbe.
U pravilu, sve se naredbe u Linuxupiu malim slovima.
Neke naredbe (veina njih) omoguavaju nam da upisivanjem dodatnihparametara mijenjamo nain na koji se one izvode.
Parametri mogu biti opcijei argumenti.
Pojedine dijelove naredbi (ime, opcije i argumente) meusobno odvajamopritiskom na razmaknicu.
Na primjer, upoznali smo naredbu datekoja standardno ispisuje datum i
vrijeme. Ako elimo izmijeniti datum i vrijeme na sustavu, takoer semoemo posluiti naredbom date, ali tada moramo promijeniti nain nakoji se ona izvodi. To radimo tako da nakon imena naredbe dodamododatne parametre:
$ date -s "3 OCT 2013 18:00:00"Thu Oct 3 CEST 18:00:00
$
Opcijom ssmo promijenili ponaanje naredbe tako da umjesto ispisa onamijenja datum i vrijeme na sustavu, a argument "3 OCT 2013
18:00:00"predstavlja izmjenu koju elimo napraviti.
2.4. Promjena lozinke
Lozinka se mijenja naredbompasswd.
Prilikom izmjene prvo treba upisati staru lozinku, nakon toga treba upisati
novu lozinku i potvrditi je ponovnim upisom.
Napomena
Linuxrazlikuje mala od velikihslova. U pravilu, sve senaredbe u Linuxupiu malimslovima.
Napomena
Ime naredbe odreuje totreba napraviti, opcijama seodreuje kako to trebanapraviti, a argumentima seobino upuuje na objektkoji je predmet obrade.
-
7/24/2019 Unod u Linux
15/73
Uvod u Linux(D105)
9
Primjer:
$ passwdChanging password for tecaj01(current) UNIX password:
New UNIX password:Retype new UNIX password:$
Administratori koji odravaju sustav mogu postaviti razliita ogranienja naodabir lozinki. Administratori mogu:
odrediti najmanju duljinu lozinke odrediti trajanje valjanosti lozinke odrediti sloenost lozinke sprijeiti ponavljanje lozinki ili njihovu meusobnu slinost sprijeiti da lozinke sadre osobne podatke korisnika poput
korisnikog imena ili osobnog imena.
U sluaju da se prilikom odabira nove lozinke ne potuje neko od pravilakoje je postavio administrator, sustav nee prihvatiti lozinku i trait eupisivanje neke druge nove lozinke.
2.5. Odjavljivanje sa sustava
Naredba za odjavljivanje sa sustava je logout.
U odreenim sluajevima mogueje odjaviti se i upisivanjem naredbeexitili kombinacijom (istovremenim pritiskom) tipki [Ctrl]i[D](ta sekombinacija obino pie kao [Ctrl-D]).
2.6. Naredbe echoi clear
Naredba echona ekran ispisuje zadane argumente.
Naredba clearbrie sadraj ekrana.
Sintaksa:
echo [STRING ]
clear
Primjer:
$ echo Pozdrav svimaPozdrav svima$
2.7. Informacije o korisnicima na sustavu:who,w,fingeri last
Naredbawhoispisuje popis korisnika koji trenutano rade na sustavu tepodatke o tome od kada rade na sustavu i od kuda su se prijavili na sustav.
Napomena
Lozinke se tijekom upisa neprikazuju na ekranu.
Napomena
Osnovne su smjernice zaodabir lozinke:
lozinke ne smiju sadravatiosobne podatke korisnika
lozinke trebaju biti dugakenajmanje est znakova
lozinke trebaju sadravatirazliite znakove brojke islova
najbolje je da je odabir iredoslijed znakova u lozincisluajan.
Napomena
Na kraju rada obavezno setreba odjaviti.
-
7/24/2019 Unod u Linux
16/73
Uvod uLinux(D105)
10
who am iispisuje podatke samo o korisniku koji je pokrenuo naredbu.
Naredbawtakoer ispisuje popis korisnika koji trenutano rade na sustavu,ali s nekim dodatnim podacima (na primjer, kojim se programom korisniktrenutano koristi i prije koliko je vremena upisao neto na terminalu).Na
vrhu ispisa bit e navedeni neki statistiki podaci vezani uz sustav.Naredbi wkao argument moe se zadati ime nekog korisnika. Tada e seispisati podaci samo za tog korisnika.
Sintaksa:
who [am i]w [KORISNIK]
Primjeri:
$ whoroot pts/1 Sep 12 08:15 (pc1.srce.hr)tecaj01 pts/3 Sep 12 10:23 (pc4.srce.hr)$ who am itecaj01 pts/3 Sep 12 10:23 (pc4.srce.hr)$
Naredba finger, ako je zadamo bez dodatnih argumenata, takoerispisuje popis korisnika koji trenutano rade na sustavu.
Ako kao argument naredbe fingernavedemo neko korisnikoime, sustave ispisati podatke o tom korisniku, neovisno je li taj korisnik trenutanoprijavljen na sustav ili nije.
Sintaksa:
finger [KORISNIK]
Primjeri:
$ finger$ finger tecaj01
Naredba lastispisuje popis svih prijavljivanja na sustav.
Ukoliko se kao argument naredbe lastnavede neko korisniko ime,ispisat e se podaci samo za tog navedenog korisnika.
Sintaksa:
last [KORISNIK]
Primjeri:
$ last$ last tecaj01
Napomena
Zapisi o prijavama na sustav(log) povremeno se briu.
Stoga se na kraju popisa kojiispisuje naredba last nalazinaveden podatak (datum ivrijeme) od kada su na sustavuzabiljeeni podacio prijavama.
-
7/24/2019 Unod u Linux
17/73
Uvod u Linux(D105)
11
2.8. Komunikacija s drugim korisnicima:writeimesg
Naredbawriteispisuje poruku na ekran korisnika ije je ime zadano kaoargument. Poruku upisujemo nakon unosa naredbe, redak po redak. Kraj
poruke oznaava se unosom kontrolnog znaka [Ctrl-D].
Naredbommesgodreujemo smiju li se poruke drugih korisnika ispisivatina naem ekranu (kao argument treba upisati yili n). Ukoliko naredbunapiemo bez argumenta, ispisat e nam se trenutanapostavka.
Sintaksa:
write KORISNIK [TTY]mesg [y|n]
Primjeri:
$ write tecaj01Pozdrav. Kako si?[Ctrl-D]$
$ who -T...marko + pts/0 2013-12-12 09:17 (10.0.2.2)marko + pts/1 2013-12-12 09:28 (10.0.2.2)...$ write marko pts/1...
[Ctrl-D]$
2.9. Sustav pomoi:mani info
Linuxima dva sustava pomoi. Prvi sustav inetakozvane man-stranice(manje kratica od engleske rijei manual). Rije je o dokumentaciji kojaopisuje naredbe i druge dijelove sustava, a koja je podijeljena na poglavlja(sekcije) i stranice.
Navedena je dokumentacija na sustavu pohranjena u elektronikom obliku,a dostupna je pomou naredbeman.
Najjednostavniji nain koritenja naredbe manje da se upie njeno ime, akao argument navede ime neke naredbe. U tom e nam sluaju sustavispisati pripadajuu stranicu koja opisuje tu naredbu.
Neke naredbe ili openito neke kljune rijeimogu biti opisane u vie odjednog poglavlja (sekcije). Standardno e naredba manispisati samostranicu koju je prvo pronala pretraujui dokumentaciju na sustavu.
Ako elimo da nam se ispiu sve stranice (iz razliitih poglavlja), trebamonavesti opciju a.
Ako elimo da nam se ispie stanica iz nekog konkretnog poglavlja, tadakao argument trebamo navesti broj poglavlja.
Napomena
Drugi argument naredbe write
oznaava (virtualni) terminal nakojem radi korisnik kojemelimo poslati poruku.
To je korisno ako korisnikkojem elimo poslati porukuradi na vie terminalaistovremeno, odnosno ako jeprijavljen na sustav vie puta. Utom sluaju navoenjemdrugog argumenta moemoodabrati na koji terminal elimoposlati poruku korisniku.
Oznake terminala na kojimaradi korisnik kojem elimoposlati poruku moemo dobitinaredbom who.
Ako naredbi whododamo
opciju -Tpokazat e se i
dozvoljavaju li korisnici s popisaispis poruka drugih korisnika nasvojim ekranima.
-
7/24/2019 Unod u Linux
18/73
Uvod uLinux(D105)
12
Ako ne znamo ime naredbe za koju traimo dodatne informacije, moemopretraivati sustav pomoi pomou kljune rijei. U tom sluaju kao opcijutrebamo navesti k, a kao argument eljenukljunu rije. Rezultat e bitipopis svih stranica koje u sebi sadre navedenu kljunu rije.
Sintaksa:
man [-a | POGLAVLJE] NAREDBAman k KLJUNA_RIJE
Primjeri:
$ man shutdown$ man a shutdown$ man k shutdown
Prilikom itanja man-stranica moemo koristiti sljedee tipke:
kursorske tipke - za kretanje kroz ispisane stranice razmaknicu ([Space]) - za prelazak na sljedeu stranicu [p]- za povratak na prethodnu stranicu) [q]- za kraj ispisa.
Naredba infoomoguava pristup do dokumenatakoji ine drugi sustavpomoi,takozvane info-stranice. Ovaj se sustav pomoi sastoji odhipertekstualnih dokumenata. Dokumentaciju u ovom formatu imaju samoneki, veinom noviji programi posebno pisani upravo za Linux. Ukoliko nepostoji dokumentacija za traeni pojam meu info-stranicama, naredbainfoe ispisati odgovarajuu man-stranicu (ako ona postoji).
Sintaksa:
info NAREDBA
Primjer:
$ info info
2.10. Vjeba: Unos naredbi, komunikacija s drugimkorisnicima i zavretak rada na sustavu
1. Prijavite se na sustav, ukoliko ve niste prijavljeni.
2. Provjerite izgled prompta.
3. Upiite naredbu ls.
Prouiterezultat. Po emu znate da je naredba lszavrila i da moeteupisati novu naredbu?
4. Upiite sljedee naredbe:
ls lls /ls -l /
-
7/24/2019 Unod u Linux
19/73
Uvod u Linux(D105)
13
Prouite rezultat. Kako su opcije i argumenti promijenili nain radanaredbe ls?
5. Upiite LS.
to se dogodilo?
6. Odaberite i postavite novu lozinku.
Odaberite novu lozinku u skladu s preporukama i dobro je zapamtite.Nakon toga promijenite lozinku.
7. Odjavite se sa sustava.
8. Pokuajte se prijaviti na sustav, prvo sa starom, a onda s novomlozinkom.
Prilikom prijave na sustav prvo upiite svoje korisniko ime i starulozinku. to se dogodilo? Nakon toga upiite novu lozinku. Je li sveprolo u redu?
9. Provjerite jesu li na sustavu ispravno postavljeni datum i vrijeme.
10. Pomou naredbewhoprebrojite koliko korisnika trenutano radina sustavu.
Jesu li svi korisnici koji trenutanorade na sustavu ujedno i polazniciteaja?
11. Upoznajte se sa svojim susjedom na teaju.
Koje je korisniko imeVaeg susjeda? Je li on trenutanoprijavljen nasustav?
12. Provjerite je li dozvoljen ispis poruka drugih korisnika na Vaemekranu. Ako nije, dozvolite ispis.
13. Zamolite susjeda da naredbomwritepoalje kratku poruku naVa ekran. Poaljite i Vi njemu poruku na ekran.
14. Dogovorite se sa svojim susjedom da istovremeno upietenaredbumesg ni ponovite prethodni korak u vjebi.
to se dogodilo?
15. Prouite koje podatke o sebi moete doznati pomou naredbefinger.
Koji je Va poetni direktorij? Koje je ime stroja s kojeg pristupate nasustav?
16. Pomou naredbe lastprovjerite koji se korisnik posljednjiprijavio na sustav.
Od kada sustav biljei prijavljivanja?
17. Upiite naredbuwi prouite rezultat.
Je li sustav jako optereen? Postoji li neki polaznik teaja koji nerjeava ovu vjebu?
18. Provjerite imaju li pojmovipasswd, gzipi coreutilssvoje man- i
info-stranice.Koji od navedenih pojmova imaju svoju man-stranicu, a koji imaju svoju
-
7/24/2019 Unod u Linux
20/73
Uvod uLinux(D105)
14
info-stranicu? Po emu moete prepoznati na naredba infoispisujeman-stranicu, a ne info-stranicu?
19. Na kraju, obriite sadraj ekrana i pomou naredbeechoispiiteKraj vjezbe!.
2.11. Pitanja za ponavljanje
1. to je prompt?Kojije uobiajeni izgled prompta?
2. Koji su standardni elementi naredbi? to odreuje ime naredbe, a toodreuju opcije iargumenti?
3. Kojom se naredbom mijenja lozinka?
4. Koje uvjete treba zadovoljavati dobro odabrana lozinka?
5. Kojom se naredbom odjavljuje sa sustava? Zato se na kraju radaobavezno treba odjaviti?
6. Koja je razlika izmeu naredbi echo i write?
7. emu slui naredba mesg?
8. Kojom naredbom briemo sadraj svog ekrana?
9. Koja je razlika izmeu naredbi whoi finger?
10. Koje podatke o korisnicima moemo dobiti pomou naredbe finger?
11. emu slue naredbe mani info?12. Kojom opcijom naredbe manpretraujemo sustav pomoi?
-
7/24/2019 Unod u Linux
21/73
Uvod u Linux(D105)
15
3. Sustav datoteka
3.1. Openito o sustavu datoteka
Sustav datotekaje dio operacijskog sustava koji omoguava pohranjivanjei upravljanje datotekama i direktorijima.
Datotekaje logika cjelina koja slui za pohranjivanje podataka unutarsustava datoteka.
Direktorij(mapa) je posebna vrsta datoteke koja sadri datoteke i drugedirektorije (poddirektorije).
Linuxima hijerarhijski sustav datoteka(direktoriji mogu imatipoddirektorije).
Vrni direktorijse jo zove i root-direktorij i oznaava se znakom /.
Na Linuxumoe postojati samo jedan sustav datoteka i samo jedan vrnidirektorij. Ako na sustavu postoji vie diskova ili diskovnih particija, oni suna Linuxuukljueni u jedan te isti sustav datoteka.
Na Linuxusu svi hardverski ureaji (pisai, mrene kartice, ureaji za trajnupohranu podataka, USB-prikljuci i drugo) takoer prikazani kao datoteke imoe im se pristupati na isti nain kao i obinim datotekama na disku.Operacijski sustav se brine o tome da se podaci prenesu navedenimureajima na odgovarajui nain.
Dakle, datoteke na Linuxumogu biti:
obine direktoriji specijalne (ureaji, cjevovodi za komunikaciju meu procesima i
drugo).
Sustav datoteka na Linuxusastoji se od tisua datoteka i direktorija.Uobiajena je organizacija sljedea:
/bin -programi koje koriste i administratori i korisnici
/dev -datoteke koje predstavljaju hardverske ureaje
/etc -konfiguracijske datoteke
/home -osobni direktoriji korisnika
/sbin -sistemski programi/tmp -privremene datoteke
/usr -korisniki programi, dokumentacija i biblioteke
/var -sistemski zapisi i druge promjenjive datoteke.
3.2. Imena datoteka
Datoteke na Linuxumogu imati imena duljine do 255 znakova. Mogu sekoristiti svi mogui znakovi, premda je preporuljivo da se koriste samoalfanumeriki znakovi.
Napomena
Na razliitim sustavima Linux(koji se popularno zovudistribucije) organizacijasustava datoteka moebitirazliita.
-
7/24/2019 Unod u Linux
22/73
Uvod uLinux(D105)
16
Ne preporua se uporaba hrvatskih dijakritikih znakova te metaznakovakoji imaju posebno znaenje za sustav:
* ? > < / ; ! [ ] | \ ' ( ) { }
Primjeri dobro odabranih imena datoteka:
moja_datotekaizvjestaj.txtprogram3.cprimjer-123aPoruka-za-Marka.sifra
Primjeri loe odabranih imena datoteka:
moja datoteka
izvjetaj.txt+program.cprimjer*123aRaun za restoran Tri koljkeizvjetaj/poglavlje2
Svaki direktorij sadri i dvije posebne datoteke. To su .(toka) i ..(dvijetoke).
. -oznaka za radni direktorij
.. -oznaka za nadreeni direktorij.
Imena datoteka koja poinju znakom .(na primjer: .profile) sustavsmatra skrivenim. To znai da kad se, na primjer, ispisuje sadrajdirektorija pomou naredbe lsi ne navedu se dodatne opcije (o emu ebiti rijei u nastavku ovog poglavlja) imena datoteka koja poinju znakom .se ne pojavljuju u popisu.
3.3. Ispis radnog direktorija:pwd
Naredbapwdispisuje koji je na radni direktorij.
Sintaksa:pwd
Primjer:
$ pwd/home/tecaj01$
-
7/24/2019 Unod u Linux
23/73
Uvod u Linux(D105)
17
3.4. Apsolutne i relativne staze
Staza(pathname) je niz imena odijeljenih znakom /(kosa crta, slash) koja
opisuju put ili rutu koju je potrebno proi kroz sustav datoteka da bi se
dolo do eljene datoteke ili direktorija.Posljednje ime u stazi moe biti ime datoteke ili direktorija. Sva ostalaimena u stazi moraju biti nazivi direktorija.
Svaka staza koja ne poinje znakom /je relativnai opisuje put od radnogdirektorija do krajnjeg cilja.
Staze koje poinju znakom /su apsolutnei opisuju rutu od vrnogdirektorija do krajnjeg cilja.
Ako se koristi na poetku staze, znak ~(tilda) oznaava poetni direktorij.
Potpuno imeneke datoteke ili direktorija je apsolutna staza do te datotekekoja zavrava s (kratkim) imenom te datoteke ili direktorija. Na sustavu nemoe postojati vie datoteka(ili direktorija) s istim potpunim imenom.
Primjeri apsolutnih i relativnih staza:
Pretpostavimo da sljedea slika opisuje na sustav datoteka i da je naradni direktorij /home/tecaj03(oznaen sjenanjem):
U sljedeoj se tablici nalaze relativne i apsolutne staze za etiri oznaenasluaja:
Relativna staza Apsolutna staza
1. f1 1. /home/tecaj03/f1
2. zadaci/f1 2. /home/tecaj03/zadaci/f1
3. ../tecaj01/f1 3. /home/tecaj01/f1
4. ../../tmp/f1 4. /tmp/f1
tecaj03
/
tmp home
tecaj01 tecaj02f1
f1 f1 f1 zadaci
f1
-
7/24/2019 Unod u Linux
24/73
Uvod uLinux(D105)
18
3.5. Promjena radnog direktorija: cd
Naredba cdomoguava promjenu radnog direktorija.
Dovoljno je kao argument navesti ime direktorija za koji elimo da budenovi radni direktorij.
Vrijede sljedei posebni sluajevi:
ako se kao argument navede znak -(minus), tada e se za noviradni direktorij postaviti direktorij koji je bio radni direktorijneposredno prije trenutanog
ako se ne navede nikakav argument, tada e se za novi radnidirektorij postaviti poetni direktorij.
Ime novog radnog direktorija moe se zadati bilo relativnom, biloapsolutnom stazom.
Sintaksa:
cd [DESTINACIJA]
Primjeri:
$ cd /tmp$ cd /usr$ pwd/usr$cd $ pwd/tmp
$ cd$ pwd/home/tecaj01$
3.6. Ispis sadraja direktorija: ls
Naredba lsispisuje sadraj direktorija. Dodatni podaci koji se pri tomeispisuju odreuju se opcijama.
Sintaksa:
ls [opcije] [DIREKTORIJ_ILI_DATOTEKA]
Ako se umjesto imena direktorija navede ime neke datoteke, ispisat e sepodaci o toj datoteci.
Ako se ne navede nikakav argument, podrazumijeva se da se radi oradnom direktoriju. Mogue je zadati i vie argumenata (popis direktorija ijisadraj elimoispisati).
Najee koritene opcijenaredbe lssu sljedee:
-l - ispis dodatnih podataka o datotekama i poddirektorijima
-a - ispis svih datoteka i direktorija, ukljuivi i one skrivene(ija imena poinu tokom)
-
7/24/2019 Unod u Linux
25/73
Uvod u Linux(D105)
19
-d - umjesto sadraja ispisuje svojstva direktorija (najee sekoristi zajedno s opcijom l)
-F - na kraj imena direktorija dodaje znak /, a na kraj imena
datoteke koja se moe izvoditi dodaje znak *
-R - rekurzivno ispisuje sadraj zadanog direktorija i svihpoddirektorija.
Vie opcija mogue je navesti zajedno (na primjer: ls al).
Primjeri:
$ lsdoc test$ ls -a.profile doc test$ ls abc
ls: cannot access abc: No such file or directory$ ls /bin etc lib tmp vardev home sbin usr$
Primjer ispisa naredbe ls:
$ ls ladrwxr-x--- 5 tecaj01 tecaj 4096 Sep 29 16:22 .drwxr-xr-x 26 root root 4096 Aug 10 09:27 ..-rw-r--r-- 1 tecaj01 tecaj 191 Feb 7 2005 .bash_profiledrwx------ 3 tecaj01 tecaj 4096 Sep 29 16:22 privatno-rw-r--r-- 1 tecaj01 tecaj 2332 Oct 21 2005 zadatak.txt
$
A - veliina u bajtovimaB - datum/vrijeme zadnje modifikacije
C - ime
Ispis naredbe lsbit e detaljnije objanjen u sljedeem poglavlju.
3.7. Stvaranje i uklanjanje direktorija:mkdiri rmdir
Naredbamkdirstvara, a rmdiruklanja direktorije sa sustava.
Da bi se direktorij mogao obrisati on mora biti prazan (ne smije sadravatineki poddirektorij ili datoteku).
Radni direktorij (direktorij u kojem se trenutano nalazimo i iz kojegpozivamo naredbu rmdir) ne moe se obrisati.
Obje naredbe mogu se zadati s opcijom p. U tom sluaju stvorit e se iliukloniti svi direktoriji navedeni kao dio puta koji je naveden kao argument.
Na primjer, naredba mkdir p test/abcprvo e, ako on ne postoji,stvoriti direktorij test, a nakon toga u njemu poddirektorij abc.
-
7/24/2019 Unod u Linux
26/73
Uvod uLinux(D105)
20
Sintaksa:
mkdir [-p] DIREKTORIJrmdir [-p] DIREKTORIJ
Primjeri:$ mkdir doc$ mkdir test/abcmkdir: cannot create directory 'test/abc': No suchfile or directory$ mkdir p test/abc$ rmdir testrmdir: test: Directory not empty$ rmdir doc$
3.8. Stvaranje datoteka: touch
Naredba touchstvara datoteku sa zadanim imenom. Tako nastaledatoteke su prazne, veliine 0 bajtova.
Ako datoteka ije je ime zadano kao argument ve postoji, promijenit e sesamo datum njene zadnje modifikacije. Sadraj datoteke nee bitiizmijenjen.
Sintaksa:
touch DATOTEKA
Primjer:
$ ls test.txtls: test.txt: No such file or directory$ touch test.txt$ ls test.txttest.txt$
3.9. Brisanje datoteka: rm
Naredba rm uklanja datoteke sa sustava.
Sintaksa:
rm [-i] DATOTEKArm r[i] DIREKTORIJ
Opcijom rzadaje se rekurzivno uklanjanje datoteka i direktorija. Na ovajnain moemo ukloniti i direktorije koji nisu prazni.
Ukoliko se zada opcija i, naredba rme prije uklanjanja bilo koje datotekezatraiti potvrdu. Na nekim je sustavima ova opcija postavljena kao
podrazumijevana (nije je potrebno posebno navoditi). U tom se sluajunjezin uinak ponitava navoenjem opcije f.
Napomena
Obrisane datoteke (idirektorije) vie nije moguevratiti.
-
7/24/2019 Unod u Linux
27/73
Uvod u Linux(D105)
21
Primjeri:
$ rm testrm: cannot remove 'tmp': Is a directory$ rmdir test
rmdir: test: Directory not empty$ rm r test$
3.10. Kopiranje i premjetanje datoteka i direktorija:cpimv
Naredba cpslui zakopiranje datoteka i direktorija.
Pri tome vrijedi sljedee:
treba navesti barem dva argumenta: izvor i destinacija ako se kopira samo jedna datoteka tada destinacija moe biti ime
nove datoteke ili ime direktorija u koji se kopira izvorna datoteka
ako je kao cilj zadan direktorij, izvorna e se datoteka kopirati uzadani direktorij i sauvati originalno ime
kada se odjednom kopira vie datoteka, kao cilj se mora zadatidirektorij
datoteka ne moe biti kopirana u samu sebe direktoriji se kopiraju navoenjem opcijer.
Sintaksa:
cp DATOTEKA DESTINACIJAcp DATOTEKA [DATOTEKA ] DIREKTORIJcp r DIREKTORIJ DESTINACIJA
Naredbamvslui zapremjetanje ili preimenovanje datoteka i direktorija.
Vrijedi sljedee:
treba navesti barem dva argumenta: izvor i destinaciju premjetanjaili preimenovanja
ako je prvi argument ime datoteke tada destinacija moe biti novoime datoteke ili ime direktorija u koji se premjeta izvorna datoteka:
o ako je kao destinacija zadan direktorij, izvorna e sedatoteka premjestiti u zadani direktorij i sauvati originalnoime
o ako je kao destinacija zadano novo ime datoteke, tada e seoriginalna datoteka preimenovati ako je cilj u istom direktorijuili premjestiti i dobiti novo ime ako je cilj u drugom direktoriju
kada se odjednom premjeta vie datoteka, kao destinacija se morazadati direktorij
za premjetanje i preimenovanje direktorija vrijede ista pravila kao iza datoteke.
-
7/24/2019 Unod u Linux
28/73
Uvod uLinux(D105)
22
Sintaksa:
mv DATOTEKA DESTINACIJAmv DATOTEKA [DATOTEKA ] DIREKTORIJmv DIREKTORIJ DESTINACIJA
3.11. Ispis sadraja datoteka: cat,moreiless
Naredbe cat,moreilessispisuju sadraj datoteka.
Sintaksa:
cat DATOTEKA [DATOTEKA...]more DATOTEKA [DATOTEKA...]less DATOTEKA [DATOTEKA...]
Naredba catje najjednostavnija. Ona redom ispisuje sadraj datoteke ilidatoteka koje su navedene kao argumenti.
Naredbe morei lessispisuju sadraj datoteka koje su navedene kaoargumenti ekran po ekran. Prilikom pregledavanja sadraja datotekamogue je koristiti sljedee komande (tipke na tipkovnici):
[q] - zavretak rada[Space] - prikaz sljedee stranice[Return] - prikaz sljedeeg reda[b] - prethodna stranica[/] - pretraivanje.
3.12. Zamjenski znakovi
Najvaniji zamjenski znakovi su:
* - zamjenjuje bilo koji broj znakova
? - zamjenjuje tono jedan znak
[ ] - oznaava zamjenu zatono jedan znak koji odgovaraznakovnom nizu zadanom unutar zagrada
Nizovi se zadaju nabrajanjem ili kao intervali.
Unutar zagrada mogue je koristiti i znak negacije !(usklinik).
Zamjenski se znakovi mogu koristiti prilikom zadavanja argumenata unaredbama. Na primjer, naredba ls a* e ispisati imena svih datoteka uradnom direktoriju ija imena zapoinju slovom a.
Primjer:
Pretpostavimo da se u naem radnom direktoriju nalazi sljedeih devetdatoteka:
a,a1,a2,a3,ab,abc,b1,b2,c1 id3.
-
7/24/2019 Unod u Linux
29/73
Uvod u Linux(D105)
23
Sljedea tablica pokazuje to bi ispisala naredba lsu kombinaciji snekoliko razliitih argumenata zadanih pomou zamjenskih znakova:
naredba ispisuje ne ispisuje
ls a* a a1 a2 a3 ab abc b1 b2 c1 d3
ls a? a1 a2 a3 ab a abc b1 b2 c1 d3
ls [ad]* a a1 a2 a3 ab abc d3 b1 b2 c1
ls [a-c]* a a1 a2 a3 ab abc b1b2 c1
d3
ls [!a]* b1 b2 c1 d3 a a1 a2 a3 ab abc
3.13. Pretraivanje sustava datoteka:find
Sustav datoteka se pretrauje naredbom find.
Sintaksa:
find [STAZA...] [UVJET]
STAZAje direktorij od kojeg poinje pretraivanje, a UVJETje izraz kojim seodreuje koje se datoteke trae. Najee je to name(pretraivanje poimenu datoteke).
Primjeri:
$ find / -name abc$ find . name program.c
3.14. () Vjeba: Rad s datotekama i direktorijima
1. U Vaem poetnom direktoriju nalazi se poddirektorijpoglavlje3.Neka taj direktorij postane Va radni direktorij.
Koja je apsolutna staza do tog direktorija? Koja je relativna staza do tog
direktorija od Vaeg poetnog direktorija?Kako ete provjeriti nalazite li se u pravom direktoriju?
2. Koje se datoteke nalaze u tom direktoriju?
Koje su veliine navedene datoteke?Ima li navedeni direktorijpoddirektorije?
3. Pomou naredbe ls:
a. ispiite imena datoteka koja zavravaju s nastavkom .c
b. ispiite imena datoteka koja u svom imenu sadre slovo m
c. ispiite imena datoteka koja ne zapoinju slovom p
d. ispiite imena datoteka koja zapoinju slovima rili v.
-
7/24/2019 Unod u Linux
30/73
Uvod uLinux(D105)
24
4. Zabiljeite vremena zadnje modifikacije datoteka zadatak.txtirezultati.dat.
5. Kreirajte poddirektorij abc. U njega kopirajte datotekuzadatak.txti premjestite datoteku rezultati.dat.
Ispiite sadraj direktorija abc. Koja su vremena modifikacije datoteka utom direktoriju? Zabiljeite navedene podatke. Razlikuju li se ti podaciod onih koje ste zabiljeili u prethodnom koraku?
6. Neka poddirektorij abcbude Va radni direktorij. Ispiite sadrajdatoteke rezultati.datpomou naredbe cat. Proitajte sadrajdatoteke zadatak.txtpomou naredbe less.
7. Pokuajte naredbom touchstvoriti datoteku rezultati.dat.
Je li datoteka postojala od prije? Prouite njenu veliinu i vrijeme zadnjemodifikacije. to se promijenilo? Je li se promijenio njezin sadraj?
8. Potraite datoteku zadatak.txt ispod svog poetnogdirektorija.
3.15. Pitanja za ponavljanje
1. Koje duine mogu biti imena datoteka na Linuxu?
2. Koje znakove nije preporuljivo koristiti u imenima datoteka?
3. to su apsolutni i relativni put?
4. to su skrivene datoteke?
5. to predstavljaju posebna imena datoteka: .i ..?
6. Kako najlake postavljamo poetni direktorij za radni direktorij?
7. Kojim naredbama stvaramo i uklanjamo direktorije?
8. Kako moemo dobiti popis svih datoteka u direktoriju?
9. Koji su zamjenski znakovi i kako ih koristimo?
10. Koja je razlika izmeu naredbi cpi mv?
11. Kako moemo ukloniti direktorije koji nisu prazni?
12. Koja je razlika izmeu naredbi cati less?
-
7/24/2019 Unod u Linux
31/73
Uvod u Linux(D105)
25
4. Prava pristupa datotekama idirektorijima
4.1. Naredba id
Svakom korisniku dodijeljen je jedinstven korisniki broj(user ID, uid).
Takoer, svaki je korisnikpridruen jednoj ili vie skupina korisnika.Skupine takoer imaju svoje jedinstvene brojeve(group ID, gid).
Skupine slue za lake dodjeljivanje istih korisnikih pravaveem brojukorisnika.
Svaki je korisnik pridruen barem jednoj skupini i ta je skupina za togkorisnika osnovna skupina kojoj pripada.
Korisniki broj je osnovni nain na koji sustav razlikuje korisnike. Korisnikibroj, osnovnu skupinu i pripadnost drugim skupinama odreujeadministrator sustava.
Naredba id(bez dodatnih argumenata) ispisuje pripadajui korisniki broj,broj osnovne skupine i popis svih skupina kojima pripada korisnik koji jepokrenuo naredbu.
Ako se kao argument zada ime nekog korisnika, tada se ispisuju podaci otom korisniku.
Sintaksa:
id [KORISNIK]
Primjeri:
$ iduid=500(tecaj01) gid=900(tecaj) groups=900(tecaj)$ id tecaj02uid=501(tecaj02) gid=900(tecaj) groups=900(tecaj)
4.2. Razine prava pristupa: user, groupi other
Svaka datoteka (ili direktorij) ima svog vlasnika. Vlasnik je obino korisnik
koji je stvorio tu datoteku.Vlasnik je takoer korisnik koji odreuje prava pristupa za navedeni objekt.
Svaka datoteka ili direktorij pripadaju i nekoj skupini korisnika. Najee jeto ista skupina kojoj pripada i vlasnik, ali ne i nuno. Vlasnik odreuje kojoje skupini pripadati njegove datoteke i direktoriji.
Linuxomoguava tri razine dodjeljivanja prava pristupa(ugo):
u - pravo pristupa koje se odnosi na vlasnika (user)
g - pravo pristupa koje se odnosi na skupinu (group)
o - pravo pristupa koje se odnosi na ostale (other)
Za svaku od navedenih razina mogue je zasebno odreivati pravapristupa.
-
7/24/2019 Unod u Linux
32/73
Uvod uLinux(D105)
26
4.3. Vrste prava pristupa: read, wri tei execute
Prava pristupa na datoteke i direktorije koja se mogu dodijeli korisnicimasu:
r - pravo itanja (read)w - pravo izmjene sadraja (write)x - pravo izvravanja (execute).
Konkretan smisao navedenih prava pristupa ovisi o vrsti objekta na koji seodnosi (tj. je li rije o datoteci ili direktoriju):
read write execute
datoteke Sadraj semoe itati(more
,cat
).
Sadraj semoe mijenjati(u datoteku semoe pisati).
Datoteka semoe koristitikao naredba.
direktoriji Sadraj semoe itati (ls).
Sadraj semoe mijenjati(rm, cp, mv).
Moe postatiradni direktorij(cd).
Prava pristupa moemo proitati iz ispisa koji daje naredba ls l.
Primjer:
$ ls la
drwxr-x--- 5 tecaj01 tecaj 4096 Sep 29 16:22 .drwxr-xr-x 26 root root 4096 Aug 10 09:27 ..-rw-r--r-- 1 tecaj01 tecaj 191 Feb 7 2005 .bash_profiledrwx------ 3 tecaj01 tecaj 4096 Sep 29 16:22 privatno-rw-r--r-- 1 tecaj01 tecaj 2332 Oct 21 2005 zadatak.txt
1 - vrsta objekta (znak -oznaava obine datoteke, aslovo doznaava direktorije)
2 - prava pristupa za vlasnika, skupinu i ostale korisnike - tri skupine
prava pristupa sa po tri oznake (rwx)3 - broj poveznica (sistemski podatak)
4 - ime vlasnika
5 - ime skupine
6 - veliina u bajtovima
7 - datum i vrijeme zadnje modifikacije
8 - ime datoteke ili direktorija
Opis prava pristupa za vlasnika, skupinu i ostale korisnike je oblika:
rwx rwx rwx
-
7/24/2019 Unod u Linux
33/73
Uvod u Linux(D105)
27
Prva tri stupca odnose se na prava pristupa vlasnika, sljedeatri naskupinu, a posljednja tri na ostale korisnike. Svaki od stupaca odgovarajednom od prava pristupa (read, writeili execute). Ako je odreeno pravopristupa dodijeljeno (omogueno), tada se na odgovarajuem mjestu nalazislovo koje odgovara toj vrsti pristupa (r,wili x). U suprotnom se nalaziznak (crta).
Primjeri prava pristupa:
rwxrwxrwx - svi imaju pravo itanja, pisanja i izvravanja
rwxr-xr-x - vlasnik ima sva prava, a skupina i svi ostali imaju samo
prava itanja i izvravanja
rw-r----- - vlasnik ima pravo itanja i pisanja, skupina ima samopravo itanja, a ostali korisnici nemaju nikakvo pravopristupa.
4.4. Postavljanje prava pristupa pomou simbolikihoznaka
Prava pristupa postavljamo naredbom chmod. Ova naredba omoguavapostavljanje prava pristupa na dva naina. Prvi je nain pomousimbolikih oznakaza razine i vrste prava pristupa, a koje smo ve imaliprilike upoznati:
u, gi oza razine pristupa (te akoji oznaava sve razine)
r,wi xza vrste prava pristupa.
Vrsta izmjene se zadaje operatorima: +(dodaj), -(oduzmi) i =(izjednai).
Sintaksa:
chmod POSTAVKA [, POSTAVKA...] DATOTEKA
POSTAVKA
tko vrsta promjene vrsta pristupa
u(vlasnik)
g(grupa)o(ostali)
a(svi)
+(dodaj)
-(oduzmi)=(izjednai)
r(itanje)
w(pisanje)x(izvravanje)
Razliite postavke je mogue ulanavati, pri emu se kao separator koristizarez. Lijeva i desna strana postavke moe sadravati i vie od jednogsimbola.
Najjednostavniji oblik zadavanja promjene prava pristupa je niz od triznaka, gdje prvi znak oznaava na koga se promjena odnosi, drugi je znakoperator koji oznaava o kakvoj se promjeni radi, a trei je znak vrsta
pristupa koja se mijenja (na primjer: u+xvlasniku se dodaje pravo itanjadatoteke).
-
7/24/2019 Unod u Linux
34/73
Uvod uLinux(D105)
28
Primjeri:
$ chmod a=r abc$ ls l abc-r--r--r-- 1 tecaj01 tecaj 2332 Oct 21 2013 abc$ chmod u+wx abc$ ls l abc-rwxr--r-- 1 tecaj01 tecaj 2332 Oct 21 2013 abc$ chmod g+x,o-r abc$ ls l abc-rwxr-x--- 1 tecaj01 tecaj 2332 Oct 21 2013 abc$
prije naredba poslije
rw- r-- --- chmod u-w,g-r
chmod a+x
chmod ug+x
chmod a=rx
r-- --- ---
rwx r-x --x
rwx r-x ---
r-x r-x r-x
4.5. Postavljanje prava pristupa pomou numerikihoznaka
Drugi nain postavljanja prava pristupa je preko numerikih oznaka.
Svakoj vrsti pristupa dodijeljena je jedna numerika vrijednost:
read = 4
write = 2execute = 1.
Pravo pristupa za svaku od tri razina pristupa (user, group, other) odreujese zbrajajui pripadajue vrijednosti naina pristupa: ako je odgovarajuepravo pristupa dozvoljeno, tada se ukupnom zbroju dodaje pripadajuanumerika vrijednost. Na taj nain se svaka kombinacija prava pristupamoe jednoznano predstaviti brojem iz intervala od 0 do 7.
Konaan rezultat je niz od tri jednoznamenkasta broja kojim odreujemoprava pristupa za sva tri nivoa.
Sintaksa:
chmod POSTAVKA DATOTEKA
Primjer:
Pretpostavimo da elimo postaviti prava pristupa na neku datotekutako da vlasnik ima sva prava nad datotekom (moe je itati, pisati unju i izvravati), a da skupina i svi ostali korisnici datoteku mogu samoitati i izvravati.
Numeriku oznaku izraunat emo na sljedei nain:Postavke za vlasnika datoteke: rwx = 4+2+1 = 7.
Postavke za skupinu: r-x = 4 + 1 = 5.
Postavke za ostale: r-x = 4 + 1 = 5.
-
7/24/2019 Unod u Linux
35/73
Uvod u Linux(D105)
29
Konaan rezultat je 755, a naredba glasi: chmod 755 DATOTEKA.rwx r-x r-x
vlasnik skupina ostali
rwx
4+2+1
7
r-x
4+0+1
5
r-x
4+0+1
5
chmod755 DATOTEKA
4.6. Naredba umask
Prilikom stvaranja datoteka, sustav obino za njih odreujemaksimalnaprava pristupa: rw-rw-rw-. U sluaju direktorija to je rwxrwxrwx. Toznai da u tom sluaju svatko moe mijenjatisadraj novostvorenihdatoteka, a u novostvorenim direktorijima svatko moe stvarati i uklanjatidatoteke.
Naredba umaskomoguava izmjenu podrazumijevanih prava pristupa kojese dodjeljuju datotekama i direktorijima prilikom njihovog stvaranja.Podrazumijevana prava pristupa zadaju se maskom- nizom od triznamenke.
Maska predstavlja vrijednosti koje e se prilikom stvaranja datoteke ili
direktorija oduzeti od maksimalnih moguih vrijednosti prava pristupa.Ukoliko se naredba umaskzada bez argumenta (bez nove vrijednosti
maske) ispisat e se trenutna vrijednost maske.
Sintaksa:
umask [MASKA]
Primjer izrauna maske:
Pretpostavimo da elimo da kod stvaranja datoteke vlasnici imaju svaprava (dakle da im se ne oduzme niti jedno od maksimalnih prava), a
da se lanovima skupine kojoj pripada vlasnik oduzme pravo pisanja, asvim ostalim korisnici oduzmu i pravo pisanja i pravo itanja datoteke.Tada emo masku izraunati na sljedei nain:
maksimalne postavke
eljene postavke
razlika
rw- rw- rw-
rw- r-- ---
6 6 6
6 4 0
0 2 6
rezultat umask026
-
7/24/2019 Unod u Linux
36/73
Uvod uLinux(D105)
30
Primjeri:
$ umask
000 poetna vrijednost maske iznosi 000$ touch nova1 pomou naredbe touchstvaramo
datoteku nova1$ ls -l nova1-rw-rw-rw- 1 tecaj01 tecaj 0 Oct 21 12:22 nova1
nova datoteka ima prava pristupa: rw-rw-rw-
$ umask 022 postavljamo novu vrijednost maske: 022$ umask022
$ touch nova2 na isti nain kao i u prethodnom primjerustvaramo novu datoteku nova2
$ ls -l nova2-rw-r--r-- 1 tecaj01 tecaj 0 Oct 23 12:23 nova2
nova datoteka ima drugaija prava pristupa: rw-r--r--
Na mnogim je sustavima maska postavljena od strane administratora(putem konfiguracijskih datoteka) upravo na vrijednost 022.
4.7. Vjeba: postavljanje prava pristupa
1. Provjerite koji su Va korisniki broj (UID) i broj skupine (GID).
2. U Vaem poetnom direktoriju nalazi se poddirektorijpoglavlje4.Neka taj direktorij postane Va radni direktorij.
Koje se datoteke nalaze u tom direktoriju? Koja su prava pristupa na tedatoteke?
3. Pomou naredbe chmodi sluei sesimbolikim nainomzadavanja izmjena prava pristupa:
dodajte svima pravo izvravanja datoteke primjer4-2 dodajte ostalim korisnicima pravo itanja datoteke primjer4-3 oduzmite skupini i ostalim korisnicima pravo izmjene sadraja
datoteke primjer4-1.
4. Pomou naredbe chmodi koristeinumeriki nain zadavanjaizmjena prava pristupa postavite pravo pristupa rwxr-x---naradni direktorij.
5. Koja je vrijednost maske? Postavite vrijednost maske tako da jepravo pristupa na novostvorene datoteke rw-rw----.
Provjerite jeste li ispravno odabrali novu vrijednost maske tako da
naredbom touchstvorite novu datoteku nova.txt. Provjerite ima li
nova datoteka oekivana prava pristupa.
6. Ponovno postavite vrijednost maske na originalnu.
-
7/24/2019 Unod u Linux
37/73
Uvod u Linux(D105)
31
7. Naredba findomoguava traenje datoteka koje pripadajuodreenom korisniku. Za to slui opcijauser(na primjer:find / -user markoispisat e sve datoteke na sustavu kojepripadaju korisnikumarko).
Potraite datoteke u direktoriju /tmpkoje pripadaju korisniku root.
Ima li u tom direktoriju i neka koja pripada Vama?
4.8. Pitanja za ponavljanje
1. emu slui naredba id?
2. Koje su razine pristupa datotekama i direktorijima?
3. Koje su vrste pristupa datotekama i direktorijima?
4. Kako se simboliki zadaje promjena prava pristupa?
5. Kako se numeriki postavlja pravo pristupa?
6. emu slui naredba umask?
-
7/24/2019 Unod u Linux
38/73
Uvod uLinux(D105)
32
5. Ureiva teksta GNU nano
5.1. Openito o ureivaima teksta
Ureivai teksta(editori) su programi koji slue za pisanje i osnovnoureivanje teksta. Oni ne posjeduju napredne mogunosti poputodreivanja vrste fonta, veliine slova ili proreda izmeu redaka, a kojeimaju programi za obradu teksta.
Osnovne mogunosti ureivaa teksta su stvaranje, uitavanje ipohranjivanje tekstualnih datoteka, upisivanje i izmjena teksta tejednostavno pretraivanje teksta.
Na Linuxumoemo koristiti vie ureivaa teksta. Standardni ureivateksta koji je sastavni dio svakog sustava je Vi. Rije je o kompleksnom
programu tekom za uporabu.Jednostavniji za uporabu je ureiva GNUnano. Ovaj je program u pravilu standardan dio svake distribucije Linuxa.
Osim ova dva ureivaa teksta postoji i veliki broj drugih razliitih ureivaateksta (jedan od popularnijih je program Joe). Neki od njih rade utekstualnom okruenju poput programa Vii GNU nano, a neki rade ugrafikom okruenju (na primjer Kateu okruenju KDE, a Gedituokruenju Gnome).
5.2. Osnovna svojstva ureivaa teksta GNU nano
Ureiva teksta GNU nanoje jednostavan program. Da bi se moglo raditi snjime dovoljno je nauiti mali broj osnovnih naredbi koje se pokreuodgovarajuimkombinacijama tipki. Stoga je i neiskusnim korisnicimadovoljno samo kratko vrijeme uvjebavanja prije poetka koritenja.
GNU nanoje klon jednostavnog editoraPicokoji je bio dio programskogpaketa za rad s elektronikom potom Pinei tako je stekao velik brojkorisnika. Neki inaice sustava Linuxumjesto editora GNU nanoi daljesadre editor Pico. Sve funkcije editora GNU nanokoje se spominju uovom teaju identine su funkcijama editora Pico.
Razlog za nastanak editora GNU nanoje to to, premda je editor Picousvojoj osnovi besplatan i slobodno dostupan softver, licenca kojom je
odreeno pravo uporabe programa Piconije sukladna licenci GPL (GeneralPublic License).
Osim kopiranja gotovo svih funkcija programa Pico, program GNU nanosadri i brojna proirenja.
5.3. Pokretanje programa
Program GNU nanose pokree upisivanjem naredbe nano. Ukoliko senaredba upie bez dodatnih argumenata, na ekranu e se pokazati praznastranica u koju odmah moemo poeti pisati tekst. Ukoliko se kao argument
navede ime neke datoteke, GNU nanoe uitati sadraj te datoteke.
Napomene
Ureivai teksta (editori) slueza pisanje i osnovno ureivanjeteksta, poput pisanja programa,ureivanja konfiguracijskihdatoteka i slino.
Ureivai teksta nisu isto to iprogrami za obradu teksta(poput programa MS Word).
Napomena
Program GNU nanostandardno je dostupan navelikoj veini sustavazasnovanih na Linuxu. Ukolikoto nije sluaj sa sustavom nakojem radite, tada trebatezamoliti sistemskogadministratora da instaliranavedeni program.
Prije toga moete provjeritipostoji li na sustavu editor Picorad s tim editorom je gotovo
identian radu s editorom GNUnano.
-
7/24/2019 Unod u Linux
39/73
Uvod u Linux(D105)
33
Sintaksa:
nano [DATOTEKA]
Primjeri:
$ nano$ nano .profile
Unutar teksta obino se moemo kretati pomou kursorskih tipki koje senalaze na tipkovnici. Ipak, moe se dogoditi da sustav ne prepoznajekursorske tipke. U tom sluaju moemo koristiti sljedee kombinacije tipki:
[Ctrl-B] - lijevo
[Ctrl-F] - desno
[Ctrl-P] - gore
[Ctrl-N] - dolje
Ako elimo obrisati dio teksta, to moemo uiniti pomou za to uobiajenihtipki na tipkovnici: [Delete]i [Backspace]. Ukoliko sustav na kojemradimo ne prepoznaje navedene tipke, umjesto tipke [Delete]moemokoristiti kombinaciju tipki [Ctrl-D].
Nakon pokretanja programa GNU nanona dnu e se ekrana prikazati popisnajvanijih naredbi. Kako bi poveao prostor za unos teksta, taj se popismoe ukloniti upisivanjem kombinacije tipki [Alt-X]. Istom sekombinacijom tipki popis moe ponovno vratiti na ekran.
Interne upute za rad s programom mogu se dobiti upisivanjem kombinacijetipki [Ctrl-G]. Upute sadre osnovne informacije o programu i popis svih
naredbi koje se mogu koristiti. Iz uputa se u normalno radno okruenjeprogram GNU nanoizlazi kombinacijom tipki [Ctrl-X].
Slika: Prikaz radnog ekrana programa GNU nano. Na dnu ekrana se vidi popisosnovnih naredbi.
-
7/24/2019 Unod u Linux
40/73
Uvod uLinux(D105)
34
5.4. Osnovne komande
Naredbe se u programu GNU nanozadaju odgovarajuim kombinacijamatipki.
[Crtl-O] - pohranjivanje teksta u datoteku
[Crtl-X] - zavretak rada
[Crtl-R] - uitavanje teksta iz datoteke
[Crtl-K] - izrezivanje cijelog retka (cut)
[Crtl-U] - umetanje izrezanog retka (paste)
[Crtl-W] - pretraivanje teksta
[Crtl-G] - prikazivanje uputa za rad s programom
Pohranjivanje teksta u datoteku
Tekst se nakon upisa ili izmjene moe pohraniti u neku datoteku. Komandaza to je [Crtl-O]. Nakon toga treba potvrditi ponueno ime datoteke iliupisati novo.
Zavretak rada
Rad u programu GNU nano zavrava se komandom Ctrl-X. Ukoliko tekstna kojem smo radili nije pohranjen u datoteku, GNU nano e prije zavretkarada upitati elimo li ga pohraniti u datoteku.
Uitavanje teksta iz datoteke
Tekst se pohranjen u nekoj datoteci moe uitati direktno u ureiva tekstanaredbom [Ctrl-R]. Nakon toga treba upisati ime datoteke ili odabrati jeiz interaktivnog kataloga koji se pokree komandom [Ctrl-T].
Uitani tekst e biti umetnut u postojei na mjestu na kojem se prilikompokretanja naredbe za uitavanje iz datoteke nalazio kursor.
Izrezivanje i umetanje teksta
Komanda [Ctrl-K]e izrezaticijeli redak u kojem se nalazi kursor ipohraniti ga u meumemoriju. Vie redaka moete pohraniti umeumemoriju viestrukim uzastopnim pritiskom na [Ctrl-K].
Komanda [Ctrl-U]e umetnuti tekst iz meuspremnika na mjesto gdjese u tekstu nalazi kursor. Kopiranje se moe ponoviti proizvoljan broj puta.
Ako se eli izrezati samo dio retka, potrebno je postaviti kursor na poetakdijela koji se eli izrezati i pritisnuti [Ctrl-^](ili [Alt-A]). Nakon togatreba pomaknuti kursor na kraj teksta koji se eli izrezati i pritisnuti [Ctrl-K](slovo ispod kursora nee biti izrezano).
Kopiranje teksta moe se napraviti tako da se tekst koji se eli kopirati prvo
izree, a onda se pritiskom na [Ctrl-U]ponovno umetne na mjesto s
-
7/24/2019 Unod u Linux
41/73
Uvod u Linux(D105)
35
kojeg je izrezan te nakon toga pozicioniranjem kursora na eljenom mjestui ponovnim pritiskom na [Ctrl-U]umetne tamo gdje se eli kopirati.
Pretraivanjeteksta
Tekst se pretrauje tako da se pritisne [Ctrl-W]. Nakon toga se ustatusnu liniju upie uzorak koji se eli pronai u tekstu. Ukoliko se traeniuzorak nalazi u tekstu, kursor e se postaviti na mjesto njegovog prvogpojavljivanja iza pozicije s koje se pokrenulo pretraivanje.
5.6. Vjeba: Rad s ureivaem teksta GNU nano
1. U svom poetnomdirektoriju pokrenite program GNU nano.
2. Prikaite upute za rad s programom.
Upoznajte se s uputama. Moete li u uputama pronai naredbe koje suspomenute u ovom poglavlju?
Vratite se u normalno radno okruenje.
3. Upiite sljedei tekst:
Upisivanjem parametara mijenjamo nacin na koji seizvode naredbe.Parametri mogu biti opcije i argumenti.Ime naredbe odreduje sto treba napraviti, opcijama sepreciznije odreduje kako to treba napraviti, aargumentima se upucuje na objekt koji je predmetobrade.
4. Pokuajte se kretati kroz tekst pomou kursorskih tipki natipkovnici.
Moete li se kretati kroz tekst pomou kursorskih tipki? Provjeritefunkcioniraju li na sustavu na kojem radite tipke [Delete]i
[Backspace].
5. Pohranite upisani tekst u datoteku s imenom vjezba5.txt.
6. Izaite iz programa. Provjerite nalazi li se datoteka vjezba5.txtu radnom direktoriju.
Koje je veliine datotekavjezba5.txt? Koja su prava pristupapostavljena na tu datoteku?
7. Ponovno pokrenite program GNU nanonavodei kao argumentdatoteku torvalds.txt(prije pokretanja programa moeteprovjeriti nalazi li se navedena datoteka u Vaem radnomdirektoriju).
8. Pronaite u tekstu sve rijei koje sadre niz Linu.
Koje se sve rijei pojavljuju kao rezultat pretrage? Razlikuje li GNUnanoprilikom pretrage velika od malih slova?
9. Izreitedio teksta s citatom Torvaldsove poruke upuene na
comp.os.minix i kopirajte ga na kraj poruke.
-
7/24/2019 Unod u Linux
42/73
Uvod uLinux(D105)
36
10. Izaite iz programa bez pohranjivanja sadraja u datoteku.
11. Pomou programa GNU nanootvorite datoteku /etc/passwd.
Sustav u datoteci /etc/passwdima zabiljeene razliite podatke okorisnicima. Potraite u navedenoj datoteci liniju u kojoj se nalaze Vaipodaci (podaci o korisnikom raunukoji koristite za prijavljivanje nasustav). Koje podatke prepoznajete?
12. Izaite iz programaGNU nano.
5.7. Pitanja za ponavljanje
1. Koja je razlika ureivaa teksta i programa za obradu teksta?
2. Navedite neke ureivae teksta i neke programe za obradu teksta.3. Kako se pokree program GNU nano?
4. Kako se zadaju naredbe u programu GNU nano?
5. Kako se izlazi iz programa GNU nano?
-
7/24/2019 Unod u Linux
43/73
Uvod u Linux(D105)
37
6. Ljuska Bash
6.1. to je ljuska?
Ljuska je interpreter naredbi. Svaki put kad upiemo neku naredbu, ljuskaje preuzima, obraujei izvrava.
Korisnicima je na sustavima zasnovanim na Linuxuobino na raspolaganjuvie razliitih ljuski. Standardna je ljuska Bash(Bourne Again Shell).
Ljuske se meusobno razlikuju po sintaksi ugraenog interpreterskogjezika, opcijama koje podravaju, konfiguracijskim datotekama i drugimdetaljima.
6.2. Upis naredbi
Ljuska Bashstandardno sve to se upie u jedan redak smatra jednomnaredbom.
Ako elimo vie naredbi upisati u jedan redak, tada ih trebamo odvojitiznakom ;(toka-zarez).
Ako jednu naredbu elimo napisati u vie redaka tada na kraj retka trebamoupisati znak \(backslash).
Prilikom pisanja naredbi u vie redova, nakon prvog reda pojavit e sesekundarni prompt. To je obino znak >(vee) .
Primjeri:
$ echo Jedan ; echo DvaJedanDva$ echo Jedan \> DvaJedan Dva$
6.3. Varijable
Ljuska Bashomoguava rad s varijablama.
Varijablaje ime koje predstavlja neku vrijednost. Vrijednost varijable semoe mijenjati.
Imena varijabli obino se piu velikim slovima.
Vrijednosti koje mogu poprimiti varijable su nizovi zakova, a pridruuju imse pomou operatora =(sintaksa: VARIJABLA=VRIJEDNOST).
Prilikom pridruivanja vrijednosti varijablama, ispred znaka jednakosti nesmije se nalaziti niti jedno prazno mjesto (znak [Space]).
Siguran nain pisanja vrijednosti koje se pridruuju varijablama jekoritenjem navodnika (bilo jednostrukih, bilo dvostrukih).
-
7/24/2019 Unod u Linux
44/73
Uvod uLinux(D105)
38
Primjeri ispravnog i neispravnog pridruivanja vrijednostivarijablama:
ispravno neispravno
ABC="123"ABC=123POZDRAV="Dobar dan"
ABC= "123"ABC =123POZDRAV=Dobar dan
Podrazumijevana inicijalna vrijednost svih varijabli je prazan niz (NULL).
Sustav koristi neke varijable u svoje svrhe. Vrijednosti tih varijabli sepostavljaju prilikom prijavljivanja korisnika.
Vrijednost varijable poziva se tako da se u naredbi ispred imena varijablenapie znak $. U tom sluaju ljuska na mjesto gdje se nalazi ime varijableumee njezinu vrijednost. Taj se postupak dogaa prije izvravanjanaredbe.
Jednostavan i uobiajen nain ispisivanja vrijednosti varijable je pomounaredbe echo.
Primjer:
$ ABC=123$ echo $ABC123$
Postoje dvije vrste varijabli: lokalne varijable i varijable okruenja.
6.3. Lokalne varijable
Lokalne varijabledostupne su samo u ljusci u kojoj su stvorene.
Ukoliko se drugaije ne naznai, svaka je varijabla lokalna.
Naredba setispisuje popis svih koje su joj dostupne zajedno s njihovimvrijednostima.
Sintaksa:
set
Primjer:
$ ABC=123$ echo $ABC123
$ bash pokreemo novu ljusku(ljuska je takoer program)$ echo $ABC
u novoj ljusci vrijednost varijable ABC nije postavljena$ exit vraamo se u polaznu ljusku$ echo $ABC123$
Napomena
Vrijednosti lokalnih varijabli nisudostupne programima kojeljuska pokree.
-
7/24/2019 Unod u Linux
45/73
Uvod u Linux(D105)
39
6.4. Varijable okruenjai naredba export
Vrijednosti varijabli okruenjadostupne su programima koje pokreeljuska.
Naredba exportpretvara lokalne varijable u varijable okruenja. Tajpostupak nazivamo izvozom varijabli.
Ako se naredba exportpokrene bez argumenata, ispisat e se popisvarijabli koje su izvezene u aktualnoj ljusci.
Popis svih varijabli okruenja ispisuje naredba env. Taj popis ine varijablekoje su izvezene u aktualnoj ljusci, ali i varijable okruenja koje je aktualnaljuska naslijedila.
Sintaksa:
export [VARIJABLA]
env
Primjer:
$ ABC=123$ echo $ABC123
$ export ABC izvozimo varijablu ABC$ bash pokreemo novu ljusku$ echo $ABC
123 ovaj je put vrijednost varijable ABCdostupna$ i u novoj ljusci
6.5. Vrste naredbi
Naredbe mogu biti:
ugraene u ljusku izvrne datoteke aliasi.
Prilikom pokretanja neke naredbe prvo to ljuska radi je otkrivanje tipanaredbe. Ukoliko se radi o izvrnoj datoteci, ljuska je treba pronai nadisku kako bi je mogla proitati i izvriti. Da bi ljuska mogla pronai naredbukoja je izvrna datoteka, naredba mora biti zadana stazom koja vodi do njeili se mora nalaziti u direktoriju koji je naveden u varijabli PATH.
Vrijednost varijable PATHini niz imena direktorija koji su meusobnoodijeljeni znakom :(dvotoka).
Primjer:
$ echo $PATH/home/tecaj00/bin:/usr/local/bin:/usr/bin:/bin:.
uoite da je uovom primjeru dio popisa direktorija u kojima ljuska
provjerava postoji li zadana naredba direktorij .(radni direktorij)
Napomena
Iz ljuske izlazimo naredbomexitili kontrolnim znakom[Ctrl-D].
-
7/24/2019 Unod u Linux
46/73
Uvod uLinux(D105)
40
Aliasisu naredbe koje su definirane kao sinonimi ili zamjenska imena zaneke druge naredbe. Naredba aliasispisuje popis aliasa i omoguavanjihovo postavljanje.
Sintaksa:
alias [ALIAS=NAREDBA]
Primjer:
$ alias ispisujemo popis aliasaalias md='mkdir'
alias rd='rmdir' u ovom su nam trenutku dostupna dvaaliasa: mdi rm
$ moj_ls pokuavamo pokrenuti naredbu moj_ls-bash: moj_ls: command not found
sustav nam javlja da naredbamoj_lsne postoji
$ alias moj_ls='ls -a'
definiramo aliasmoj_ls kao ls -a
$ moj_ls ponovno pokuavamo pokrenuti moj_ls.bash_history a b c
ovaj smo put dobili smo rezultat koji smo eljeli
$
Naredba typeispisuje kojeg je tipa naredba.
Sintaksa:
type NAREDBA
Primjer:
$ type pwd
pwd is a shell builtin pwdje naredba ugraena uljusku
$ type cat
cat is /bin/cat catje izvrna datoteka nadisku (u direktoriju /bin)
$ type rd
rd is aliased to 'rmdir' rdje alias (kratica za rmdir)
Naredbawhichispisuje stazu do naredbi koje su izvrne datoteke.
Da bi naredba whichmogla pronai zadanu naredbu na disku, potrebno jeda se ona nalazi u direktoriju koji je naveden u varijabli PATH.
-
7/24/2019 Unod u Linux
47/73
Uvod u Linux(D105)
41
Sintaksa:
which NAREDBA
Primjer:
$ which info/usr/bin/info$
6.6. Vjeba: Varijable i naredbe
1. Prouite vrijednost varijable PATH.
Provjerite nalazi li se .u popisu direktorija? Na kojem je mjestu?
2. U svom poetnom direktoriju stvorite poddirektorijpoglavlje6. Unovostvorenom direktoriju stvorite datoteku test. Dodijelite si
pravo izvravanja te datoteke. Neka Va radni direktorij budedirektorijpoglavlje6. Pokrenite naredbuwhich test.
to se dogodilo?
3. Neka Va radni direktorij ponovno bude Va poetni direktorij.Ponovno pokrenite naredbuwhich test.
Je li i ovaj put naredba whichuspjela pronai izvrnu datoteku test?
4. Stvorite alias dirkoji e ispisivati sadraj direktorija (definirajtetaj alias kao naredbu lss opcijama koje smatrate korisnima).
Provjerite radi li alias. Pronaite navedeni alias u popisu svih aliasa.
5. Provjerite jesu li varijable PATHiMAILvarijable okruenja.
6. Dodijelite varijabliMOJA_NAREDBAvrijednost ls(MOJA_NAREDBA=ls). Kao novu naredbu napiite$MOJA_NAREDBA.
to se dogodilo?Je li to oekivani uinak?
7. Koja je vrijednost varijable PS1? Promijenite vrijednost varijablePS1tako da ona bude [\u@\h \W]\$ (upiite PS1=[\u@\h \W]\$ ).
to se dogodilo?Kako biste promptu vratili stari izgled?
-
7/24/2019 Unod u Linux
48/73
Uvod uLinux(D105)
42
6.7. Pitanja za ponavljanje
1. to je ljuska? Koja je standardna ljuska na Linuxu?
2. Kako moemo napisati dvije naredbe u jednoj liniji?
3. to se pojavljuje u novoj liniji kad u prethodnoj ne zavrimo s upisomnaredbe?
4. Koja je razlika izmeu lokalnih varijabli i varijabli okruenja? Kakolokalne varijable pretvaramo u varijable okruenja?
5. Kako pozivamo vrijednost varijable?
6. Koji su tipovi naredbi? Kako se moe doznati kojeg je naredba tipa?
7. emu slui varijabla PATH?
8. to je alias?
-
7/24/2019 Unod u Linux
49/73
Uvod u Linux(D105)
43
-
7/24/2019 Unod u Linux
50/73
Uvod uLinux(D105)
44
7. Preusmjeravanje ulaza i izlaza naredbi
7.1. stdin, stdouti stderr
datoteka ureaj file descriptor
stdin
tipkovnica
0
stdout
stderr
terminal
1
2
Prilikom pokretanja ljuske automatski se stvaraju tri datoteke:
standardni ulaz (stdin) standardni izlaz (stdout) standardni izlaz za greke (stderr)
Standardni ulazje datoteka iz koje ljuska ita (obinoje ta datotekapreusmjerena na tipkovnicu).
Standardni izlazje datoteka u koju ljuska ispisuje poruke (obinoje toekran).
Standardni izlaz za grekeje datoteka u koju ljuska ispisuje poruke ogrekama (a to je obinotakoer ekran).
Primjer poruke o greki je:
-bash: moj_ls: command not found.
(S ovom smo se porukom susreli u jednom od primjera u prethodnompoglavlju.)
Svaka naredba koja se pokrene takoer ima svoj standardni ulaz,standardni izlaz i standardni izlaz za greke. Ukoliko se ne zada drugaije,oni su preusmjereni na standardni ulaz, standardni izlaz i standardni izlazod ljuske.
U ovom emo poglavlju upoznati mehanizme za preusmjeravanje ulaza iizlaza i njihovu primjenu.
-
7/24/2019 Unod u Linux
51/73
Uvod u Linux(D105)
45
7.2. Filtri
Filtrisu programi koji itaju podatke sa standardnog ulaza, obrauju ih, arezultate ispisuju na standardni izlaz.
stdin
filtar
stdout
Neki od programa koje smo upoznali u prethodnim poglavljima moguraditi kao filtri.
Primjer:
Da bi naredba cutradila kao filtar dovoljno je pokrenuti je bezargumenata. U tom e sluaju naredba cutumjesto iz neke datotekepodatke itati sa standardnog ulaza.
$ cat pokreemo naredbu catbez argumenataJedan upisujemo prvi redak tekstaJedan naredba catispisuje ono to smo upisaliDva ponavljamo prethodni korakDva
[Ctrl-D] upis zavravamo s [Ctrl-D]$
Sljedea tablica opisuje neke od filtra:
Ime naredbe Opis Sintaksa
sort sortira ulaznepodatke
sort [-n] [+POLJE] [DATOTEKA]
grepispisuje samolinije koje sadrezadani uzorak
grep UZORAK [DATOTEKA]
wc broji linije, rijei iznakove
wc [-lwc] [DATOTEKA]
Ako se gore navedeni programi pokrenu bez zadavanja datoteke, oni eraditi kao filtri. Ako se prilikom pokretanja tih naredbi navede ime datoteke,tada e one itati podatke iz nje(nee raditi kao filtri).
7.3. Preusmjeravanje ulaza:
-
7/24/2019 Unod u Linux
52/73
Uvod uLinux(D105)
46
Preusmjeravanje zadajemo operatorom
-
7/24/2019 Unod u Linux
53/73
Uvod u Linux(D105)
47
U drugom sluaju (cat
-
7/24/2019 Unod u Linux
54/73
Uvod uLinux(D105)
48
7.4. Preusmjeravanje izlaza: >i >>
Ljuska Bashomoguava preusmjeravanje standardnog izlaza.
Preusmjeravanje standardnog izlaza mogueje zadati operatorima >i >>.
Sintaksa:
NAREDBA > DATOTEKANAREDBA >> DATOTEKA
U prvom sluaju, ljuska e otvoriti novudatoteku sa zadanim imenom, a udrugom e sluaju standardni izlaz preusmjeriti na kraj ve postojeedatoteke (u datoteku e se nadopisivati). Ako u drugom sluaju navedenadatoteka ne postoji, otvorit e se nova datoteka.
Primjeri:
$ echo Jedan > ispis.dat$ cat ispis.datJedan$ echo Dva >> ispis.dat$ cat ispis.datJedanDva$ echo Tri > ispis.dat$ cat ispis.datTri$
7.5. Preusmjeravanje standardnog izlaza za poruke ogrekama: 2>i 2>>
Preusmjeravanje standardnog izlaza za poruke o grekama vrlo je slinopreusmjeravanju standardnog izlaza.
Operatori kojima zadajemo preusmjeravanje su:
2> - preusmjeravanje u novu datoteku2>> - preusmjeravanje na kraj postojee datoteke.
Sintaksa:
NAREDBA > DATOTEKANAREDBA >> DATOTEKA
Primjeri:
$ cpcp: missing file argumentTry `cp --help' for moreinformation.$ cp 2> greska.txt$ cat greska.txtcp: missing file argument
Try `cp --help' for more information.$
-
7/24/2019 Unod u Linux
55/73
Uvod u Linux(D105)
49
Preusmjeravanje standardnih ulaza i izlaza mogue je koristitiistovremeno:
$ sort < popis_nesortiran > popis_sortiran$ moj_program < podaci > rjesenje 2> greske
7.6. Ulanavanje
Jedna od moguih primjena preusmjeravanja standardnih ulaza i izlaza jepohranjivanje ispisa naredbe u datoteku i uporaba te datoteke kaostandardnog ulaza druge naredbe.
Sljedei primjer prebrojavanja broja datoteka i direktorija u radnomdirektoriju to pokazuje:
$ ls > /tmp/privremena_datoteka$ wc -w < /tmp/privremena_datoteka
18$
Nedostatak ovog pristupa je stvaranje privremene datoteke. To se moeizbjei uporabom mehanizma ulanavanja naredbi.
Ulanavanjenaredbi je preusmjeravanje standardnog ulaza jedne naredbena standardni izlaz druge naredbe. Ulanavanje se zadaje operatorom |(pipe).
Sintaksa:
NAREDBA1 | NAREDBA2
NAREDBA2
stdout
stdin
NAREDBA2
Sljedei primjerje rjeenje za gore navedeni problem prebrojavanja brojadatoteka i direktorija uporabom mehanizma ulanavanja:
$ ls | wc -w18$
Primjeri:
$ who | wc -l$ who | grep tecaj | wc -l
Ulanavanje se vrlo esto koristi s naredbamamorei sort:
$ ls -lR | more rekurzivno ispisujemo sadraj direktorija,ekran po ekran
$ ls | sort ispisujemo sortirani popis datoteka
-
7/24/2019 Unod u Linux
56/73
Uvod uLinux(D105)
50
7.7. Vjeba: Preusmjeravanje ulaza i izlaza, filtri iulanavanje naredbi
1. Izluite poruke o grekama koje ispisuje naredbals -lR /etc.
Koje su to poruke o grekama? Zato ih sustav ispisuje?
Uputa: Koristite preusmjeravanje standardnog izlaza i standardnogizlaza za greke)
2. Za koliko varijabli ljuska u kojoj radite ima postavljene vrijednosti?Koliko je od toga varijabli okruenja? Koliko je varijabli okruenjaeksportirano od strane ljuske u kojoj radite?
Razlikuje li se odgovor na posljednja dva pitanja? Zato?
(Za prebrojavanje varijabli koristite naredbu wc.)
3. Pomou naredbe grepispiite na ekran liniju koja u datoteci
/etc/pas