51
Brzi uvod u raˇ cunalnu uˇ cionicu i linux « Numeriˇ cke metode » Ivo Batisti´ c Fiziˇ cki odsjek, PMF Sveuˇ cilište u Zagrebu predavanja 2007/2008

Brzi uvod u računalnu učionicu i linux

Embed Size (px)

Citation preview

Brzi uvod u racunalnu ucionicu i linux« Numericke metode »

Ivo Batistic

Fizicki odsjek, PMFSveucilište u Zagrebu

predavanja 2007/2008

Pregled predavanja

UvodRacunalna ucionicaLinux korisnicki racunSucelje za radPrijava za pocetak radaSSH i sigurnostPoslovi na racunalu

Osnovni pojmoviLinux ljuskaDatotecni sustavPutanjaNaredba lsRadna putanja

Poslovi s datotekamaVlasništvo i dozvoleKucni imenikKako napraviti imenikRadni okoliš

Racunalna ucionica

◮ Racunala u racunalnoj ucionici su dual-boot : mogu raditi kaoWindows (XP,2000,98,..) i kao Linux racunala.

◮ Selekcija Windows/Linux se radi prilikom pokretanja (boot)racunala.

◮ Da bi se koristili racunalom s Windows operacijskim sustavomtreba rabiti korisnicko ime: student i šifru: student .

Svi imaju isto korisnicko ime i šifru.

◮ Da bi se koristili racunalom s Linux operacijskim sustavom trebazatražiti korisnicko ime i šifru od sistemskog inženjera (soba 101 -1 kat). Svi studenti fizike imaju na to pravo.

Korisnici imaju razlicita korisnicka imena i šifre.

Linux korisnicki racun

Svi trebaju zatražiti linux korisnicki racun da bi mogli rješavatiprobleme iz Numerickih metoda koji ce dobivati.

Uz korisnicki racun dobiva se i:

◮ prostor na disku racunala dominis.phy.hr na koji ce se mocispremati programi iz Numerickih metoda.

◮ email-adresa ([email protected])

Sucelje za rad

Graficko sucelje (za racunala u ucionici)

◮ Windows XP,2000,98,Vista ....◮ Linux (KDE, GNOME,...)

Rad u ljusci (konzola,terminal,..)Poslovi se obavljaju koristeci tekstualno napisanenaredbe.

◮ Mana: Treba poznavati sintaksu tekstualnihnaredbi.

◮ Prednost: Omogucuje rad na udaljenimracunalima.

Udaljeno racunalo koje je nama zanimljivo je dominis.phy.hr nakojem su instalirane neke numericke biblioteke (software) potrebne dabi se mogli rješavati neki složeniji numericki problemi.

Prijava za pocetak rada

◮ Zapocinje prijavnom na lokalnom racunalu.(Prijava ≡ upis korisnickog imena i pripadne šifre).

◮ Za prijavu se tipicno koristi graficko sucelje, medutim moguce jekoristiti i linux konzolu bez grafike.

◮ Nakon prijave na raspolaganju su nam programi i disk prostor nalokalnom racunalu.

◮ Dio problema iz Numerickih metoda može se napraviti nalokalnom racunalu.

◮ Za prijavu i rad na udaljenom racunalu treba pokrenuti program◮ za linux: ssh u ljusci ili ekvivalentni graficki program◮ za windows: ssh/putty/ ...

ssh na windowzima

putty na windowzima

SSH i sigurnost

◮ Za prijenos podataka s lokalnog racunala na udaljeno (ili obrnuto)treba koristiti:

◮ sftp◮ scp

◮ Zašto ssh/putty/scp/sftp/.... ?Veza i prijenos podataka izmedu lokalnog i udaljenog racunala ješifrirana, pa tako i prijenos korisnickog imena/šifre prilikomprijave.Neki zlocesti hacker/cracker ne može tako ukrasti šifru i koristiti jenaknadno za svoje potrebe. Dakle radi se o sigurnosnimrazlozima .

◮ Korisnicko ime i šifra za dominis racunalo je privatna. Ne smijese posudivati drugima. Treba je cuvati od tudih ociju.Nemaran odnos prema šifri i korisnickom imenu ugrožava i vašepodatke kao i podatke ostalih korisnika na racunalu.

Poslovi na racunalu

◮ Uredivanje fortranskog (ili nekog drugog) programaTrebamo uredivac teksta ili editor.

◮ Prevodenje programa u izvršbi programTrebamo fortranski prevodilac (kompiler)

◮ Izvodenje programa

Ovi se poslovi mogu raditi i na lokalnom i na udaljenom racunalu, poduvjetom da su programski alati (uredivac teksta i fortranski prevodilac)instalirani.

Linux ljuska

◮ Kada se uspješno prijavite na udaljeno racunalo, pokrene seprogram koji se zove ljuska. Ljuska se može pokrenuti i nalokalnom racunalu.

◮ Ljuska je program koji ocekuje od vas da upišete ’ime naredbe’ akoje se zatim izvršava.

◮ Kada se završi izvodenje naredbe (programa), ljuska ponovoocekuje od vas da upišete slijedecu naredbu.

◮ Iz ljuske (i s udaljenog racunala) se može izaci s naredbama:◮ logout◮ exit◮ CTRL-D

To je nacin kako treba završiti rad na udaljenom racunalu.

Linux ljuska

◮ U ljusci se može izvršavati i niz medusobno povezanih naredbikoje zajedno prestavljaju mali program, (tz. shell-program).

◮ Postoji mnogo vrsta ljuski. One se mogu grupirati više skupina:◮ Bourne-ov tip ljuski: sh, bash, ....◮ C-ljuske: csh, tcsh, ....◮ Ljuske raznih programskih jezika: perl, python, ruby, php, ..

◮ Ljuska se može promijeniti. Tipicno novi korisnici po pretpostavcikoriste bash ljusku.Vrsta ljuske u kojoj se radi može se ustanoviti pomocu naredbe:

prompt> echo $SHELL/bin/bash

◮ Razlike izmedu Bourne-ove i C-ljuske pojavljuju se tek u malimprogramima napisanim za te ljuske.

Datotecni sustav

◮ Disk je dio racunala na kojem su zapisani podaci, programi pa isami operacijski sustav.

◮ Podaci na disku mogu biti zapisani na više nacina. Nacinzapisivanja nazivamo datotecni sustav.

◮ Operacijski sustav Linux i Windows imaju nekoliko razlicitihdatotecnih sustava. Može se dogoditi da Windows ne možeprocitati dio diska koji je zapisan od strane linux-a (i obrnuto).

◮ Neki datotecni sustavi podjednako su podržani od obaoperacijska sustava.

◮ Sam disk moguce je podjeliti u više dijelova (particija) i svakaparticija može imati svoj posebni datotecni sustav.

Datotecni sustav

◮ Na linuxu datotecni sustav (datoteke, imenici, ...) organiziran jekao drvo.

◮ Datoteka (file): dio diska u kojem se cuvaju ili podaci ili jekomanda ili ....

◮ Imenik (mapa,direktorij,folder): sadrži više datoteka(a može biti i bez datoteka)

Zašto postoje imenici ?

Kako datotecni sustav sadrži veliki broj datoteka, radi preglednostipogodno ih je organizirati u vise imenika po sistmu drva.

Na linuxu ne postoje A:,B:,C: ... .

Datotecni sustav

Izgled datotecnog drva pod linuxom.

Datotecni sustav

◮ Korjenski imenik ili "root" drva ima oznaku "/" (kosa crta)

◮ Imenici koji se granaju iz korjena imaju imena (oznake):"/usr/", "/dev/", "/proc/", "/bin/", "/lib/", "/boot/", . . .

◮ Iz njih dalje izviru grane s imemina:"/usr/bin/", "/usr/lib/", "/var/log/", "/var/spool/",. . .

◮ I te grane se opet mogu dalje granati.

Kako saznati grane i datoteke u drvu?

prompt> ls /ackup cdrom dos home lib mnt razno sys varbin cdrom0 etc initrd lost+found opt root tmp vmlinuzboot dev floppy initrd.img media proc sbin usr

Putanja (path)

◮ Putanja do datoteke (imenika) je kompletno, apsolutno imedatoteke (imenika) koje ukljucuje i imena svih grana na kojimase nalazi sama datoteka (imenik).npr. /usr/lib/perl5/Gimp.pm/ → usr/ → lib/ → perl5/ → Gimp.pmili /usr/share/doc/texmf// → usr/ → share/ → doc/ → texmf/

Koristeci naredbu ls možemo ustanoviti što se na svakoj od tih grananalazi, koje datoteke i koji imenici:

prompt> ls /...prompt> ls /usr/...prompt> ls /usr/share/...

Naredba ls

◮ Naredba ls izlistava sadržaj imenika.Ime dolazi od engleske rijeci list.Na windows racunalima ekvivalentna naredba je dir .

◮ Linux naredbama mogu se dati dodatne opcije. Opcije se sastoje odniza znakova koji pocinju s crticom (-) ili dvije crtice(--).Npr. ls --help ne izlistava imenik nego ispisuje pomoc kako koristitinaredbu ls.

prompt> ls -F/backup/ cdrom0/ floppy/ lib/ opt@ sbin/ var/bin/ dev/ home/ lost+found/ proc/ sys/ vmlinuz@boot/ dos/ initrd/ media/ razno/ tmp/cdrom/ etc/ initrd.img@ mnt/ root/ usr/

Opcija -F kaže da se kod izlistavanja na kraju imena stavi znak / ako je toime grane, zvjezdica * ako je to ime naredbe, @ ako je tokratica(poveznica) na neku drugu datoteku ili imenik, itd.

Radna putanja

Da bi se moglo raditi s nekom datotekom ili imenikom, potrebno jenavesti

◮ ili kompletno ime (putanju) do datoteke (imenika)

◮ ili relativnu putanju u odnosu na tz. radnu putanju

◮ Relativna putanja pocinje bez kose crte, a može poceti stockicom, dvije tockice ili nekim drugim znakom.

Kako saznati radnu putanju ?

prompt> pwd/home/ivoprompt> ls...prompt> ls ../edo/ ivo/ davor/ katarina/

Radna putanja

◮ Naredba pwd nam ispisuje radnu putanju.

◮ Naredba ls bez navodenja argumenta ispisuje listu datoteka iimenika u radnoj putanji.

◮ ../ je relativna putanja za roditeljsku granu radne putanje.

◮ ../../ je relativna putanja za roditeljsku granu roditeljske graneradne putanje.

◮ ./ je relativna putanja za samu radnu putanju.

prompt> pwd/home/ivoprompt> ls ../edo/ ivo/ davor/ katarina/prompt> ls /home/edo/ ivo/ davor/ katarina/

Radna putanja

◮ Pomocu naredbe cd možemo promijeniti radnu putanju. Kaoargument se navodi ime (apsolutno ili relativno) ime nove radneputanje.

◮ Naredbe cd bez argumenta vraca nas u tz. kucni-imenik.

prompt> pwd/home/ivoprompt> cd ..prompt> pwd/homeprompt> cd /tmpprompt> pwd/tmpprompt> cdprompt> pwd/home/ivo

Poslovi s datotekama

◮ S datotekama koje su podaci možemo ih◮ citati◮ mijenjati◮ brisati◮ stvarati nove datoteke

Pod uvjetom da imate te dopuštenje te radnje.

◮ S datotekama koje su naredbe možemo◮ izvršavati◮ stvarati nove naredbe◮ brisati◮ modificirati

Ako imamo dopuštenje te radnje.

Na linuxu postoji sustav vlasništva nad datotekama i imenicima, tesustav dozvola (dopuštenja) što je moguce ciniti s datotekama.

Vlasništvo i prava

◮ Sve datoteke i imenici imaju svog vlasnika.

◮ Osim individualnog (korisnickog) vlasništva, postoji i vlasništvogrupe - grupe korisnika.

◮ Svaki korisnik je ujedno i clan jedne ili više grupa te može ostvaritineka prava pripadajuci odredenoj grupi (koja ta prava ima).

◮ Postoje tri vrste prava:◮ citanja/kopiranja - oznaka r.◮ pisanja/mijenjanja/brisanja - oznaka w.◮ izvršavanja - oznaka x

ovo oznaka stoji samo ako je datoteka naredba.

Kako znati što može netko ciniti s datotekom ili imenikom ?

Vlasništvo i prava

Naredba ls -l daje odgovor:

prompt> ls -l /bin/ls-rwxr-xr-x 1 root root 77352 2007-01-30 19:51 /bin/ls

Iz ispisa ls naredbe saznajemo da je:

◮ Vlasnik naredbe /bin/ls je korisnik koji ima ime root .◮ root je takoder ime grupe koja ima grupna prava nad datotekom

/bin/ls - to je onaj drugi root u liniji ispisa.◮ Velicina datoteke je 77352 bytova.◮ Datoteka je stvorena dana 2007-01-30 u 19:51 sati.◮ Prvi dio linije: -rwx...... znaci: vlasnik ima prava citanja,pisanja i

izvršavanja◮ Prvi dio linije: -...r-x... znaci: grupa root ima prava citanja i

izvršavanja ali NE i pisanja/brisanja/mijenjanja.◮ Prvi dio linije: -......r-x znaci: svi ostali imaju prava citanja i

izvršavanja ali NE i pisanja/brisanja/mijenjanja.

Vlasništvo i prava

Naredba ls -l daje odgovor:

prompt> ls -l /bin/ls-rwxr-xr-x 1 root root 77352 2007-01-30 19:51 /bin/ls

Iz ispisa ls naredbe saznajemo da je:

◮ Vlasnik naredbe /bin/ls je korisnik koji ima ime root .◮ root je takoder ime grupe koja ima grupna prava nad datotekom

/bin/ls - to je onaj drugi root u liniji ispisa.◮ Velicina datoteke je 77352 bytova.◮ Datoteka je stvorena dana 2007-01-30 u 19:51 sati.◮ Prvi dio linije: -rwx...... znaci: vlasnik ima prava citanja,pisanja i

izvršavanja◮ Prvi dio linije: -...r-x... znaci: grupa root ima prava citanja i

izvršavanja ali NE i pisanja/brisanja/mijenjanja.◮ Prvi dio linije: -......r-x znaci: svi ostali imaju prava citanja i

izvršavanja ali NE i pisanja/brisanja/mijenjanja.

Vlasništvo i prava

Naredba ls -l daje odgovor:

prompt> ls -l /bin/ls-rwxr-xr-x 1 root root 77352 2007-01-30 19:51 /bin/ls

Iz ispisa ls naredbe saznajemo da je:

◮ Vlasnik naredbe /bin/ls je korisnik koji ima ime root .◮ root je takoder ime grupe koja ima grupna prava nad datotekom

/bin/ls - to je onaj drugi root u liniji ispisa.◮ Velicina datoteke je 77352 bytova.◮ Datoteka je stvorena dana 2007-01-30 u 19:51 sati.◮ Prvi dio linije: -rwx...... znaci: vlasnik ima prava citanja,pisanja i

izvršavanja◮ Prvi dio linije: -...r-x... znaci: grupa root ima prava citanja i

izvršavanja ali NE i pisanja/brisanja/mijenjanja.◮ Prvi dio linije: -......r-x znaci: svi ostali imaju prava citanja i

izvršavanja ali NE i pisanja/brisanja/mijenjanja.

Vlasništvo i prava

Naredba ls -l daje odgovor:

prompt> ls -l /bin/ls-rwxr-xr-x 1 root root 77352 2007-01-30 19:51 /bin/ls

Iz ispisa ls naredbe saznajemo da je:

◮ Vlasnik naredbe /bin/ls je korisnik koji ima ime root .◮ root je takoder ime grupe koja ima grupna prava nad datotekom

/bin/ls - to je onaj drugi root u liniji ispisa.◮ Velicina datoteke je 77352 bytova.◮ Datoteka je stvorena dana 2007-01-30 u 19:51 sati.◮ Prvi dio linije: -rwx...... znaci: vlasnik ima prava citanja,pisanja i

izvršavanja◮ Prvi dio linije: -...r-x... znaci: grupa root ima prava citanja i

izvršavanja ali NE i pisanja/brisanja/mijenjanja.◮ Prvi dio linije: -......r-x znaci: svi ostali imaju prava citanja i

izvršavanja ali NE i pisanja/brisanja/mijenjanja.

Vlasništvo i prava

Naredba ls -l daje odgovor:

prompt> ls -l /bin/ls-rwxr-xr-x 1 root root 77352 2007-01-30 19:51 /bin/ls

Iz ispisa ls naredbe saznajemo da je:

◮ Vlasnik naredbe /bin/ls je korisnik koji ima ime root .◮ root je takoder ime grupe koja ima grupna prava nad datotekom

/bin/ls - to je onaj drugi root u liniji ispisa.◮ Velicina datoteke je 77352 bytova.◮ Datoteka je stvorena dana 2007-01-30 u 19:51 sati.◮ Prvi dio linije: -rwx...... znaci: vlasnik ima prava citanja,pisanja i

izvršavanja◮ Prvi dio linije: -...r-x... znaci: grupa root ima prava citanja i

izvršavanja ali NE i pisanja/brisanja/mijenjanja.◮ Prvi dio linije: -......r-x znaci: svi ostali imaju prava citanja i

izvršavanja ali NE i pisanja/brisanja/mijenjanja.

Vlasništvo i prava

Naredba ls -l daje odgovor:

prompt> ls -l /bin/ls-rwxr-xr-x 1 root root 77352 2007-01-30 19:51 /bin/ls

Iz ispisa ls naredbe saznajemo da je:

◮ Vlasnik naredbe /bin/ls je korisnik koji ima ime root .◮ root je takoder ime grupe koja ima grupna prava nad datotekom

/bin/ls - to je onaj drugi root u liniji ispisa.◮ Velicina datoteke je 77352 bytova.◮ Datoteka je stvorena dana 2007-01-30 u 19:51 sati.◮ Prvi dio linije: -rwx...... znaci: vlasnik ima prava citanja,pisanja i

izvršavanja◮ Prvi dio linije: -...r-x... znaci: grupa root ima prava citanja i

izvršavanja ali NE i pisanja/brisanja/mijenjanja.◮ Prvi dio linije: -......r-x znaci: svi ostali imaju prava citanja i

izvršavanja ali NE i pisanja/brisanja/mijenjanja.

Vlasništvo i prava

Naredba ls -l daje odgovor:

prompt> ls -l /bin/ls-rwxr-xr-x 1 root root 77352 2007-01-30 19:51 /bin/ls

Iz ispisa ls naredbe saznajemo da je:

◮ Vlasnik naredbe /bin/ls je korisnik koji ima ime root .◮ root je takoder ime grupe koja ima grupna prava nad datotekom

/bin/ls - to je onaj drugi root u liniji ispisa.◮ Velicina datoteke je 77352 bytova.◮ Datoteka je stvorena dana 2007-01-30 u 19:51 sati.◮ Prvi dio linije: -rwx...... znaci: vlasnik ima prava citanja,pisanja i

izvršavanja◮ Prvi dio linije: -...r-x... znaci: grupa root ima prava citanja i

izvršavanja ali NE i pisanja/brisanja/mijenjanja.◮ Prvi dio linije: -......r-x znaci: svi ostali imaju prava citanja i

izvršavanja ali NE i pisanja/brisanja/mijenjanja.

Vlasništvo i prava

prompt> ls -l /usrukupno 340drwxr-xr-x 2 root root 106496 2007-09-26 09:47 bin/drwxr-xr-x 2 root root 4096 2007-03-15 13:32 doc/drwxr-xr-x 3 root root 4096 2007-05-02 13:55 etc/drwxr-xr-x 148 root root 16384 2007-08-31 13:23 include/...

◮ Vlasnik imenika u imeniku /usr/ je root.

◮ Ti imenici takoder pripadaju grupi root.

◮ Vidimo datume kada su imenici modificirani

◮ Grupa i ostali korisnici imaju pravo citanja i izvršavanja naredbi utim imenicima.

◮ Jedino vlasnik (root) ima pravo pisanja.

◮ Oznaka d na pocetku linije: drwxr-xr-x ... znaci da su to imenici.Datoteke nemaju oznaku d .

◮ x oznaku imaju samo izvršne datoteke (naredbe) i imenici.

Kucni imenik (mapa)

Svaki (obicni) korisnik dobiva na korištenje dio diska na racunalu gdjemože spremati svoje datoteke i imenike.Taj dio diska zovemo kucni imenik .U linux datotecnom drvu, kucni imenici se obicno nalaze u imeniku/home/ .

Za korisnika ana to je /home/ana/ .Za korisnika pero to je /home/pero/ .

Kucni imenik je mjesto na disku na kojem korisnik ima prava pisanja istvaranja datoteka, odnosno imenika.

prompt> ls -l /home/drwxr-xr-x 30 davor davor 4096 2007-09-19 16:48 davor/drwxr-xr-x 14 edo edo 8192 2007-04-23 09:32 edo/drwxr-xr-x 208 ivo ivo 16384 2007-09-26 15:42 ivo/drwxr-sr-x 26 katarina katarina 4096 2007-08-02 11:50 katarina/...

Kako napraviti imenik

Imenike pravimo koristeci naredbu mkdir .Imenike brišemo koristeci naredbu rmdir .

prompt> mkdir ˜/probaprompt> ls -Fbin/ proba/prompt> rmdir ˜/probaprompt> ls -Fbin/

˜ je skracena oznaka za kucni imenik:˜/proba ≡ /home/ivo/

︸ ︷︷ ︸

moj kucni imenik

proba

Radni okoliš

Unutar ljuske postoji niz varijabli cije vrijednosti utjecu na izvršavanjenaredbi.

prompt> printenvSHELL=/bin/tcshGROUP=ivoUSER=ivoPWD=/home/ivoLANG=hr_HRPATH=/usr/local/bin:/home/ivo/bin:/usr/bin:/bin:.....LD_LIBRARY_PATH=........

◮ PWD → radna putanja◮ LANG → kontrola jezika◮ PATH → lista imenika gdje se traže izvršne naredbe◮ SHELL → putanja do ljuske

Ako se navede ime neke naredbe bez specificiranja potpune putanjeonda se ta naredba traži u imenicima nevedenim s varijablom $PATH.

Radni okoliš

Neke varijable radnog okoliša se mogu promijeniti.

◮ Za Bourneov tip ljuske:

prompt> export PATH= /usr/bin/games :$PATHprompt> export LD_LIBRARY_PATH= ${LD_LIBRARY_PATH} :.

◮ Za C-vrstu ljuske

prompt> setenv PATH /usr/bin/games :$PATHprompt> setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH} :.

LD_LIBRARY_PATH → Sadrži listu imenika gdje se nalaze dinamickebiblioteke.

Lista imenika u varijablama razdvojena je dvotockama. Tocka u listioznacava radni imenik. Ako postoji više naredbi istog imena, koristi seprva pronadena verzija. Imenici se pretražuju po poretku kako senavedeni na listi.

Radni okoliš

Neke varijable radnog okoliša se mogu promijeniti.

◮ Za Bourneov tip ljuske:

prompt> export PATH= /usr/bin/games :$PATHprompt> export LD_LIBRARY_PATH= ${LD_LIBRARY_PATH} :.

◮ Za C-vrstu ljuske

prompt> setenv PATH /usr/bin/games :$PATHprompt> setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH} :.

LD_LIBRARY_PATH → Sadrži listu imenika gdje se nalaze dinamickebiblioteke.

Lista imenika u varijablama razdvojena je dvotockama. Tocka u listioznacava radni imenik. Ako postoji više naredbi istog imena, koristi seprva pronadena verzija. Imenici se pretražuju po poretku kako senavedeni na listi.

Radni okoliš

Neke varijable radnog okoliša se mogu promijeniti.

◮ Za Bourneov tip ljuske:

prompt> export PATH= /usr/bin/games :$PATHprompt> export LD_LIBRARY_PATH= ${LD_LIBRARY_PATH} :.

◮ Za C-vrstu ljuske

prompt> setenv PATH /usr/bin/games :$PATHprompt> setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH} :.

LD_LIBRARY_PATH → Sadrži listu imenika gdje se nalaze dinamickebiblioteke.

Lista imenika u varijablama razdvojena je dvotockama. Tocka u listioznacava radni imenik. Ako postoji više naredbi istog imena, koristi seprva pronadena verzija. Imenici se pretražuju po poretku kako senavedeni na listi.

Manipulacije s datotekama

◮ Kako izbrisati datoteku ?

prompt> touch dat.txtprompt> rm dat.txt

◮ Kako promjeniti ime imenika ili datoteke

prompt> touch dat.txtprompt> mv dat.txt nesto.exeprompt> mkdir probaprompt> mv proba ProBA

U velika i mala slova tretiraju se kao razlicita. U istom imenikumožemo imati sve razlicite datoteke imena: proba, Proba, pRoba,prOba, PRoBA, . . .

Vrsta datoteka

◮ Podaci◮ binarne datoteke (npr. komprimirana tekstualna datoteka)◮ citljive tekstualne datoteke (npr. racunalni program)

◮ Naredbe◮ binarne staticki povezana datoteka◮ binarne dinamicki povezana datoteka◮ tekstualni skript (program s naredbama za neku ljusku)

◮ Biblioteke◮ staticke◮ dinamicke

◮ Ostalo

Kako znati što je što?

Vrsta datoteka

prompt> file /bin/ls/bin/ls: ELF 32-bit LSB executable, Intel 80386, ...prompt> file /usr/lib/liby.a/usr/lib/liby.a: current ar archiveprompt> file /lib/libc-2.6.1.so/lib/libc-2.6.1.so: ELF 32-bit LSB shared object, Intel 80386, ...prompt> file /usr/bin/vmware-config.pl/usr/bin/vmware-config.pl: perl script text executableprompt> file /etc/init.d/xprint/etc/init.d/xprint: Bourne-Again shell script text executableprompt> file /boot/sid.bmp/boot/sid.bmp: PC bitmap data, Windows 3.x format, 640 x 480 ...prompt> file /usr/share/doc/feynmf/examples/template.tex/usr/share/doc/feynmf/examples/template.tex: ASCII English textprompt> file /usr/share/doc/feynmf/manual.ps.gz/usr/share/doc/feynmf/manual.ps.gz: gzip compressed data, was ...prompt> file slike/linuxfs.epsslike/linuxfs.eps: PostScript document text conforming at...

Vrste datoteka

Na linuxu postoji poseban sustav prepoznavanja datoteka, a on se nebazira na imenu datoteke, vec na sadržaju (zaglavlju) datoteke.

Npr. prva linija datoteke koja je program napisan za neku ljusku sadržiputanju do ljuske:

◮ #!/usr/bin/python (Python skript)

◮ #!/usr/bin/bash (Bash skript)

◮ #!/usr/bin/tcsh (tcsh skript)

◮ %!PS-Adobe-2.0 (Postscript - datoteka namjenjena za ispis) . . .

Kako napraviti datoteku ili program

◮ Praznu datoteku možemo napraviti koristeci naredbu touch .

prompt> touch prazna_datoteka

◮ Kao rezultat ispisa neke naredbe

prompt> ls > ispis_ls_naredbe

◮ Kopiranjem neke vec postojece datoteke

prompt> cp /etc/passwd ~

◮ Uz pomoc uredivaca teksta.

◮ Izvršnu datoteka se može napraviti pomocu prevodioca(komplajlera).

◮ Pomocu raznih drugih alata.

Uredivaci teksta ili editori

◮ Graficki (za razvijanje programa):◮ kate◮ nedit◮ xemacs, gvim,◮ gedit, kedit, xedit,

◮ Ekranski (screen) (za razvijanje programa):◮ nano , pico ,◮ vi (vim, nvi,..)◮ emacs

◮ Za uredske dokumente (NE KORISTITI za programiranje)◮ oowriter◮ kwrite◮ abiword◮ texmacs

◮ Ostali (za web stranica, . . . )

Pregledavanje teksta datoteke

◮ cat : ispis cijele datoteke po ekranu

prompt> cat /usr/bin/png2mng.pl

◮ less ,more : ispis datoteke stranicu po stranicu

prompt> less /usr/bin/png2mng.plprompt> cat /usr/bin/png2mng.pl | lessprompt> ls /usr/bin/ | less

◮ head ,tail : ispis prednjeg i zadnjeg dijela datoteke

prompt> head /etc/groupprompt> tail /etc/fstab

◮ grep : pretraživanje sadržaja neke datoteke

prompt> grep ivo /etc/passwd

Ostali alati

◮ Brojenje linija i znakova (slova)

prompt> wc -l /etc/passwd48 /etc/passwdprompt> wc -c /etc/passwd2314 /etc/passwdprompt> ls -l /etc/passwd-rw-r-r- 1 root root 2314 2007-03-25 19:28 /etc/passwd

◮ Usporedba dvaju tekstualnih datoteka (razlika)

prompt> diff aa bb...

◮ Pronaci neku datoteku u drvu

prompt> find /usr/ -name xterm/usr/bin/xterm

Preusmjeravanje ispisa

Ispis neke naredbe možemo preusmjeriti bilo u neku datoteku iliproslijediti na daljnu obradu nekoj drugoj naredbi.

◮ Za preusmjeravanje ispisa u datoteku koristi se znak > (više).

prompt> ls /usr/bin/ > ls_ispis_usr_bin

◮ Za preusmjeravanje ispisa za daljnu obradu koristi se znak |(vertikalna crta).

prompt> ls /usr/bin/ | wc -l4609prompt> ls /usr/bin/ | less

Skrivene datoteke

Datoteke i imenici kojima ime pocinje s tockom naizgled su skriveni.Naredba ls ih ignorira i ne pojavljuju se na listi datoteka i imenika. Dabi se izlistale skrivene datoteke i imenici potrebno je koristiti opciju -a(a od all - sve):

prompt> ls -F -a ~.alias .bashrc Desktop/ .gnome/ .kderc.bash_profile .cshrc .firefox .kde/ .openoffice/

Datoteke s tockom obicno služe za spremanje pocetnih postavkiraznih programa koji se koriste. Ponekad je potrebno imati više takvihdatoteka pa se sve one drže u imeniku koji pocinje s tockom.

◮ Datoteke .bashrc i .profile inicijalno postavljaju neke varijableradnog okoliša za bash-ljusku.

◮ Datoteke .cshrc i .login inicijalno postavljaju neke varijableradnog okoliša za C-tip ljuski.

Skrivene datoteke

Npr. sadržaj .cshrc:

prompt> less .cshrcset path =($HOME/bin $path)if ($?prompt) then

alias ls ’ls -F’alias rm ’rm -i’...setenv EXINIT "set redraw showmatch showmode"

endif# Jeziksetenv LC_ALL hr_HR# PGIsetenv PGI /usr/pgisetenv LM_LICENSE_FILE $PGI/license.dat...

Imenik .firefox web-preglednik firefox sprema postavke konfiguracije,ali takoder sadrždaj nedavno otvaranih web-stranica (cache).

Rad s grupama datoteka

◮ Kopirati imenik i sve datoteke u njemu

prompt> cp -r /tmp/ junk

Opcija -r znaci rekurzivno.

◮ Izbrisati sve fortranske programe (one koje završavaju s .f)

prompt> rm *.f

Zvjezdica (*) se može koristiti kao zamjena za jedan ili više bilokojih znakova.

◮ Kako preseliti grupu datoteka koje završavaju s .mp3

prompt> mkdir mp3prompt> mv *.mp3 mp3

◮ Kako izlistati korisnike kojima korisnicko ime pocinje sa slovom ’a’

prompt> ls /home/a*prompt> grep ’^a’ /etc/passwd

Pomoc kako koristiti naredbe

◮ naredba --helpCesto same naredbe imaju ugradenu pomoc, a do nje se dolazipomocu neke opcije. Najcešce to je opcija --help (dvije crtica pahelp) ili -h (jedna crtica pa slovo h).

◮ man naredbaman je jedna od naredbi pomocu koja se mogu dobiti informacijekako koristiti neku naredbu (man kao manual - prirucnik).

prompt> man ls...

◮ apropos fortran (ili man -k fortran)Izlistaj svu dokumentaciju (pomoc) koja postoji na racunalu a kojasadrži rijec fortran u naslovu.

Još neke korisne naredbe ili opcije

◮ chmod - izmjena prava nad datotekom ili imenikom

◮ du - zauzece diska

◮ sort i uniq - sortiranje i jedinstvenost

◮ mount i umount - spajanje i odspajanje dodatnog diska s linuxdatotecnog drva.

◮ ps i top - prikaz procesa koji se izvršavaju na racunalu

◮ ssh -X - spajanje na udaljeno racunalo s prikazom grafike

◮ gzip ,bzip2 - sažimanje datoteka

◮ tar - arhiviranje

◮ passwd - promjena šifre za prijavu (login) na racunalo.