Fajlovi - Katedra za...

61
Fajlovi U Linux-u se sve smatra fajlom Na primer, direktorijum je fajl koji predstavlja listu drugih fajlova (koji se nalaze u dotičnom direktorijumu) Tipovi fajlova: Regularni fajl (-) Direktorijum (d) Direktorijum (d) Character device (c) Link (l) Socket (s) Pipe (p) Block device (b) Važna napomena: imena fajlova su case sensitive (npr. Primer.txt i primer.txt su dva različita fajla) U zagradama je navedena oznaka tipa fajla koja se prikazuje prilikom tzv. dugog formata ispisa liste fajlova

Transcript of Fajlovi - Katedra za...

Page 1: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

Fajlovi

• U Linux-u se sve smatra fajlom• Na primer, direktorijum je fajl koji predstavlja listu drugih

fajlova (koji se nalaze u dotičnom direktorijumu)• Tipovi fajlova:

– Regularni fajl (-)– Direktorijum (d)– Direktorijum (d)– Character device (c)– Link (l)– Socket (s)– Pipe (p)– Block device (b)

• Važna napomena: imena fajlova su case sensitive (npr. Primer.txt i primer.txt su dva različita fajla)

U zagradama je navedena oznaka tipa fajla koja se prikazuje prilikom tzv. dugog formata ispisa liste fajlova

Page 2: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

Tipovi fajlova

• Regularni fajlovi su obični fajlovi - tekstualni fajlovi, slike, izvršni fajlovi, arhive, ...

• Direktorijumi predstavljaju liste drugih fajlova sadržanih u njima

• Character device fajl predstavlja hardverski fajl koji • Character device fajl predstavlja hardverski fajl koji omogućava komunikaciju na nivou karaktera (miš, tastatura, serijski štampač) - serijski striming ulaz i izlaz - npr. terminal spada u ovu grupu fajlova

• Block device fajl predstavlja hardverski fajl koji omogućava komunikaciju na nivou blokova (HDD, CD/DVD uređaji, USB fleš)

Page 3: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

Tipovi fajlova

• Link fajl predstavlja link ka drugom fajlu –postoje hard i soft linkovi, a link fajlovi se odnose na soft (simboličke) linkove

• Socket fajl omogućava komunikaciju između • Socket fajl omogućava komunikaciju između procesa (aplikacija)

• Pipe fajl omogućava komunikaciju između procesa, ali bez upotrebe semantike soketa (postoje unnamed i named pipes, a ovi fajlovi se odnose na named pipes)

Page 4: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

Stablo

• Fajl sistem na Linux-u se može posmatrati kao stablo fajlova u čijem korenu je tzv. root direktorijum koji se označava sa /

• Tipično se u korenu nalaze standardni direktorijumi poput bin, sbin, usr,... i važno je direktorijumi poput bin, sbin, usr,... i važno je poznavati šta se u njima nalazi radi lakšeg snalaženja

• Linux koristi Filesystem Hierarchy Standard (FHS) - više informacija na http://www.pathname.com/fhs/

Page 5: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

bin direktorijumi

• /bin - sadrži programe (izvršne fajlove) koje mogu koristiti svi - sistem, korisnici, sistemski administrator

• bin potiče od reči binaries koji predstavljaju fajlove koji sadrže kompajlirani izvorišni kod

• bin direktorijumi se pored root-a mogu naći i na • bin direktorijumi se pored root-a mogu naći i na drugim mestima

• /sbin - programi koje koriste sistem i sistemski administrator - tipično su u pitanju programi za konfigurisanje OS-a

• Za izvršenje programa iz sbin foldera uglavnom su potrebne root privilegije

Page 6: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

bin direktorijumiDeo sadržaja bin direktorijuma.

Zelenom bojom su označeni izvršni fajlovi.

Deo sadržaja sbin direktorijuma.

Zelenom bojom su označeni izvršni fajlovi.

Page 7: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

lib i opt direktorijumi

• /lib - sadrži biblioteke

• Često programi koji se nalaze u bin i sbin direktorijumima koriste iste (zajedničke) biblioteke - iz tog razloga te se biblioteke stavljaju na mesto odakle im svi programi lako stavljaju na mesto odakle im svi programi lako mogu pristupiti i to je lib direktorijum

• /opt - sadrži tzv. opcioni softver pod kojim se tipično podrazumeva third-party softver van originalnog repozitorijuma distribucije - često je ovaj folder prazan

Page 8: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

boot i etc direktorijumi

• Ova 2 direktorijuma sadrže konfiguracione fajlove

• /boot direktorijum sadrži fajlove neophodne za butovanje računarabutovanje računara

• /etc direktorijum sadrži konfiguracione fajlove (npr. za grafičko okruženje)

• etc se može posmatrati kao akronim za Editable Text Configuration

Page 9: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

home i root direktorijumi

• /home direktorijum sadrži direktorijume korisnika • Prvi nivo ispod /home direktorijuma se nalaze sami

direktorijumi korisnika • Korisnička imena korisnika su tipično i nazivi samih

direktorijuma npr. /home/markodirektorijuma npr. /home/marko• U ovim direktorijumima korisnici čuvaju svoje

podatke, dokumente i sl. • /root direktorijum je izdvojen van home

direktorijuma - ista svrha samo za root korisnika• Može doći do konfuzije u terminologiji jer se pod root

direktorijumom podrazumeva /, a /root je home direktorijum za root korisnika

Page 10: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

srv, media, mnt direktorijumi

• /srv direktorijum sadrži tzv. served by your systempodatke

• U pitanju su podaci određenih servisa/protokola poput www, ftp i slično, gde bi se smestio sadržaj sajta, fajlovi za skidanje sa ftp servera i sl.sajta, fajlovi za skidanje sa ftp servera i sl.

• /media direktorijum služi kao mount tačka za uređaje poput cd/dvd, kamere, usb i sl.

• Za cd/dvd uređaje se nekad koristi /cdrom direktorijum

• /mnt direktorijum služi za privremene mount tačke (u nekim sistemima se ovaj direktorijum koristi za uređaje poput CD/DVD uređaja)

Page 11: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

tmp direktorijum

• /tmp direktorijum sadrži privremene fajlove

• U ovaj direktorijum ne treba smeštati svoje dokumente, bekap i sl.

• Kao što ime sugeriše (tmp - temporary) ovaj • Kao što ime sugeriše (tmp - temporary) ovaj direktorijum je predviđen za čuvanje samo privremenih fajlova i tipično se njegov sadržaj briše nakon rebutovanja

Page 12: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

dev i proc direktorijumi

• /dev direktorijum sadrži fajlove koji se odnose na hardversku periferiju

• Tu se nalaze i drajveri periferije

• /proc direktorijum sadrži informacije o • /proc direktorijum sadrži informacije o procesima i sistemskim resursima

Page 13: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

usr direktorijum

• /usr direktorijum sadrži izvršne fajlove, biblioteke, dokumentaciju i sl. za sve korisničke aplikacije

• Iako se naziv direktorijuma izgovara user, usr je akronim od Unix System Resourcesakronim od Unix System Resources

• Ovaj direktorijum bi u suštini trebao da sadrži samo read-only fajlove koji mogu da se dele

• Pošto se korisničke aplikacije tipično instaliraju u ovaj folder, /usr folder je među najvećim folderima na sistemu

Page 14: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

var direktorijum

• /var direktorijum je namenjen čuvanju fajlova čija veličina ne može da se proceni i menja se dinamički tokom vremena (otuda i naziv var -variable)variable)

• Tipičan primer su log fajlovi

Page 15: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

Apsolutne i relativne putanje

• Apsolutne putanje se pišu polazeći od / direktorijuma

• Otuda ove putanje uvek na početku imaju /

• Primer: /home/marko• Primer: /home/marko

• Relativne putanje se pišu polazeći od direktorijuma u kom se trenutno nalazimo - one nemaju / na početku

• Primer1: home/marko - ako se nalazimo u /

• Primer2: marko - ako se nalazimo u /home

Page 16: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

pwd

• Komanda za prikaz trenutne lokacije u stablu

• Print Working Directory

Page 17: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

cd

• Komanda za promenu radnog direktorijuma• Change Directory• Nema manual jer je u pitanju built-in funkcija nasleđena iz sh

(Bourne shell)• cd /home/marko - ova komanda će uvek da promeni radni

direktorijum u /home/marko (naravno, pod uslovom da ova direktorijum u /home/marko (naravno, pod uslovom da ova putanja postoji) gde god se trenutno nalazili jer je navedena apsolutna putanja kao argument

• cd marko - ova komanda će promeniti radni direktorijum u marko, ako se nalazimo u direktorijumu koji sadrži direktorijum marko - argument je sada relativna putanja

• U prethodnom primeru sa relativnom putanjom ako direktorijum marko ne postoji u trenutnom radnom direktorijumu, prijaviće se greška i radni direktorijum neće biti promenjen

Page 18: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

cd• cd marko/dokumenti - argument relativne putanje može biti

duži

• Koristan savet - za kompletiranje naziva direktorijuma može se koristiti Tab taster

• Važno - direktorijumi su case sensitive (oni su isto fajlovi)

Tab

Tab

Da bi Tab kompletirao putanju bitno je da je otkucano dovoljno slova da naziv direktorijuma bude jedinstven. Dvostruki Tab daje prikaz mogućnosti.

Page 19: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

cd

• cd .. - idemo u roditeljski direktorijum tj. jedan direktorijum unazad prema korenu stabla

• cd - pozicionira radni direktorijum u korisnikov home direktorijumhome direktorijum

• cd ~ - radi isto što i prethodna stavka

• cd / - pozicionira radni direktorijum u koren stabla (logično jer je navedena apsolutna putanja /)

• cd - - vraćanje u prethodni direktorijum

Page 20: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

cd

cd -vraća u prethodni, a ne roditeljski a ne roditeljski radni direktorijum

Page 21: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

cd

• cd ../../bin - pretpostavimo da se nalazimo u direktorijumu /home/marko i želimo da promenimo radni direktorijum u /bin - .. mogu se koristiti za pomeranje unazad, tako da će nas navedena komanda pozicionirati u /bin foldernavedena komanda pozicionirati u /bin folder

• Naravno, u ovom primeru lakše bi bilo da smo odmah naveli apsolutnu putanju tj. cd /bin

• Važno je uočiti već ovde da za jednu operaciju veoma često postoji više načina da se uradi

• cd . - ova komanda nas ostavlja u istom radnom direktorijumu

Page 22: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

mkdir

• Komanda za kreiranje direktorijuma

• Make Directory

• mkdir test - kreira direktorijum test u trenutnom radnom direktorijumu

• mkdir test/test1 - kreira direktorijum test1 u poddirektorijumu test

• mkdir test/test1 - kreira direktorijum test1 u poddirektorijumu test

• Ako u radnom direktorijumu ne postoji direktorijum test, prethodni primer će prijaviti grešku

• Opcija -p omogućava da se kreiraju svi nedostajući direktorijumi na navedenoj putanji

• mkdir -p test/test1 će kreirati i direktorijum test ako on ne postoji i neće se prijaviti greška

Page 23: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

mkdir

• mkdir test

• mkdir test/test1 • mkdir -p test/test1

Ako ne postoje test i test1 onda su ova Ako ne postoje test i test1 onda su ova dva primera ekvivalentna

Ako postoji test onda u prvom primeru ne treba prva linija.

• mkdir /home/marko/novi - kreira direktorijum novi u /home/marko direktorijumu - očigledno, mogu se koristiti i apsolutne putanje i tada je svejedno gde je radni direktorijum trenutno

• Napomena: ako pored krajnjeg foldera, ne postoje još neki folderi na putanji koristiti opciju -p

Page 24: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

rmdir

• Komanda za brisanje praznog direktorijuma

• Remove Directory

• Direktorijum treba da bude prazan da bi se mogao obrisati, u suprotnom se prijavljuje greška

• rmdir test - briše poddirektorijum test iz radnog direktorijuma

• rmdir test - briše poddirektorijum test iz radnog direktorijuma

• rmdir test/test1 - briše poddirektorijum test1 koji se nalazi u direktorijumu test, a koji je poddirektorijum trenutnog radnog direktorijuma

• rmdir /home/marko/test - briše direktorijum test naveden apsolutnom putanjom - sada je svejedno gde je radni direktorijum trenutno

Page 25: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

rmdir

• Opcija -p briše i roditeljske direktorijume• rmdir -p test/test1/test2 je ekivalentan komandama:

• rmdir test/test1/test2• rmdir test/test1• rmdir test

• Naravno, uslov je da test1 nije sadržao ništa osim test2, • Naravno, uslov je da test1 nije sadržao ništa osim test2, a test ništa osim test1

• Prvi roditeljski direktorijum na koji se naiđe, a da nije prazan, zaustavlja izvršavanje rmdir (svi direktorijumi ispod tog mesta su obrisani)

• U slučaju opcije -p je logično da se koriste relativne putanje jer se brišu svi navedeni direktorijumi

• Oprez: ovako se potencijalno mogu obrisati i direktorijumi koji se ne žele obrisati

Page 26: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

ls

• Komanda za prikaz sadržaja direktorijuma

• Kao argument se može navesti i naziv direktorijuma

• ls test - daje prikaz sadržaja poddirektorijuma testtest

• ls /home/marko - sadržaj direktorijuma /home/marko - apsolutne putanje se takođe mogu koristiti

Page 27: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

ls

• ls -a - prikaz kompletnog sadržaja direktorijuma uključujući i skrivene fajlove (ovi fajlovi imaju . ispred naziva)

• Opcije se mogu kombinovati sa argumentom naziva direktorijuma, npr. ls -a /bin ili ls -a documents/posao

Page 28: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

ls

• Opcija -l prikazuje dugi format ispisa

• Opcija -h prikazuje veličine fajlova u preglednijem formatu

• Opcija -t sortira po vremenima od najnovijih fajlova ka najstarijimfajlova ka najstarijim

• Opcija -r obrće princip sortiranja

• Pregled svih opcija se može videti u man uputstvu za ls komandu

• Opcije se mogu kombinovati: ls -lh, ls -al, ls - alh, ls -lah, ls -lr,...

Page 29: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

Šema boja prikaza

• Po difoltu prikaz listinga je obojen čime se vizuelno može utvrditi osnovni tip fajlova (direktorijum, običan fajl, izvršni fajl,...)

• Šema prikaza boja se može promeniti, ali preporučljivo je da ostane na difolt vrednostima, sem ako aktuelna šema nije pogodna iz nekog razloga (npr. neke boje mogu učiniti tekst manje čitljivijim na pojedinim mogu učiniti tekst manje čitljivijim na pojedinim pozadinskim bojama)• Plava - direktorijum• Zelena - izvršni fajl• Svetlo plava - link• Crvena - arhiva• Ružičasta - slika• Belo - običan fajl• ....

Page 30: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

Šema boja

• Na netu se lako može pronaći difolt šema boja prikaza

• Kod sa linka http://askubuntu.com/questions/17299/what-do-the-different-colors-mean-in-the-terminal se može iskoristiti za prikaz šeme boja prikaza

• Kod se kopira u terminal• Kod se kopira u terminal• eval $(echo "no:global default;fi:normal file;di:directory;ln:symbolic

link;pi:named pipe;so:socket;do:door;bd:block device;cd:characterdevice;or:orphan symlink;mi:missing file;su:set uid;sg:set gid;tw:sticky other writable;ow:other writable;st:sticky;ex:executable;"|sed -e 's/:/="/g; s/\;/"\n/g') { IFS=: for i in $LS_COLORS do echo -e "\e[${i#*=}m$( x=${i%=*}; [ "${!x}" ] && echo "${!x}" || echo "$x" )\e[m" done }

Page 31: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

Promena boja

• Promena boje se može izvršiti tako što se u editoru otvori skriveni fajl .bashrc koji se nalazi u home direktorijumu korisnika

• Potrebno je dodati liniju (najbolje na kraj fajla):• LS_COLORS=$LS_COLORS:‘xxxxxx' ;

• Na mesto xxxxx se upisuju nove sheme boja za one tipove koji se žele promenitikoji se žele promeniti

• Princip je naziv = vrednosti• Naziv se odnosi na tip fajla, vrednosti se odnose boje i stil• Može se navesti i ekstenzija fajla, na taj način se može

definisati posebna boja za na primer, slike, audio fajlove i dr.• Može biti više vrednosti koje se odvajaju ;• Na kraju se stavlja : da bi se označio kraj vrednosti

Page 32: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

Primer

• LS_COLORS=$LS_COLORS: 'di=1;4;31:fi=4;36' ;• Nakon izmene potrebno je restartovati terminal• Na linku http://linux-sxs.org/housekeeping/lscolors.html se • Na linku http://linux-sxs.org/housekeeping/lscolors.html se

mogu videti vrednosti za nazive tipova, boje i stilove• Na primer, 4 se odnosi na underline stil• Da se umesti fi stavilo *.png onda bi fajlovi sa ekstenzijom .png

imali novu vrednost prikaza

Page 33: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

Dug format ispisa

• Opcija -l daje tzv. dug format ispisa fajlova ls komandom

Prva kolona navodi tip fajla i privilegije.Prvo slovo se odnosi na tip fajla (d je direktorijum, - je fajl, l je simbolički link....).Privilegije su izlistane u tri grupe, i Privilegije su izlistane u tri grupe, i svaka grupa ima tri slova.Tri slova se odnose na prava čitanja, upisa i izvršavanja (rwx).Ako umesto odgovarajućeg slova stoji - onda ta privilegija nije dodeljena.Prva grupa se odnosi na vlasnika fajla, druga grupa se odnosi na grupu kojoj vlasnik pripada, treća grupa se odnosi na sve ostale korisnike

Page 34: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

Dug format ispisa

Druga kolona navodi broj hard linkova. Treća kolona navodi vlasnika fajla.Četvrta kolona navodi grupu kojoj pripada vlasnik fajla.Peta kolona navodi veličinu fajla Peta kolona navodi veličinu fajla (ovde zbog opcije -h prikazana u preglednijem formatu).Šesta kolona navodi vreme modifikacije fajla.

Page 35: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

file komanda

• Još jednom da podsetimo - imena fajlova su case sensitive

• file komanda pokušava da utvrdi tip fajla (pokušava jer rezultat komande može biti i pogrešan u nekim slučajevima)

• file kill - utvrđivanje tipa fajla kill

• file dokument.pdf - utvrđivanje fajla dokument.pdf

• file /bin/kill - mogu se koristiti apsolutne putanje

• file bin/kill - mogu se koristiti relativne putanje

• Opcija -z pokušava da utvrdi tip fajla u arhivi

Page 36: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

file komanda - primeri

Page 37: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

touch komanda

• Komanda za promenu timestamp-ova fajla

• Po difoltu ako fajl ne postoji biće kreiran prazan fajl (čije ime je ono navedeno kao argument touch komande)

• Opcija -c sprečava kreiranje praznog fajla

• Opcija -a menja vreme poslednjeg pristupa (access time)

• Opcija -m menja vreme modifikacije (modification time)• Opcija -m menja vreme modifikacije (modification time)

• Napomena: po difoltu se menjaju i vreme pristupanja i vreme modifikacije na trenutno vreme

• Isto mogu da se pri navođenju fajla koriste apsolutne i relativne putanje

• Opcije se mogu kombinovati

Page 38: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

touch komanda - primer

Kreiran novi fajl

Promena vremena

Promena vremenamodifikacije

Promena vremenapristupa

Page 39: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

touch komanda

• Može se istovremeno kreirati/ažurirati više fajlova

• touch fajl1.txt fajl2.txt - fajlovi koji ne postoje će biti kreirani

• touch -c fajl1.txt fajl2.txt - oni fajlovi koji ne postoje neće biti kreirani

• Opcija -t definiše drugo vreme od trenutnog koje se • Opcija -t definiše drugo vreme od trenutnog koje se ubacuje kao nova vrednost timestamp-a

• Vreme se može dati u formatu yyyymmddhhmm.ss, yymmddhhmm.ss, yyyymmddhhmm, yymmddhhmm,......

• touch -t 201505301000.15 fajl.txt - postavlja timestamp na 30.05.2015. 10h00min i 15s

Page 40: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

rm komanda

• Komanda za brisanje fajla (remove)

• Fajl se trajno briše (nema povraćaja fajla na jednostavan način)

• Opcija -d omogućava brisanje praznog direktorijuma (alternativa rmdir komandi)

• Opcija -i postavlja pitanje za svaki fajl koji se briše• Opcija -i postavlja pitanje za svaki fajl koji se briše

• Opcija -r omogućava rekurzivno brisanje (oprez sa ovom opcijom da se ne obriše nešto što niste hteli) - opcija zgodna za uklanjanje direktorijuma koji nije prazan

• Kao i kod drugih komandi opcije se mogu kombinovati (uvek u man ili info se može proveriti da li se neke opcije ne mogu kombinovati) - ova napomena oko kombinovanja opcija neće više biti navođena u nastavku

Page 41: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

rm komanda - primeri

• rm fajl.txt - uklanja fajl.txt• rm -i fajl.txt - postavlja pitanje da li želite da obrišete fajl• rm -d direktorijum - uklanja direktorijum ako je prazan• rm -r direktorijum - uklanja direktorijum nezavisno da li

je prazan ili ne• rm -ir direktorijum - isto kao prethodni primer, ali sada

se za svaki fajl postavlja pitanje• rm -ir direktorijum - isto kao prethodni primer, ali sada

se za svaki fajl postavlja pitanje• Napomena: kod naziva fajla se mogu koristiti relativne i

apsolutne putanje• Ako se na primer žele obrisati svi fajlovi iz direktorijuma

može se iskoristiti rm * komanda gde * igra ulogu džoker karaktera i time predstavlja sve regularne fajlove u direktorijumu (ne i same direktorijume sem ako se ne koristi opcija -r)

Page 42: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

cp komanda

• Komanda za kopiranje fajlova i direktorijuma (copy)• Moraju se kao argument navesti izvor (ko se kopira) i

odredište (gde se kopira tj. kopija)• Varijanta 1 - fajl u fajl• Varijanta 2 - fajl/fajlovi u direktorijum (poslednji argument

je direktorijum)• Varijanta 3 - direktorijum u direktorijum (koristi se opcija • Varijanta 3 - direktorijum u direktorijum (koristi se opcija

-r za rekurzivno kopiranje sadržaja direktorijuma)• Opcija -i postavlja pitanje u slučaju da dođe do

potencijalnog prepisivanja postojećeg fajla (overwrite)• Opcija -p čuva u kopiji sva podešavanja iz originala

poput vlasništva, timestamp-a i dr.• Opcija -r je za rekurzivno kopiranje celog direktorijuma u

direktorijum kopiju

Page 43: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

cp komanda - primeri

• cp fajl.txt fajlnovi.txt - fajl.txt se kopira u fajlnovi.txt

• cp -i fajl.txt fajlnovi.txt - postavlja pitanje u slučaju da dođe do overwrite situacije

• cp -p fajl.txt fajlnovi.txt - postavlja ista • cp -p fajl.txt fajlnovi.txt - postavlja ista podešavanja u novom fajlu kao što su bila u originalnom fajlu (ako se ne koristi -p opcija timestamp će, na primer, da se razlikuje u kopiji od timestamp-a u originalu)

• Mogu se koristiti relativne i apsolutne putanje u argumentima

Page 44: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

cp komanda - primeri

• cp fajl.txt direktorijum - kopira fajl.txt u direktorijum (naziv fajla ostaje isti, takođe direktorijum može da se navede kao relativna ili apsolutna putanja)

• cp fajl.txt fajl2.txt fajl3.txt direktorijum - može se kopirati i više fajlova u direktorijum

• Alternativa je upotreba -t opcije (opcija koja navodi ciljni direktorijum) tj. cp -t direktorijum fajl.txt

• Alternativa je upotreba -t opcije (opcija koja navodi ciljni direktorijum) tj. cp -t direktorijum fajl.txt fajl2.txt fajl3.txt

• cp -r direktorijum1 drugi_direktorijum - kopira kompletan direktorijum1 u drugi_direktorijum (koji se takođe kreira, ako drugi_direktorijum postoji onda se direktorijum1 kopira u njega tj. sada će u drugi_direktorijum da postoji poddirektorijum direktorijum1)

Page 45: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

mv komanda

• Komanda za premeštanje fajlova i direktorijuma (move)

• Za razliku od cp komande ne pravi se nova kopija

• Može se iskoristiti za preimenovanje fajlova (tada se fajl pomera na istu lokaciju samo sa drugim fajl pomera na istu lokaciju samo sa drugim nazivom)

• U suštini identične varijante kao kod cp komande

• Opcije su takođe slične (na primer, -i, -t)

• Opcija -p ovde nema smisla jer je i dalje u pitanju isti fajl pa ona ne postoji za mv komandu

Page 46: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

mv komanda - primeri

• mv fajl.txt fajlnovi.txt - fajl.txt se preimenuje u fajlnovi.txt

• mv -i fajl.txt fajlnovi.txt - postavlja pitanje u slučaju da dođe do overwrite situacije

• Mogu se koristiti relativne i apsolutne putanje u • Mogu se koristiti relativne i apsolutne putanje u argumentima

Page 47: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

mv komanda - primeri

• mv fajl.txt direktorijum - premešta fajl.txt u direktorijum (direktorijum može da se navede kao relativna ili apsolutna putanja)

• mv fajl.txt fajl2.txt fajl3.txt direktorijum - može se premestiti više fajlova u direktorijum

• Alternativa je u potreba -t opcije (opcija koja navodi ciljni direktorijum) tj. mv -t direktorijum fajl.txt

• Alternativa je u potreba -t opcije (opcija koja navodi ciljni direktorijum) tj. mv -t direktorijum fajl.txt fajl2.txt fajl3.txt

• mv direktorijum1 drugi_direktorijum - pomera kompletan direktorijum1 u drugi_direktorijum (direktorijum1 postaje poddirektorijum u drugi_direktorijum)

• Ako drugi_direktorijum ne postoji onda u stvari to postaje novo ime direktorijum1 direktorijuma

Page 48: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

Čitanje tekstualnog fajla

• U pitanju je čitanje, a ne editovanje (o tome nešto kasnije)

• Veoma često je u terminalu potrebno videti sadržaj nekog tekstualnog fajla - log fajla, konfiguracionog fajla i dr.konfiguracionog fajla i dr.

• Postoje komande za prikaz sadržaja fajla u terminalu (celog sadržaja, početka sadržaja, kraja sadržaja, ....)

Page 49: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

cat komanda

• Komanda koja daje prikaz sadržaja fajla u terminalu• U suštini cat je skaćenica od concatanate tj.

konkatanacije tako da cat u stvari daje prikaz sadržaja konkatanacije fajlova zadatih kao argument cat komande

• cat fajl.txt - prikazuje sadržaj fajl.txt fajla u terminalu• cat fajl.txt - prikazuje sadržaj fajl.txt fajla u terminalu• cat fajl.txt fajl2.txt fajl3.txt - prikazuje sadržaj

navedenih fajlova u terminalu redosledom kojim su fajlovi i navedeni

• Apsolutne i relativne putanje se mogu koristiti• cat komanda se može čak iskoristiti i za kopiranje

fajlova, i druge funkcionalnosti o čemu će biti reči kasnije

Page 50: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

cat komanda - primer

cat komanda izvršena nad fajlom .bashrc koji je spomenut na jednom od spomenut na jednom od ranijih slajdova

Page 51: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

tac komanda

• Komanda iste funkcionalnosti kao cat komanda uz razliku da se linije fajla prikazuju u obrnutom redosledu

Ako se pogleda ispis istog fajla kao Ako se pogleda ispis istog fajla kao na prethodnom slajdu može se uočiti da su linije sada poređane u obrnutom redosledu.

Page 52: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

head i tail komande

• Komande koje daju prikaz prvih (head komanda) i poslednjih (tail komanda) linija fajla

• Po difoltu se prikazuje 10 linija, a opcijom -n se može podesiti veći/manji broj linija

• Ako se kao argument navede više fajlova onda se ispred samih linija navodi naziv fajla da bi se znalo kom fajlu pripadaju linije

• head fajl1.txt - prikazuje prvih 10 linija fajl1.txt• head fajl1.txt fajl2.txt - prikazuje prvih 10 linija fajl1.txt pa

prvih 10 linija fajl2.txt• head -n 2 fajl1.txt - prikazuje prve dve linije fajl1.txt• head -2 fajl1.txt - prikazuje prve dve linije fajl1.txt (umesto n

se može direktno napisati broj)• Postoje i drugačije upotrebe -n opcije što se može pročitati u

man za head, odnosno tail komandu• Kao i u ranijim komandama, mogu se koristiti apsolutne i

relativne putanje

Page 53: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

more i less komande

• U slučaju dugačkog sadržaja fajla, cat komanda je nezgodna jer odmah ispiše čitav sadržaj

• Komande less i more omogućavaju da se sadržaj ispisuje stranu po stranu

• Space taster pomera sadržaj za čitavu stranu, a Enter za jednu liniju

• Taster q prekida čitanje sadržaja, taster d pomera na sadržaj • Taster q prekida čitanje sadržaja, taster d pomera na sadržaj unapred, a taster b unazad

• Navedeni tasteri važe i za more i za less komande• Preporuka je da se koristi less komanda jer nudi veći broj

opcija prilikom čitanja sadržaja (komande more i less u suštini rade istu stvar, ali je less naprednija po pitanju opcija na raspolaganju)

• less fajl1.txt - prikaz sadržaja fajl1.txt• less fajl1.txt fajl2.txt - prikaz sadržaja fajl1.txt i fajl2.txt tim

redosledom

Page 54: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

Tip komande

• Kao što je ranije navedeno postoje built-in komande tj. komande “ugrađene” u shell

• Ostale komande su eksterne komande za shell i njihov izvršni binarni fajl se tipično nalazi u /bin ili /sbin direktorijumu (shell u potrazi za izvršnim fajlom eksterne komande ide po direktorijumima navedenim u $PATH varijabli)

• Ako postoji i built-in i eksterna komanda istog naziva prioritet ima built-in komanda tj. ona se izvršavaima built-in komanda tj. ona se izvršava

• Da bi se u takvom slučaju izvršila eksterna komanda mora se navesti puna putanja do komande npr. /bin/echo (echokomanda ima i built-in i eksternu verziju)

• Ako kojim slučajem ima više eksternih komandi istog naziva (a nema built-in komande tog naziva), izvršila bi se ona koja se nalazi u direktorijumu koji je ranije naveden u $PATH varijabli (ali u ovakvoj situaciji, ipak je najsigurnije navesti punu putanju komande koja se želi izvršiti)

Page 55: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

type komanda

• Ova komanda se koristi da se utvrdi da li je komanda eksterna ili built-in

• Opcija -a se koristi da nađe sve komande naziva navedenog u argumentu - ako se ne koristi ova opcija, a postoji više rezultata vratiće se samo jedan (built-in ima najviši prioritet)(built-in ima najviši prioritet)

• Opcija -t se koristi da kao rezultat vrati tip komande (fajl ili alijas)

• Opcija -p se koristi da kao rezultat vrati samo naziv izvršnog fajla (ako je komanda alijas tipa onda se ništa ne ispisuje kao rezultat type komande)

• Kao argument može se navesti i više naziva komandi

Page 56: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

type komanda - primeri

Page 57: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

echo komanda

• Ova komanda ispisuje argument komande u terminal

• Opcija -e označava da se mogu tumačiti tzv. escapekarakteri u argumentu poput \n (nova linija), \t(horizontalni tab),...

Uočiti upotrebu navodnika

Page 58: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

which komanda

• Ova komanda prolazi kroz sve direktorijume navedene u $PATH varijabli i ispisuje putanje za komande koje su navedene u argumentu komande

• Opcija -a ispisuje sve putanje ako se komanda • Opcija -a ispisuje sve putanje ako se komanda pojavljuje na više mesta

• Više komandi može da se navede kao argument

Za built-in komande (cd u ovom primeru) se ne ispisuje putanja jer ona ne postoji

Page 59: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

Alijasi

• Nekad je zgodno definisati alijas za neku komandu

• Na primer, da se skrati pisanje komande ili da se postavi naziv koji je lakši za pamćenje

• Drugi slučaj je da se napravi alijas za često • Drugi slučaj je da se napravi alijas za često korišćenu kombinaciju komande i opcija

• Na jednom od prethodnih slajdova je moglo da se primeti da je ls komanda definisana kao alijas ls komande sa opcijom za definisanje sheme boja u prikazu - očigledno, ako komanda i alijas imaju isti naziv, alijas ima prioritet

Page 60: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

alias i unalias komande

• Komanda alias definiše alijas, a unalias komanda ukida ranije definisani alijas

• Argument alias komande se navodi u vidu naziv alijasa = šta menja alijas (navedeno u jednostrukim navodnicima - ako je to samo naziv komande onda se navodnici mogu izostaviti npr. alias r=rm) se navodnici mogu izostaviti npr. alias r=rm)

• Komanda alias može i da izlista šta alijas menja i tada argument alias komande predstavlja sam naziv alijasa (može se odjednom navesti više naziva alijasa)

• Argument komande unalias je sam naziv alijasa (može se navesti više alijasa odjednom)

• Obe ove komande su built-in komande

Page 61: Fajlovi - Katedra za telekomunikacijetelekomunikacije.etf.rs/predmeti/te4ks/docs/MAP/Materijali_02.pdf · Fajlovi • U Linux-u se sve smatra fajlom • Na primer, direktorijum je

alias i unalias komande - primeri