You are on page 1of 21

Sveuilite u Rijeci, Tehniki fakultet, Zavod za raunarstvo Uvod u raunarstvo

Linux konzola

1. Izvoenje programa pod Linuxom


Za razliku od DOS/Windows sustava gdje ekstenzija imena datoteke odreduje da li se datoteka moe pokrenuti, pod Linuxom to odreuje x pravo pristupa datoteci - operacijski e sustav pokuati pokrenuti svaku datoteku za koju korisnik ima x (execute) pravo pristupa. Programi/naredbe se pod Linuxom pokreu upisom imena programa i pritiskom na tipku <ENTER>. Svaki pokrenuti program se naziva proces (eng. process) i dobiva svoj jedinstveni identifikacijski broj (eng. PID Process Identification Number) te i sam moe stvarati i ubijati (eng. kill) druge procese. Za ubijanje procesa (zaustavljanje izvoenja i uklanjanje iz memorije) koristi se naredba kill. Najjednostavniji nain da se neki proces ubije je koritenjem: $ kill -9 PID

Znaenje signala kojim se proces ubija (u ovom sluaju signal 9 - SIGKILL) i ostalih signala koji se mogu poslati procesu je izvan fokusa ove skripte. Nakon pokretanja, izvoenje programa se moe zaustaviti kombinacijom tipki: Ctrl+Z ili se moe prekinuti, kombinacijom tipki: Ctrl+C Osim standardnog pokretanja programa (eng. foreground) pri emu on preuzima kontrolu nad komandnom linijom, program se moe pokrenuti i u pozadini (eng. background). Pokretanjem u pozadini, program se normalno izvrava, ali komandna linija ostaje slobodna da se korisnik moe i dalje njome sluiti i pokretati (prema potrebi) nove programe ili naredbe. Program se pokree u pozadini tako da se iza njegova imena navede znak &. Npr.: $ xeyes & Ispis pokrenutih procesa dobiva se naredbom ps a ispis programa pokrenutih u pozadini, ili onih ije je izvodenje privremeno zaustavljeno, naredbom jobs. Na Slici 1 prikazan je primjer pokretanja dva programa u pozadini (test1 i test2) te ispisi naredbi jobs i ps nakon njhova pokretanja. Programi test1 i test2 su pokrenuli svaki po jedan proces sleep.

Sveuilite u Rijeci, Tehniki fakultet, Zavod za raunarstvo Uvod u raunarstvo

Slika 1: Pokretanje dva programa u pozadini Program koji se nalazi u pozadini (eng. background) moe se staviti u priv plan (eng. foreground) naredbom fg: $ fg [PID] Za stavljanje programa u background koristi se naredba bg: $ bg [PID]

Kao argument obje naredbe koristi se broj pokrenutog programa iz ispisa naredbe jobs, a ukoliko se broj izostavi, podrazumijeva se da se naredba odnosi na zadnji program koji je zaustavljen ili prebaen u pozadinu.

Primjeri: $ testl pokree se program test1 Ctrl+Z zaustavlja se izvoenje programa testl

Sveuilite u Rijeci, Tehniki fakultet, Zavod za raunarstvo Uvod u raunarstvo

$ bg izvoenje testl se nastavlja u pozadini $ fg 3 program broj 3 se iz pozadine stavlja u prvi plan $ kill -9 2451 ubija proces 2451

2. Dobivanje pomoi za koritenje naredbi


Obzirom da je dosta teko u svakom trenutku poznavati sve naredbe i naine njihovog koritenja, u Linuxu za gotovo svaku naredbu i mnoge programe postoje stranice prirunika (eng. man pages). Na taj nain korisnik pokretanjem naredbe man moe dobiti detaljne informacije o nainu koritenja pojedine naredbe ili programa Osim samih detalja oko koritenja, esto se dobivaju i informacije o naredbama koje su na neki nain povezane s torn naredbom (upotpunjuju je ili imaju slinu ulogu), popis datoteka koje su s njom povezane, te niz primjera koritenja. Man stranice su prvo mjesto gdje korisnik treba traiti pomo pri nailasku na neki problem. Naredbe obraene u ovim uputama imaju objanjen samo dio mogunosti koritenja. Za potpuniji pregled mogu se pogledati man stranice.

3. Dozvole pristupanja datotekama i direktorijima (eng. permissions)


Svaka datoteka i direktorij imaju tri grupe prava pristupa i svakoj su grupi pridijeljena tri prava: r (eng. read) pravo itanja sadraja datoteka, odnosno ispisa sadraja direktorija w (eng. write) pravo mijenjanja sadraja i brisanja datoteke, odnosno pravo stvaranja novih i brisanja postojeih datoteka unutar direktorija

x (eng. execute) pravo izvravanja datoteka, odnosno ulaza u direktorij; po x dozvoli odreuje se koja je datoteka izvrna, odnosno koje e datoteke sustav pokuati pokrenuti ako to korisnik zatrai (pod DOS-Windows sustavima to su datoteke s ekstenzijom .EXE, .COM i .BAT)

Grupe dozvola pristupanja odnose se na: vlasnika (eng. owner) inicijalno je to korisnik koji je kreirao datoteku ili direktorij

Sveuilite u Rijeci, Tehniki fakultet, Zavod za raunarstvo Uvod u raunarstvo

grupu (eng. group) ostale (eng. others)

grupa korisnika koja ima posebno definiran pristup datoteci ili direktoriju svi ostali korisnici raunala

Svi podaci o dozvolama i vlasnicima datoteka i direktorija mogu se dobiti pri ispisu sadraja direktorija naredbom ls: $ ls -l Primjer dijela ispisa sadraja direktorija je: $ - rwxr-xr-x $ drwxr-xr-x 2 2 mmarkovic xxprojekt mmarkovic yyprojekt 19 512 Oct 29 16:11 test2 Oct 31 09:06 tmp

Prvi znak oznaava je li rije o direktoriju (d) ili o obinoj datoteci (-). Iza njega slijede 3 znaka koji oznaavaju dozvole za vlasnika, pa 3 znaka za grupu korisnika te na kraju za sve ostale. Broj 2 oznaava da postoji jedan link na datoteku, a u sljedea dva stupca nalaze se imena vlasnika datoteke i grupe koja joj moe pristupiti. Nakon toga slijede veliina datoteke, datum zadnje promjene te njeno ime.

Primjer: Korisnik mmarkovic kreira datotoku prva.verzija.doc za koju eli da je mogu proitati i dati o njoj svoje miljenje i komentare svi njegovi kolege koji rade na projektu xx, ali da ujedno ne smiju i ne mogu mijenjati njen sadraj, te da nitko drugi nema pristup toj datoteci. Da bi to postigao, potrebno je da sebi kao vlasniku dodijeli dozvole rw, grupi xxprojekt r, a svim ostalim korisnicima ukine sve dozvole pristupa Ispis bi tada izgledao: $ -rw-r--- 1 mmarkovic xxprojekt 45119 Oct 29 16:11 prvaverzija.doc Nitko nema x dozvolu iz razloga to datoteka prva.verzija.doc nije izvrna datoteka i ne moe se pokrenuti.

Promjena dozvola pristupa datotekama i direktorijima Naredbom chmod mogu se promijeniti dozvole pristupa za datoteke i direktorije, a odreena je sintaksom: $ chmod [-R] vrstadozvole datotekezapromjenudozvole

Sveuilite u Rijeci, Tehniki fakultet, Zavod za raunarstvo Uvod u raunarstvo

Opcija -R oznaava da je promjenu dozvola potrebno provesti rekurzivno (eng. recursive), odnosno i u svim poddirektorijima. Vrsta dozvole moe se defmirati na dva naina - brojanom kombinacijom ili slovima. Ako se koriste brojevi, potrebno je upisati troznamenkasti broj, kod kojeg svaka znamenka predstavlja jednu grupu dozvola. Broj za svaku grupu dobiva se sumiranjem pojedinih dozvola, koje imaju sljedee vrijednosti: r - read 4 w - write 2 x - execute 1 Dakle, ako se eli svima omoguiti itanje i izvravanje datoteke, a vlasniku i promjena, tada je vrsta dozvole 755. Ukoliko se vrsta dozvole definira slovima, potrebno je navesti na koju grupu se dozvola odnosi, na koji nain se pridjeljuje i koje se dozvole pridjeljuju. Mogue grupe su: u - user vlasnik datoteke g - group grupa korisnika koja ima pristup datoteci o - others svi ostali korisnici raunala a - all sve tri prethodne grupe Prava se mogu pridjeljivati na tri naina: = dozvole pristupa se postavljaju tono na navedene dozvole + navedene dozvole se dodaju postojeim dozvolama navedene dozvole se oduzimaju od postojeih Konano, mogue dozvole koje se mogu navesti su standardne r, w i x dozvole. Datoteke za promjenu dozvole se mogu navesti ili pojedinano (moe ih biti i vie, odvojene razmakom) ili koritenjem specijalnih znakova (*, ?, []) za odabir grupe datoteka.

Primjeri: $ chmod 754 testl test2 tmp datotekama testl, test2 i tmp se pridjeljuju rwx dozvole za vlasnika, rx za grupu korisnika i r za sve ostale $ chmod ug=rx test* svim datotekama iji naziv poinje sa test se pridijeljuju pr ava itanja i pisanja za vlasnika i grupu (stare dozvole se briu), dok se dozvole za sve ostale ne mijenjaju $ chmod a-w test? svima (vlasniku, grupi i ostalima) se oduzima pravo izmjene svih datotekaije ime poinje sa test, a pored toga jo imaju samo jedan znak u imenu (npr. testl, test5, testa, testb, ...)

Sveuilite u Rijeci, Tehniki fakultet, Zavod za raunarstvo Uvod u raunarstvo

$ chmod -R og+rx *xxprojekt* svim datotekama u trenutnom direktoriju i svim poddirektorijima koje u svom imenu sadre xxprojekt, se na postojee dozvole za grupu i ostale dodaju i read i execute $ chmod 700 xx*[abc] svim datotekama ije ime poinje s xx, a zavrava sa jednim od slova a, b ili c se za vlasnika postavljaju rwx dozvole, a grupi i ostalima se ukidaju sva prava pristupa

4. Naredbe za rad s datotekama i direktorijima


Obzirom da u Linuxu nema velike razlike izmedu datoteka i direktorija (direktorij je posebna vrsta datoteke), mnoge naredbe se koriste na isti ili slian nain te e se zato i obraditi u istom poglavlju.Pri radu s direktorijima se za razdvajanje pojedinih poddirektorija koristi znak / (eng. slash). Poetni direktorij (eng. root) ima oznaku /, a korisniki home direktoriji se nalaze u osnovnom direktoriju, odnosno njihovo je puno ime /home. Unutar /home, svaki korisnik ima svoj direktorij, npr. /home/mmarkovic. Za pristup vlastitom home direktoriju moe se koristiti znak ~ (eng. tilde), a za pristup home direktoriju nekog drugog korisnika ~imekorisnika, npr. ~iivic.

Ispis sadraja direktorija Za ispis sadraja direktorija koristi se naredba ls, ija je sintaksa: $ ls [opcije] datoteke

Od ee koritenih opcija bitno je spomenuti: -l za svaku datoteku ispisuje dozvole, broj linkova, vlasnika, grupu, veliinu i vrijeme zadnje promijene (tzv. dugi format) -t -r -a sortira ispis po vremenu zadnje promjene okree redoslijed sortiranja ispisuje sve datoteke, ukljuujui i sakrivene (one ije ime poinje s .) ispisuje i sadraj svih poddirektorija koristi se zajedno sa -t i sortira ispis po vremenu zadnjeg pristupa

-R -u

Sveuilite u Rijeci, Tehniki fakultet, Zavod za raunarstvo Uvod u raunarstvo

Umjesto zasebnog navodenja svake opcije, Linux omoguuje da se opcije spoje, npr. ls -l -t u je isto to i ls -ltu. Primjeri: $ ls ispisuje popis imena svih datoteka i direktorija u trenutnom direktoriju $ ls -lt ispisuje sve podatke o datoteka i direktorijima trenutnog direktorija te sortira ispis po vremenu zadnje promijene $ ls -altur ispisuje datoteke i sve podatke o njima, ukljuujui i skrivene te ih sortira u padajuem nizu po vremenu zadnjeg pristupa $ ls -R t* ispisuje sve datoteke u trenutnom direktoriju ije ime poinje slovom t te sadraj svih poddirektorija trenutnog direktorija, ija imena poinju sa t (ukljuujui i sve njihove poddirektorije) $ ls~ ispisuje sadraj korisnikovog home direktorija $ ls~/tmp/t* ispisuje sve datoteke ije ime poinje slovom t, a nalaze se u poddirektoriju tmp, korisnikovog home direktorija

Ispis i promjena radnog direktorija Korisnik naredbom pwd moe u svakome trenutku provjeriti u kojem se direktoriju nalazi. Sintaksa naredbe je: $ pwd Za promjenu radnog direktorija koristi se naredba cd, ija je sintaksa: $ cd [imedirektorija]

Ukoliko se cd pozove bez argumenta imedirektorija, radni direktorij e se promijeniti u korisniki home direktorij.

Sveuilite u Rijeci, Tehniki fakultet, Zavod za raunarstvo Uvod u raunarstvo

Primjeri: $ pwd ispisuje t renutni radni direktorij $ cd pozicionira se u korisnikov home direktorij (isto kao i cd ~) $ cd ~/tmp pozicionira se u direktorij tmp koji se nalazi u korisnikovom home direktoriju (isto kao i cd /home/mmarkovic/tmp $ cd ../tmp pozicionira se u direktorij tmp koji se nalazi u istom direktoriju kao i trenutni direktorij (eng. parent directory)

Naredba za kreiranje direktorija Direktoriji se kreiraju naredbom mkdir, ija je sintaksa: $ mkdir [-m mode] [-p] imedirektorija

Opcijom -m mogu se definirati dozvole pristupa za novo-kreirani direktorij, dok opcija -p slui da se kreiraju svi potrebni poddirektoriji (ako ne postoje) do konanog direktorija.

Primjeri: $ mkdir moj_dir u trenutnom direktoriju kreira novi direktorij moj_dir $ mkdir -m 700 ~/tmp u home direktoriju kreira direktorij tmp sa rwx dozvolama za vlasnika i bez ikakvih dozvola za sve ostale

$ mkdir

-p

~/tmp/tmpl/tmp2/tmp.konacni pod pretpostavkom da ne postoje, kreira direktorije tmpl, tmp2 i tmp.konacni

Sveuilite u Rijeci, Tehniki fakultet, Zavod za raunarstvo Uvod u raunarstvo

Naredba za premjetanje i preimenovanje direktorija i datoteka Za premjetanje i preimenovanje datoteka i direktorija koristi se naredba mv, ija je sintaksa: $ mv [-fi] /staralokacija/staroime /novalokacija/novoime

Koritenjem opcije -i korisnik se osigurava da e mv postaviti zahtjev za potvrdom premjetanja u sluaju da datoteka s takvim imenom ve postoji na novoj lokaciji. Uz potvrdni odgovor, nova e se datoteka presnimiti (eng. overwrite) preko stare, koja e se nepovratno izgubiti. Opcija -f (eng. force) ima suprotni uinak - slui da se izostavi zahtjev za potvrdom presnimavanja datoteka preko postojeih te da se nove datoteke bezuvjetno premjeste na novu lokaciju. U posebnom sluaju, kada su stara i nova lokacija iste, a staro i novo ime razliiti postie se efekt preimenovanja datoteke ili direktorija. Primjeri: $ mv -f file1 ~/file2 bezuvjetno premjeta datoteku file1 iz trenutnog direktorija u korisnikov home direktorij, pod novim imenom file2; ako file2 ve postoji, njen e se sadraj izgubiti jer e biti presnimljen s drugom datotekom, a ako je file2 direktorij, tada e se file1 premjestiti u file2, i zadrat e staro ime: file1 $ mv -i file* ~/tmp premjeta sve datoteke i direktorije iji naziv poinje s file trenutnog direktorija u direktorij tmp koji se nalazi u korisnikovom home direktoriju; ako neka od datoteka s takvim imenom ve postoji mv e zahtjevati potvrdu, prije nego to preko nje presnimi novu datoteku $ mv tmp tmpl preimenuje datoteku ili direktorij tmp u trenutnom direktoriju u tmp1 $ mv tmp ~/tmpl premjeta datoteku ili direktorij tmp trenutnog direktorija u direktorij tmp1, koji se nalazi u korisnikovom home direktoriju $ mv ~/tmpl/moj_dir* ~ premjeta sve datoteke i direktorije ije ime poinje s moj_dir iz direktorija tmp1 koji se nalazi u korisnikovom home direktoriju, u korisnikov home direktorij

Kopiranje datoteka i direktorija Datoteke i direktoriji kopiraju se koritenjem naredbe cp, ija je sintaksa: $ cp [opcije] source destination

Sveuilite u Rijeci, Tehniki fakultet, Zavod za raunarstvo Uvod u raunarstvo

Najee koritene opcije su: -i zahtjeva potvrdu kopiranja, ako datoteka s tim imenom ve postoji na odreditu (bez opcije -i se datoteka automatski presnimava preko odredine) -r kopira i sadraj svih poddirektorija

-p osim samih datoteka, kopira i dozvole pristupa, vlasnika, grupu te vrijeme zadnje promjene, i vrijeme zadnjeg pristupa

Primjeri: $ cp datl ./tmp/dat2 kopira datoteku dat1 iz radnog direktorija u direktorij tmp, koji se nalazi unutar radnog direktorija, pod novim imenom dat2 -i *dat* ~/tmp kopira sve datoteke koje u svom imenu sadre dat u direktorij tmp unutar korisnikog home direktorija; ako ve postoji datoteka s takvim imenom, zahtjeva potvrdu, prije nego to preko nje presnini drugu datoteku -p dat1 tmp kopira datoteku dat1 iz radnog direktorija u direktorij tmp (ako direktorij ne postoji, tada se datoteka kopira u novu datoteku s imenom tmp) unutar radnog direktorija, uz sauvane podatke o dozvolama pristupa, vlasniku, grupi i vremenu zadnje promjene, odnosno pristupa -r ~/tmp ~/tmp_copy direktorij tmp iz home direktorija se kopira u isti taj direktorij, ali pod novim imenom; rezultat su dva direktorija istog sadraja, ali razliitog imena -r ../moj_dir ~/tmp direktorij moj_dir, koji se nalazi u parent direktoriju se kopira u tmp direktorij, korisnikovog home direktorija

$ cp

$ cp

$ cp

$ cp

Brisanje datoteka i direktorija Za brisanje datoteka i direktorija koriste se naredbe rm i rmdir, ije su sintakse: $ rm [-rif] ime_direktorija $ rmdir ime_direktorija

10

Sveuilite u Rijeci, Tehniki fakultet, Zavod za raunarstvo Uvod u raunarstvo

Naredbom rm mogu se obrisati direktoriji i poddirektoriji bez obzira na to jesu li prazni ili sadre druge datoteke i direktorije, dok se naredbom rmdir prvenstveno briu prazni direktoriji. Opcije naredbe rm su: -i koristi se da bi se od korisnika traila potvrda (eng. confirmation) prije brisanja datoteka i direktorija -f ima suprotni uinak od i - sve se datoteke i direktoriji briu bez traenja potvrde datoteke i direktorij se briu rekurzivno, odnosno, briu se i svi poddirektoriji zadanog direktorija

-r

Primjeri: $ rm -ri tmp brie direktorij tmp trenutnog direktorija i sve to se u njemu nalazi (ukljuujui i poddirektorije), a prije svakog brisanja zahtjeva od korisnika potvrdu $ rm -rf ~/tmp1 brie direktorij tmp1, koji se nalazi u korisnikovom home direktoriju, i sve to se u njemu nalazi, bez da se trai potvrda $ rm -i *zip iz radnog direktorija brie sve datoteke ije ime zavrava sa zip, a prije brisanja svake datoteke, zahtjeva potvrdu moj_dir pod uvjetom da je prazan, brie direktorij moj_dir, koji se nalazi u trenutnom direktoriju

$ rmdir

Ispis sadraja datoteka Za ispis sadraja tekstualnih datoteka koriste se naredbe less i cat. Sintaksa naredbi je: $ less ime_datoteke $ cat [opcije] ime_datoteke [| more] [| less] Ispisom pomou less dobiva se ispis stranicu po stranicu, s mogunou navigacije unutar datoteke. Koritenje naredbe cat omoguuje koritenje nekih dodatnih opcije, kao npr.: -n pri ispisu numerira retke datoteke -b pri ispisu numerira retke datoteke, ali izostavlja prazne retke

11

Sveuilite u Rijeci, Tehniki fakultet, Zavod za raunarstvo Uvod u raunarstvo

Uz naredbu cat, mogu se koristiti i more i less, koji omoguuju navigaciju po ispisu naredbe cat. Osim navedenih naredbi za ispis cijele tekstualne datoteke, postoje i naredbe za ispis samo poetka, odnosno kraja datoteke: $ head $ tail [-broj_redaka] imedatoteke [+/-broj_redaka] [r] imedatoteke

Head naredba ispisuje broj_redaka redaka od poetka datoteke, a ako se broj_redaka izostavi, tada je podrazumijevana vrijednost 10. Tail ispisuje broj_redaka redaka datoteke, raunajui od poetka (+) ili od kraja (-) datoteke. Ispis moe biti i u suprotnom redoslijedu (r).

Primjeri: $ less file1.txt ispisuje sadraj file1.txt, stranicu po stranicu -n index.html ispisuje sadraj index.html i numerira sve retke, ukljuujui i prazne -b index.html | more ispisuje sadraj index.html i numerira sve retke osim praznih, te ispisuje rezultat stranicu po stranicu *txt ispisuje prvih 10 redaka svih datoteka koje zavravaju s txt -20 index* ispisuje prvih 20 redaka svih datoteka ije ime poinje s indeks -20r *txt ispisuje u suprotnom redosljedu zadnjih 20 redaka svih datoteka ije ime zavrava s txt +20 *html ispisuje sve redke od 20. do zadnjeg, datoteka ije ime zavrava s html

$ cat

$ cat

$ head

$ head

$ tail

$ tail

12

Sveuilite u Rijeci, Tehniki fakultet, Zavod za raunarstvo Uvod u raunarstvo

5. Redirekcija podataka i ulanavanje naredbi


Pod Linuxom su definirane standarne datoteke: standardni ulaz, standardni izlaz i standardni izlaz za greke. Za sve tri datoteke se podrazumijeva da se koristi terminal. Programi koji se izvravaju, u princpu, sve to je potrebno ispisuju na standardni izlaz, a sve potrebne podatke uitavaju sa standardnog ulaza. Pri tome sami program ne zna to je u stvari standardni ulaz, odnosno izlaz. To omoguuje da se prije pokretanja programa definira npr., da je standardni ulaz datoteka ulaz.dat, a standardni izlaz datoteka ulaz2.dat. Na taj e nain program uitati sve to mu je potrebno iz prve datoteke, dok e rezultat ispisa snimiti u drugu datoteku, umjesto ispisa na ekran. To preusmjeravanje standardnog ulaza, izlaza i izlaza za greke naziva se redirekcija. Za redirekciju se koriste sljedei znakovi: < preusmjerava standardni ulaz na neku datoteku ili vanjsku jedinicu > preusmjerava standardni izlaz u neku datoteku ili vanjsku jedinicu; ako datoteka ve postoji, biti e izbrisana >> preusmjerava standardni izlaz tako da podatke dodaje na kraj postojee datoteke (ako datoteka ne postoji, biti e kreirana) Standardni izlaz za greke se ne moe samostalno preusmjeravati, ali se moe preusmjeriti zajedno sa standardrim izlazom, dodavanjem znaka & iza > ili >>. Osim preusmjeravanja podataka, mogue je i ulanavanje toka podataka kroz protonu strukturu (eng. pipeline). Koritenjem znaka | moe se standardni izlaz iz jedne naredbe povezati sa standardnim ulazom u drugu, to omoguuje povezivanje vie naredbi koje koriste i modificiraju jedan ulazni niz podataka.

Primjeri: $ ls -l > sadrzaj_direktorija ispis sadraja radnog direktorija snima u datoteku sadrzaj_direktorija (ako datoteka ve postoji, njen e sadraj biti izgubljen) -l >> sadrzaj_direktorija ispis sadraja radnog direktorija dodaje se na kraj datoteke sadrzaj_direktorija (ako datoteka na postoji, bit e kreirana) < file1 preusmjerava podatke iz datoteke file1 na standardni ulaz narebe sort tap >& /dev/null preusmjerava standardni izlaz i standardni izlaz za greke u /dev/null (/dev/null se naziva data sink, jer se gube svi podaci koji se u njega upiu) | sort sortira ispis naredbe ls (standardni izlaz od ls je spojen sa stanadardnim ulazom

$ ls

$ sort

$ rmdir

$ ls

13

Sveuilite u Rijeci, Tehniki fakultet, Zavod za raunarstvo Uvod u raunarstvo

naredbe sort)

6. Ostale naredbe Linuxa


Obzirom da bi bilo nemogue u ovim kratkim uputama obraditi sve mogunosti i naredbe Linuxa, u ovom e poglavlju biti obradene neke od ee koritenih.

Pretraivanje diska Za traenje datoteka i direktorija na disku koriste se naredbe find i locate, ije su sintakse: $ find $ locate pocetni_dir izraz dio_imena_datoteke

Naredba locate e u svojoj bazi podataka pokuati pronai sve datoteke koje sadre u svom imenu dio_imena_datoteke. Baza se obnavlja periodiki, to znai da se u njoj nee nalaziti nedavno kreirano datoteke. Naredba find e, poevi od direktorija pocetni_dir, pokuati pronai na disku datoteku ili grupu datoteka koje su definirane izrazom izraz. Neki od moguih izraza su: -atime [+/-]n sve datoteke i direktoriji kojima je pristupano prije vie od +n dana,prije manje od -n dana ili prije tono n dana -ctime [+/-]n sve datoteke i direktoriji iji je sadraj mijenjan prije vie od +n dana,prije manje od -n dana ili prije tono n dana -group gname sve datoteke i direktoriji koji pripadaju grupi gname -user username sve datoteke i direktoriji iji je vlasnik username -size [+/-]nc sve datoteke koje su vee od +n B, manje od -n B, odnosno velike tono n B (B=bajt) -name izraz sve datoteke i direktoriji koji su definirani izrazom, koji moe biti bilo koji od standardnih izraza (ime, dio_imena*, *dio?, i sl.) Primjeri:

$ locate

file
14

Sveuilite u Rijeci, Tehniki fakultet, Zavod za raunarstvo Uvod u raunarstvo

ispisuje sve datoteke i direktorije koji u svom imenu sadre file $ find ~ -atime +10 -group moja_grupa -size -2048c ispisuje sve datoteke i direktorije unutar korisnikog home direktorija i svih njegovih poddirektorija, kojima je pristupano prije vie od 10 dana, pripadaju grupi moja_grupa i manje su od 2KB . -name *txt -user korisnik -ctime -2 ispisuje sve datoteke ije ime zavrava na txt, iji je vlasnik korisnik i koje su zadnji puta mijenjane prije manje od dva dana ~/tmp -ctime 10 ispisuje sve datoteke unutar direktorija tmp, koji se nalazi u korisnikom home direktoriju, koje su zadnji puta mijenjane prije tono 10 dana

$ find

$ find

Usporedba datoteka Pomou naredbe diff, mogu se usporediti sadraji dviju tekstualnih datoteka. Na standardni izlaz ispisuju se sve razlike medu datotekama. Sintaksa je: $ diff [opcije] datotekal datoteka2

Od mnogobrojnih opcija moe se izdvojiti -i, koja pri usporeivanju uzrokuje zanemarenje razlike da li se u tekstu nalaze mala ili velika slova.

Primjer: $ diff slovima -i dat1 dat2 ispisuje razlike izmedu datoteka dat1 i dat2, ne vodei rauna o velikim i malim

Prebrojavanje znakova unutar datoteke Za prebrojavanje znakova unutar neke tekstualne datoteke koristi se naredba wc, ija je sintaksa:

$ wc

[opcije]

imedatoteke

15

Sveuilite u Rijeci, Tehniki fakultet, Zavod za raunarstvo Uvod u raunarstvo

Od opcija je bitno spomenuti: -m broji znakove -l broji redke -w broji rijei

Primjer: $ wc -m filel.txt ispisuje koliko u datoteci file1.txt ima znakova

Naredbe za dobivanje podataka o zauzeu diska Podaci o slobodnom prostoru na disku, odnosno o zauzeu mjesta mogu se dobiti koritenjem naredbi df (eng. disk free) za zauzee prostora po particijama i du (eng. disk usage) za zauzee prostora nekog direktorija. Sintaksa naredbi je: $ df odnosno: $ du [-k] pocetnidir [-k]

Primjeri: $ df -k ispisuje u KB i postocima koliko je na kojoj particiji slobodnog, odnosno koliko je zauzetog prostora $ du -k ~ ispisuje u KB koliko mjesta na disku zauzima korisnikov Home direktorij i svi njegovi poddirektoriji

16

Sveuilite u Rijeci, Tehniki fakultet, Zavod za raunarstvo Uvod u raunarstvo

Naredba za pronalazak uzorka u znakovnom nizu Ako je unutar nekog znakovnog niza potrebno pronai neki uzorak teksta, tada se koristi naredba grep. Rezultat e biti ispis svih redaka u kojima se nalazi zadani uzorak. Naredba grep se najee koristi u kombinaciji s drugim naredbama Primjer: $ cat popis | grep Marko ispisuje sve redke datoteke popis, koji u sebi sadre ime Marko

Naredba za sortiranje podataka Za sortiranje podataka koristi se naredba sort, ija je sintaksa: $ sort [opcije] podaci ee koritene opcije su: -r sortiranje u suprotnom redosljedu -k n sortiranje po n-tom stupcu podataka Nakon pokretanja naredbe, mogu se upisivati podaci koje je potrebno sortirati. Kraj upisa podataka oznaava se pritiskom kombinacije tipki Ctrl+D (skraeni zapis ^D). Naredba sort se na ovaj nain koristi vrlo rijetko, ali se zato dosta esta primjenjuje u kombinaciji s drugim naredbama.

Primjeri: $ ls -l | sort -r -k 9 sortira rezultat naredbe ls -l u padajuem nizu, po 9-om stupcu (u ovom sluaju po imenu datoteke) filel.txt | grep Adresa | sort > file2.txt sortira sve retke datoteke file1.txt, koji u sebi sadre rije Adresa i zapisuje ih u datoteku file2.txt

$ cat

17

Sveuilite u Rijeci, Tehniki fakultet, Zavod za raunarstvo Uvod u raunarstvo

Naredbe za dobivanje informacija o drugim korisnicima Za dobivanje informacija o drugim korisnicima raunala, najee se koriste naredbe who i finger. Primjeri: $ who ispisuje tko je trenutno, i s kojeg raunala, logiran na raunalo $ finger jsmith ispisuje podatke o korisniku raunala ije je korisniko ime (login) jsmith (korisnik ne mora biti logiran na raunalu)

Promjena zaporke (eng. password) Korisnik u svakom trenutku smije promijeniti vlastiti password, koristei naredbu passwd. Nakon pokretanja, potrebno je upisati stari password te nakon toga dva puta za redom novi. Pri odabiru, potebno je voditi rauna o tome da ga se lako zapamti, ali da ga je teko pogoditi, te da zadovoljava minimalne uvjete koje operacijski sustav zahtjeva (npr. minimalna duina ili koritenje barem jednog velikog i jednog malog slova i sl.).

Ispis kalendara Naredbom cal, dobiva se na standardni izlaz ispis kalendara za bilo koji mjesec i godinu. Sintaksa naredbe je: $ cal [mjesec [godina]]

Ako se ne navedu mjesec ili godina, tada je podrazumijevana vrijednost tekui mjesec, odnosno tekua godina.

18

Sveuilite u Rijeci, Tehniki fakultet, Zavod za raunarstvo Uvod u raunarstvo

$ cal ispisuje kalendar za tekui mjesec u tekuoj godini $ cal 10 2003 ispisuje kalendar za 10. mjesec, 2003. godine

7. Naredbe za komunikaciju s drugim korisnicima


esto se javlja potreba za komunikacijom izmedu dva korisnika raunala. U svakom se trenutku moe poslati e-mail, ali je esto jednostavnije poslati kratku poruku koju e drugi korisnik vidjeti na ispisu terminala. Takoer, ukoliko je potrebna kratka izmjena miljenja oko neke teme, komunikacija elektronskom potom bi trajala predugo te je bolje uspostaviti direktnu komunikaciju.

Naredbe za slanje poruka Poruka se drugom korisriku, koji je trenutno logiran na raunalu, moe poslati koritenjem naredbe write, ija je sintaksa: $ write user_login [poruka]

Ako se ne navede poruka, tada se ona upisuje nakon pokretanja naredbe. U tom sluaju, poruka moe imati proizvoljan broj redaka, a upis se zavrava pritiskom kombinacije tipki Ctr+D.

Primjer: $ write mmarkovic Kasnimo na vjezbe!

19

Sveuilite u Rijeci, Tehniki fakultet, Zavod za raunarstvo Uvod u raunarstvo

Naredba za otvaranje razgovora izmedu dva korisnika Razgovor se izmeu dva korisnika (koji su trenutno logirani na raunalu) zapoinje naredbom talk: $ talk imekorisnika

Primjer: $ talk mmarkovic Nakon pokretanja, dobiva se poruka: Waiting for your party to respond, dok se korisniku s kojim se pokuava uspostaviti komunikacija ispisuje poruka tko eli s njim razgovarati i to treba napisati da bi se uspostavila komunikacija: talk: respond with: talk iivic@rijeka.riteh.hr. Ako mmarkovic eli razgovarati s iivic-em, treba upisati talk iivic, a u protivnom moe normalno nastaviti s radom. Razgovor se prekida pritiskom kombinacije tipki Ctrl+D ili Ctrl+C.

Kontrola primanja poruka i zahtjeva za razgovorom Ukoliko doe do situacije kada korisniku raunala smetaju dolazee poruke i zahtjevi za razgovor, on ih koritenjem naredbe mesg moe zabraniti. Sintaksa naredbe je: $ mesg [-y | -n] Opcija -y omoguava primanje poruka i zahtjeva za razgovor, dok ih -n zabranjuje. Ukoliko se izostave obje opcije, tada se ispisuje trenutni status.

Primjeri: $ mesg ispisuje status $ mesg -y dozvoljava ispis poruka i zahtjeve za razgovor

20

Sveuilite u Rijeci, Tehniki fakultet, Zavod za raunarstvo Uvod u raunarstvo

Zadaci za vjebu
1. 2. U svom home direktoriju kreirati direktorij proba. U direktoriju proba kreirati datoteku naziva popis-share s ispisom sadraja direktorija /usr/share u dugom formatu, sortirano po vremenu zadnje promjene (koristiti redirekciju). Promijeniti dozvole pristupa datoteci popis-share tako da korisnik i grupa imaju r i w pravo pristupa, a ostali nita. Preimenovati datoteku popis-share u popis. Preimenovati direktorij proba u proba1. U svom home direktoriju kreirati direktorij kopija.etc. U direktorij kopija.etc rekurzivno (iz svih poddirektorija) iskopirati sve datoteke iz sistemskog direktorija /etc, kojima je drugi znak u nazivu znak a (npr. bash). U direktoriju kopija.etc kreirati datoteku velicine, u kojoj e biti zapisano zauzee prostora na disku od tog direktorija i svih datoteka u njemu (u human readable formatu, koristiti redirekciju) Zapisati sortirani sadraj datoteke /etc/group u datoteku ~/grupe Ispisati na ekran sadraj datoteke grupe uz numeriranje redaka. Prebrojati koliko rijei sadri datoteka grupe. Pronai sve datoteke u svom home direktoriju i svim njegovim poddirektorijima koje su mijenjane prije manje od 200 dana, kojima je pristupano prije manje 20 dana i koje su vee od 1KB. Iskopirati direktorij kopija.etc u direktorij kopija.etc1. U direktoriju kopija.etc1 kreirati datoteku veljaca u kojoj je zapisan kalendar mjeseca veljae, 2006. godine. Datoteku veljaca iskopirati u direktorij proba1. Izbrisati direktorij proba1.

3. 4. 5. 6. 7. 8.

9. 10. 11. 12.

13. 14. 15. 16.

21

You might also like