S DOS/Windowsa na Linux KAKO Guido Gonzato, OBRI©I_MEguido@ibogeo.df.unibo.it (Obri¹ite ``OBRI©I_ME''.) verzija 1.3.2, 22. veljaèe 1999. Ovo je KAKO za sve (uskoro biv¹e?) korisnike DOS-a i Windowsa koji su odluèili prijeæi na Linux, besplatni klon Unixa. Poku¹ava pomoæi èitatelju u primjeni njegovog znanja DOS-a i Windowsa u Linux okru¾ju, te razmjeni datoteka i resursa meðu tim OS-evima. ______________________________________________________________________ Sadr¾aj 1. Uvod 1.1 Je li Linux za vas? 1.2 Da. Hoæu jo¹. 1.2.1 Uvodni koncepti 1.2.2 Upute 1.3 Konvencije 2. Za nestrpljive 3. Upoznajte bash 4. Datoteke i programi 4.1 Datoteke: osnovne stvari 4.2 Simbolièke veze 5. Dozvole i vlasni¹tvo 5.1 Datoteke: prevoðenje naredbi 5.1.1 Primjeri 5.2 Pokretanje programa: vi¹ezadaænost i sesije 5.3 Pokretanje programa na udaljenim raèunalima 6. Kori¹tenje direktorija 6.1 Direktoriji: osnovne stvari 6.2 Dozvole direktorija 6.3 Direktoriji: prevoðenje naredbi 6.3.1 Primjeri 7. Diskete, tvrdi diskovi i slièno 7.1 Rad s ureðajima na DOS naèin 7.2 Rad s ureðajima na Unix naèin 7.3 Backup 8. A ¹to je s Windowsima? 9. Prilagoðavanje sustava 9.1 Inicijalizacijske datoteke sustava 9.2 Inicijalizacijske datoteke programa 10. Mre¾e: koncepti 11. Malo programiranja 11.1 Skripte u ljusci: .BAT datoteke na steroidima 11.2 C za vas 12. Ostalih 1% 12.1 Kori¹tenje tara i gzipa 12.2 Instaliranje aplikacija 12.3 Trikovi bez kojih se ne mo¾e 12.4 Gdje naæi aplikacije 12.5 Nekoliko stvari koje niste mogli 12.6 Prakticiranje UNIX-a pod DOS/Windowsima 12.7 Uobièajene ekstenzije i povezani programi 12.8 Pretvaranje datoteka 12.9 Besplatni uredski paketi 13. Kraj, za sada 13.1 Autorska prava 13.2 Autor 14. Hrvatski prijevod ______________________________________________________________________ 11.. UUvvoodd 11..11.. JJee llii LLiinnuuxx zzaa vvaass?? ®elite prijeæi iz DOS svijeta (ta definicija ukljuèuje Windowse) na Linux? Dobra ideja: Linux je tehnièki superioran DOS-u, Windowsima 9x, èak i Windowsima NT. Ali pazite: mo¾da vama neæe biti koristan. Ovo su glavne razlike izmeðu DOS/Windowsa i Linuxa: · Na Windowsima radi Microsoft Office i puno igara; smatra se da ga je lako instalirati i konfigurirati; poznat je po nestabilnosti; jadnih performansi; ru¹enja su èesta. · Na Linuxu radi StarOffice, hrpa tehnièkog softvera i manje igara; mo¾e biti te¹ko instalirati ga i konfigurirati; stabilan je kao stijena; besprijekornih performansi; ru¹enja su izuzetno rijetka. Na vama je da odluèite ¹to vam treba. Nadalje, Linux vam daje moæ, ali treba vremena dok nauèite kako je iskoristiti. Dakle, ako trebate veæinom komercijalni softver, ili vam se ne sviða uèenje novih naredbi i koncepata, bolje tra¾ite drugdje. Budite svjesni da mnogi poèetnici odustaju zbog poèetnih te¹koæa. Radi se na pojednostavljivanju Linuxa, ali nnee ooèèeekkuujjttee ddjjeelloottvvoorrnnoosstt bbeezz èèiittaannjjaa ppuunnoo ddookkuummeennttaacciijjee ii bbaarreemm nneekkoolliikkoo mmjjeesseeccii kkoorrii¹¹tteennjjaa. Linux rezultate ne daje odmah. Unatoè ovim upozorenjima, 100% sam siguran da, ako ste prava vrsta korisnika, Linux æe postati va¹a Nirvana. Inaèe, Linux i DOS/Windows sretno mogu ¾ivjeti zajedno na istom raèunalu. ©to vam je potrebno za ovaj KAKO: pretpostavit æu da: · znate osnovne naredbe i ideje DOS-a; · Linux je, mo¾da s X Window Systemom (ili kraæe X11), pravilno instaliran na va¹em PC-u; · va¹a ljuska (pandan COMMAND.COM-u) je bash. Osim ako je drukèije reèeno, sve informacije u ovom dokumentu odnose se na lo¹i stari DOS. O Windowsima ima ne¹to tu i tamo jer su oni i Linux potpuno razlièiti, za razliku od DOS-a, jadne imitacije Unixa. Takoðer, shvatite da ovo nije ni potpun uvod ni vodiè u konfiguriranju! Najnovija verzija ovog dokumenta je dostupna u nekoliko formata na <ftp://sunsite.unc.edu/pub/Linux/docs/howto>. 11..22.. DDaa.. HHooææuu jjoo¹¹.. Linux i programi koji vam trebaju instalirani su na va¹em PC-u. Napravili ste si account -- korisnièki raèun (ako niste, ooddmmaahh pokrenite adduser va¹eime) i Linux radi. Upravo ste napisali svoje ime i ¹ifru, i gledate na zaslon misleæi ``A ¹to sad?''. Ne oèajavajte. Gotovo ste spremni raditi iste stvari koje ste radili s DOS/Windowsima, te mnoge druge. Dok ste radili pod njima, obavljali ste neke od ovih poslova: · pokretanje programa i stvaranje, kopiranje, pregledavanje, brisanje, ispisivanje, preimenovanje datoteka; · CD, MD, RD, i DIR u direktorijima; · formatiranje disketa i kopiranje datoteka s/na njih; · prilagoðavanje sustava; · surfanje Internetom; · pisanje .BAT datoteka i programa u va¹em omiljenom jeziku; · preostalih 1%. Ovi se zadaci pod Linuxom mogu izvesti slièno kao pod DOS-om. Pod DOS- om, obièni korisnik od svih 100 koristi samo neke naredbe: isto donekle vrijedi za Linux. 11..22..11.. UUvvooddnnii kkoonncceeppttii Najbolji naèin za uèenje je skakanje ravno u vodu. Svakako eksperimentirajte i igrajte se s Linuxom: osim ako se logirate kao ``root'', nema mu se ¹to dogoditi. Nekoliko napomena: · Najprije, kako ugasiti Linux. Ako ste u tekstualnom modu, pritisnite <CTRL>-<ALT>-<DEL>, prièekajte da se sustav digne i ugasite PC. Ako radite pod X-om, prvo pritisnite <CTRL>-<ALT>-<BACKSPACE>, a zatim <CTRL>-<ALT>-<DEL>. NNiikkaadd nemojte izravno gasiti ili resetirati PC: tako mo¾ete o¹tetiti datoteèni sustav. · Za razliku od DOS-a ili Windowsa, u Linux su ugraðeni sigurnosni mehanizmi. Datoteke i direktoriji imaju dozvole; zato obièni korisnik nekima ne mo¾e pristupiti (pogledajte poglavlje ``Dozvole i vlasni¹tvo''). DOS i Windows vam dopu¹taju da izbri¹ete cijeli disk. · Posebni korisnik rroooott, administrator sustava, ima potpunu vlast nad ¾ivotom i smræu raèunala. Ako radite na svom PC-u, mo¾ete biti i root. No to je ooppaassnnoo: svaka gre¹ka mo¾e ozbiljno o¹tetiti ili uni¹titi sustav kao i u DOS/Windowsima. Ne budite root kad to nije potrebno. · Linux je toliko slo¾en jer je vrlo prilagodljiv: gotovo svaka moguænost i program mogu se prilagoditi preko jedne ili vi¹e konfiguracijskih datoteka. Slo¾enost je cijena koju plaæate za moæ. · Redirekcija i piping, sporedne moguænosti u DOS-u, vrlo su va¾ne i puno moænije pod Linuxom. Jednostavne naredbe mogu se povezati za slo¾ene poslove. Toplo preporuèam da ih nauèite koristiti. 11..22..22.. UUppuuttee Pod Linuxom upute mo¾ete dobiti na mnogo naèina. Najva¾niji su: · ÈÈiittaannjjee ddookkuummeennttaacciijjee -- mislim ozbiljno. Iako KAKO koji èitate mo¾e poslu¾iti kao uvod u Linux, ima nekoliko knjiga koje biste stvarno trebali proèitati: _L_i_n_u_x _I_n_s_t_a_l_l_a_t_i_o_n _a_n_d _G_e_t_t_i_n_g _S_t_a_r_t_e_d Matta Welsha, <http://sunsite.unc.edu/mdw/LDP/gs/gs.html>, _L_i_n_u_x _U_s_e_r _G_u_i_d_e Larrya Greenfielda, <ftp://sunsite.unc.edu/pub/Linux/docs/linux-doc-project/users- guide>, i _L_i_n_u_x _F_A_Q, <http://dokumentacija.linux.hr/Linux- FAQ.html>. Na vama je da proèitate barem jednu. · Dokumentacija instaliranih paketa èesto je u poddirektorijima /usr/doc. · Za upute o ``internim naredbama'' ljuske napi¹ite help, ili, jo¹ bolje, man bash ili info bash. · Za upute o nekoj naredbi napi¹ite man naredba ¹to æe prikazati man (mmaannual -- priruènik) stranicu za naredba. info naredba prikazuje, ako postoji, info stranicu za naredba. info je hipertekstualni sustav dokumentacije, ne ba¹ intuitivan. Na kraju, probajte apropos naredba ili whatis naredba. Kod svih njih rad mo¾ete prekinuti pomoæu <q>. · Konaèno, na Internetu: pravo mjesto za dobivanje pomoæi je Usenet, na primjer comp.os.linux.setup. Molim vas, nemojte od mene tra¾iti pomoæ, jer sam prilièno preoptereæen. 11..33.. KKoonnvveenncciijjee U ovom dokumentu, primjeri èesto slijede ovaj format: <...> je nu¾an argument, a [...] opcionalan. Na primjer: $ tar -tf <datoteka.tar> [> redir_datoteka ] datoteka.tar se mora navesti, ali redirekcija u redir_datoteka nije obavezna. RMP (_R_e_a_d _M_a_n _P_a_g_e_s) vas upuæuje na daljnje èitanje man stranica. Ne mogu naglasiti koliko je va¾no èitanje dokumentacije. ``DOSWin'' oznaèava ``DOS/Windows''. Kada je prompt u primjeru naredbe #, naredbu mo¾e izvr¹iti samo root. 22.. ZZaa nneessttrrpplljjiivvee Hoæete se istaæi? Pogledajte malo ovo: DOS Linux ------------------------ ------------------------- ATTRIB (+-)atr datoteka chmod <mod> datoteka potpuno drukèije BACKUP tar -Mcvf ureðaj dir/ isto CD dir\ cd dir/ skoro ista sintaksa COPY datoteka1 datoteka2 cp datoteka1 datoteka2 isto DEL datoteka rm datoteka pa¾ljivo: nema undelete DELTREE dir rm -R dir isto DIR ls ne ba¹ jednaka sintaksa DIR datoteka /S find . -name datoteka potpuno drukèije EDIT datoteka vi datoteka mislim da vam se neæe svidjeti jstar datoteka slièno DOS-ovom EDIT-u EDLIN datoteka ed datoteka zaboravite na to FORMAT fdformat, mount, umount prilièno razlièita sintaksa HELP naredba man naredba, info naredba filozofija je ista MD dir\ mkdir dir/ skoro ista sintaksa MORE < datoteka less datoteka puno bolje MOVE datoteka1 datoteka2 mv datoteka1 datoteka2 isto NUL /dev/null isto PRINT datoteka lpr datoteka isto PRN /dev/lp0, /dev/lp1 isto RD dir rmdir dir/ skoro ista sintaksa REN datoteka1 datoteka2 mv datoteka1 datoteka2 ne radi za vi¹e datoteka RESTORE tar -Mxpvf ureðaj drukèija sintaksa TYPE datoteka less datoteka puno bolje WIN startx totalno drukèije! Za ne¹to vi¹e od popisa naredbi proèitajte sljedeæa poglavlja. 33.. UUppoozznnaajjttee bbaasshh Dobre vijesti: uz Linux puno manje tipkate na promptu, jer bash ljuska tipka za vas kad god je moguæe, i nudi zgodne moguænosti editiranja linije. Za poèetak, tipka strelice gore vraæa pro¹le naredbe; ali tu je jo¹. Pritisak na <TAB> dopunjava imena datoteka i direktorija, pa je tipkanje $ ls /uTABloTABbTAB isto kao tipkanje $ ls /usr/local/bin Da je bilo dvosmislenosti, kao u $ ls /uTABloTABiTAB bash bi stao jer ne zna mislite li na /usr/local/info ili /usr/local/include. Dodajte jo¹ znakova i opet pritisnite <TAB>. Druge korisne tipke su <ESC-BACKSPACE>, ¹to bri¹e rijeè na lijevo, i <ESC-D>, ¹to bri¹e rijeè na desno; <ESC-F> mièe kursor jednu rijeè desno, <ESC-B> lijevo; <CTRL-A> mièe na poèetak reda, <CTRL-E> na kraj. Tipka <ALT> radi isto ¹to i <ESC>. Dosta za sada. Kada se jednom naviknete na te kombinacije, DOS prompt æe vam biti vrlo neudoban... 44.. DDaattootteekkee ii pprrooggrraammii 44..11.. DDaattootteekkee:: oossnnoovvnnee ssttvvaarrii Struktura direktorija i datoteka u Linuxu vrlo je slièna onoj u DOSWinu. Datoteke imaju imena po posebnim pravilima, nalaze se u direktorijima, neke su izvr¹ne, a veæina takvih ima programske prekidaèe (_s_w_i_t_c_h). Isto tako, mo¾ete koristiti metaznakove, redirekciju i piping. Samo je nekoliko manjih razlika: · Pod DOS-om, imena imaju tzv. 8.3 oblik; na primjer NIJEDOVO.TXT. Linux mo¾e i bolje. Ako je Linux instaliran na datoteènom sustavu kao ¹to je ext2 ili umsdos, mo¾ete koristiti du¾a imena (do 255 znakova), s vi¹e od jedne toèke: Ovo_je.VRLO_dugo.ime_datoteke. Primjetite da sam koristio i velika i mala slova: ustvari... · Velika i mala slova u imenima datoteka i naredbi razlièita su. Prema tome, IME_DATOTEKE.tar.gz i ime_datoteke.tar.gz su dvije razlièite datoteke. ls je naredba, LS je gre¹ka. · Korisnici Windowsa, pazite se kod kori¹tenja dugih imena pod Linuxom. Ako u imenu ima razmaka (nije preporuèljivo, ali je moguæe), morate ga okru¾iti navodnicima. Na primjer: $ # ova naredba stvorit æe direktorij "Moje stare datoteke" $ mkdir "Moje stare datoteke" $ ls Moje stare datoteke bin tmp Neke znakove ne bi trebalo koristiti: meðu njima su ! * $ & #. · Nema odreðenih ekstenzija kao ¹to je .COM i .EXE za programe, ili .BAT za batch datoteke. Kada zadate naredbu ls -F, izvr¹ne datoteke oznaèava zvjezdica (*) na kraju imena. Na primjer: $ ls -F Ja_sam_direktorij/ cindy.jpg cjpg* pismo_Jurici moja_1._skripta* staro~ Datoteke cjpg* i moja_1._skripta su izvr¹ne, odnosno programi. Pod DOS-om, backup datoteke zavr¹avaju na .BAK, a pod Linuxom s tildom, ~. Zatim, datoteka èije ime poèinje toèkom je skrivena. Na primjer, datoteku .Ja.sam.skrivena.datoteka naredba ls neæe pokazati. · U DOS-u programski prekidaèi izgledaju kao /prekidaè, a u Linuxu -prekidaè ili --prekidaè. Na primjer: DIR /S postaje ls -R. Mnogi DOS programi, kao ¹to je PKZIP ili ARJ, koriste Unix-olike prekidaèe. Sad mo¾ete preskoèiti do dijela ``Datoteke: prevoðenje naredbi'', ali, da sam na va¹em mjestu, ja bih nastavio. 44..22.. SSiimmbboolliièèkkee vveezzee Pod Unixom postoji vrsta datoteke kakve nema pod DOS-om: simbolièka veza. To je ne¹to poput pokazivaèa na datoteku ili direktorij, a mo¾e se koristiti umjesto datoteke ili direktorija na koji pokazuje; slièna je preèicama (_s_h_o_r_t_c_u_t_s) iz Windowsa. Primjeri simbolièkih veza su /usr/X11, koja pokazuje na /usr/X11R6; /dev/modem koji pokazuje na /dev/ttyS0 ili /dev/ttyS1. Simbolièku vezu æete napraviti ovako: $ ln -s <datoteka_ili_direktorij> <ime_veze> Na primjer: $ ln -s /usr/doc/g77/DOC g77upute.txt Sada mo¾ete pozivati g77upute.txt umjesto /usr/doc/g77/DOC. Veze ovako izgledaju u ispisu direktorija: $ ls -F g77upute.txt@ $ ls -l (nekoliko stvari...) g77upute.txt -> /usr/doc/g77/DOC 55.. DDoozzvvoollee ii vvllaassnnii¹¹ttvvoo DOS datoteke i direktoriji imaju ove atribute: A (arhiviran), H (skriven), R (samo za èitanje) i S (sustav). Samo H i R imaju smisla pod Linuxom: skrivene datoteke poèinju toèkom, a za R atribut èitajte dalje. Pod Unixom datoteka ima ddoozzvvoollee i vvllaassnniikkaa, koji pripada ggrruuppii. Pogledajte ovo: $ ls -l /bin/ls -rwxr-xr-x 1 root bin 27281 Aug 15 1995 /bin/ls* Prvo polje sadr¾i dozvole za datoteku /bin/ls, koja pripada rootu, grupi bin. Bez obzira na to, zapamtite ¹to -rwxr-xr-x znaèi, s lijeva na desno: - je tip datoteke (-: obièna, d: direktorij, l: veza, itd.); rwx su dozvole za vlasnika datoteke (èitanje, pisanje, izvr¹avanje); r-x su dozvole za grupu vlasnika datoteke (èitanje, izvr¹avanje) (neæu obja¹njavati grupe, pre¾ivjet æete bez toga dok ste poèetnik ;-); r-x su dozvole za sve ostale korisnike (èitanje, izvr¹avanje). I direktorij /bin ima dozvole: pogledajte dio ``Dozvole direktorija'' za detalje. Zato ne mo¾ete obrisati datoteku /bin/ls osim ako ste root: za to nemate dozvole. Naredba za mijenjanje dozvola datoteka je: $ chmod <tkoXdozvola> <datoteka> gdje je tko u (korisnik, tj. vlasnik), g (grupa), o (ostali); X je + ili -; dozvola je r (èitanje), w (pisanje), x (izvr¹avanje). Evo èestih primjera kori¹tenja chmoda: $ chmod +x datoteka To postavlja dozvolu za izvr¹avanje datoteke. $ chmod go-rw datoteka To oduzima dozvole za èitanje i pisanje svima osim vlasniku. $ chmod ugo+rwx datoteka To svima daje dozvole za èitanje, pisanje i izvr¹avanje. $ chmod +s datoteka Time dobivamo takozvanu _s_e_t_u_i_d ili ssuuiidd datoteku -- svatko ju mo¾e izvr¹iti s privilegijama njenog vlasnika. Najèe¹æe su root suid datoteke; to obièno va¾ne datoteke sustava, kao ¹to je X server. Kraæi naèin za pisanje dozvola je brojkama: rwxr-xr-x mo¾emo izraziti kao 755 (svako slovo odgovara bitu: --- je 0, --x je 1, -w- je 2, -wx je 3). Izgleda te¹ko, ali shvatit æete uz malo prakse. root kao nadkorisnik mo¾e mijenjati dozvole svake datoteke. RMP. 55..11.. DDaattootteekkee:: pprreevvooððeennjjee nnaarreeddbbii Na lijevoj strani su DOS naredbe; na desnoj Linux pandani. ATTRIB chmod COPY cp DEL rm MOVE mv REN mv TYPE more, less, cat nul /dev/null prn, lpt1 /dev/lp0 ili /dev/lp1; lpr Operatori za redirekciju i piping: < > >> | Metaznakovi: * ? 55..11..11.. PPrriimmjjeerrii DOS Linux -------------------------------------- ------------------------------ C:\GUIDO>ATTRIB +R DATOTEKA.TXT $ chmod 400 datoteka.txt C:\GUIDO>COPY JURICA.TXT JURICA.DOC $ cp jurica.txt jurica.doc C:\GUIDO>COPY *.* SVE $ cat * > sve C:\GUIDO>COPY FRAKTALI.DOC PRN $ lpr fraktali.doc C:\GUIDO>DEL PRIV $ rm priv C:\GUIDO>DEL *.BAK $ rm *~ C:\GUIDO>MOVE DOKUMENT.TXT TMP\ $ mv dokument.txt tmp/ C:\GUIDO>REN DOKUMENT.TXT DOKUMENT.ASC $ mv dokument.txt dokument.asc C:\GUIDO>PRINT PISMO.TXT $ lpr pismo.txt C:\GUIDO>TYPE PISMO.TXT $ more pismo.txt C:\GUIDO>TYPE PISMO.TXT $ less pismo.txt C:\GUIDO>TYPE PISMO.TXT > NUL $ cat pismo.txt > /dev/null nema $ more *.txt *.asc nema $ cat dio*.txt | less Napomene: · * je pametniji pod Linuxom: * odgovara svim datotekama osim skrivenima; .* odgovara svim skrivenim datotekama (ali i trenutnom direktoriju . i roditeljskom direktoriju ..: pazite na to!); *.* odgovara samo datotekama s . u sredini ili na kraju; p*r odgovara i ``petar'' i ``papir''; *c* odgovara i ``crv'' i ``svizac''. · Kada koristite more, pritisnite razmak za slijedeæu stranicu, <q> za izlaz. less je intuitivniji i dopu¹ta kori¹tenje strelica. · UNDELETE ne postoji, pa pa¾ljivo razmislite prije brisanja datoteka. · Uz DOS-ove < > >>, Linux ima 2> za preusmjeravanje poruka o gre¹kama (_s_t_d_e_r_r); 2>&1 preusmjerava stderr na stdout, a 1>&2 stdout na stderr. · Linux ima jo¹ jedan metaznak: []. Kori¹tenje: [abc]* odgovara datotekama koje poèinju s a, b i c; *[I-N1-3] odgovara datotekama koje zavr¹avaju s I, J, K, L, M, N, 1, 2 i 3. · lpr <datoteka> ispisuje datoteku u pozadini. Za provjeru stanja reda za ispis slu¾i lpq; za brisanje datoteke iz reda za ispis lprm. · Ne postoji RENAME slièan DOS-ovom; to jest, mv *.xxx *.yyy neæe raditi. REN-olika naredba se mo¾e naæi na <ftp://sunsite.unc.edu/pub/Linux/utils/file>. · Ako ¾elite upozorenje kad bi datoteka trebala biti prepisana, koristite cp -i i mv -i. 55..22.. PPookkrreettaannjjee pprrooggrraammaa:: vvii¹¹eezzaaddaaæænnoosstt ii sseessiijjee Kako biste pokrenuli program, napi¹ite njegovo ime kao i pod DOS-om. Ako je direktorij (poglavlje ``Kori¹tenje direktorija'') u kojem je program smje¹ten ukljuèen u $PATH (poglavlje ``Inicijalizacijske datoteke sustava''), program æe se pokrenuti. Iznimka: za razliku od DOS-a, pod Linuxom se program u trenutnom direktoriju neæe pokrenuti osim ako je taj direktorij u $PATH-u. Rje¹enje: ako je prog va¹ program, napi¹ite ./prog. Ovako izgleda tipièna naredba: $ naredba [-s1 [-s2] ... [-sn]] [par1 [par2] ... [parn]] [< ulaz] [> izlaz] gdje su -s1, ..., -sn programski prekidaèi; par1, ..., parn programski parametri. U jednom redu mo¾ete pokrenuti vi¹e programa: $ naredba1 ; naredba2 ; ... ; naredban To je sve o pokretanju programa, ali lako je nastaviti. Jedan od glavnih razloga za kori¹tenje Linuxa je vi¹ezadaænost. Vi¹e programa (od sada, procesa) radi u isto vrijeme. Mo¾ete ih pokretati u pozadini i nastaviti rad bez prekida. Linux vam dopu¹ta i nekoliko sesija: kao da radite na vi¹e raèunala odjednom! · Za prebacivanje izmeðu 1.-6. sesije na virtualnim konzolama, pritisnite <ALT>-<F1> ... <ALT>-<F6>. · Za pokretanje nove sesije u istoj VC bez napu¹tanja trenutne, napi¹ite su lt;login>. Na primjer: su - root. Ovo je korisno kada obavljate zadatak koji mo¾e obaviti samo root. · Za kraj sesije napi¹ite exit. Upozorit æe vas ako ima zaustavljenih poslova (èut æete o tome kasnije). · Za pokretanje procesa u pozadini, dodajte ampersand (&) na kraju naredbe: $ imeprograma [-prekidaèi] [parametri] [< ulaz] [> izlaz] & [1] 123 Ljuska procese oznaèava brojem posla ([1]; vidi dolje) i PID-om (_P_r_o_c_e_s_s _I_d_e_n_t_i_f_i_c_a_t_i_o_n -- identifikacijski broj procesa; u na¹em primjeru 123). · Za broj procesa napi¹ite ps ax. To æe ispisati popis procesa koji trenutno rade. · Da biste ubili (terminirali) proces, napi¹ite kill <PID>. Mo¾da æete ga morati ubiti ako ne znate kako pravilno izaæi... Ako niste root, ne mo¾ete ubijati tuðe procese. Ponekad æe proces ubiti jedino kill -SIGKILL <PID>. I ljuska vam omoguæava zaustavljanje ili privremeno suspendiranje procesa, slanje procesa u pozadinu i u prednji plan. U tom kontekstu procese nazivamo poslovima. · Za broj poslova napi¹ite jobs. Tu su oznaèeni brojem posla, a ne PID-om. · Za zaustavljanje procesa u prednjem planu pritisnite <CTRL>-<C> (neæe uvijek raditi). · Za suspendiranje procesa u prednjem planu pritisnite <CTRL>-<Z> (isto). · Za slanje suspendiranog procesa u pozadinu napi¹ite bg <%posao> (postaje posao). · Za slanje posla u prednji plan, napi¹ite fg <%posao>. Za slanje posljednjeg procesa poslatog u pozadinu u prednji plan jednostavno napi¹ite fg. · Za ubijanje posla napi¹ite kill <%posao>. <posao> mo¾e biti 1, 2, 3... Kori¹tenjem ovih naredbi mo¾ete formatirati disketu, arhivirati hrpu datoteka, kompajlirati program i otpakirati arhivu skoro istovremeno, i jo¹ uvijek imati prompt pred sobom. Probajte to na Windowsima, samo da vidite razliku u brzini (naravno, ako se ne sru¹e). 55..33.. PPookkrreettaannjjee pprrooggrraammaa nnaa uuddaalljjeenniimm rraaèèuunnaalliimmaa Kako biste pokrenuli program na udaljenom raèunalu èije je ime udaljeno.raèunalo.edu, napi¹ite: $ telnet udaljeno.raèunalo.edu Nakon ¹to se ulogirate, pokrenite svoj omiljeni program. Naravno, na tom raèunalu morate imati korisnièki raèun. Ako imate X11, èak mo¾ete na udaljenom raèunalu pokrenuti X aplikaciju, prikazanu na va¹em X prikazu. Neka je udaljeno.raèunalo.edu udaljeno X raèunalo i moja.linux.kanta va¹ Linux sustav. Kako biste s moja.linux.kanta pokrenuli X program koji se nalazi na udaljeno.raèunalo.edu, uèinite slijedeæe: · Pokrenite X11 i xterm ili slièan emulator terminala, a zatim napi¹ite: $ xhost +udaljeno.raèunalo.edu $ telnet udaljeno.raèunalo.edu · Nakon ¹to se logirate, napi¹ite: udaljeno:$ DISPLAY=moja.linux.kanta:0.0 udaljeno:$ imeprograma & (Umjesto DISPLAY... æete mo¾da morati napisati: setenv DISPLAY moja.linux.kanta:0.0. Ovisi o ljusci.) Eto! Sada æe se imeprograma pokrenuti na udaljeno.raèunalo.edu i prikazati na va¹em stroju. No nemojte ovo poku¹avati preko modema -- presporo je da bi se moglo koristiti. ©tovi¹e, ovo je gruba i nesigurna metoda: proèitajte ``X na daljinu mini-KAKO'' na <http://dokumentacija.linux.hr/X-na-daljinu.html>. 66.. KKoorrii¹¹tteennjjee ddiirreekkttoorriijjaa 66..11.. DDiirreekkttoorriijjii:: oossnnoovvnnee ssttvvaarrii Vidjeli smo razlike izmeðu datoteka pod DOSWinom i Linuxom. ©to se tièe direktorija, pod DOSWinom je root direktorij \, a pod Linuxom /. Tako se pod DOSWinom ugnije¾ðeni direktoriji razdvajaju znakom \, a pod Linuxom /. Primjeri staza datoteka: DLOiSnux C/:h\oDmOeK/UgMuEiNdTo\/GdEoOkLuOmGeInJt\iS/RgEeDo.lnorgi3jbao/tsr0e>d?n0ja.nr 3bot 0>?0 Kao i obièno, .. je direktorij roditelj, a . trenutni direktorij. Sjetite se da vam sustav neæe dopustiti cd, rd ili md gdje god ¾elite. Svaki korisnik ima svoje stvari u direktoriju koji se naziva hhoommee (dom), koji mu je dao administrator sustava; na primjer, na mojem PC-u moj je home direktorij /home/guido. 66..22.. DDoozzvvoollee ddiirreekkttoorriijjaa I direktoriji imaju dozvole. Ono ¹to smo vidjeli u dijelu ``Dozvole i vlasni¹tvo'' vrijedi i za direktorije (korisnik, grupa, ostali). Za direktorij rx znaèi da mo¾ete uæi u njega, a w znaèi da u njemu mo¾ete izbrisati datoteku (naravno, prema dozvolama datoteke) ili sam direktorij. Na primjer, kako bi sprijeèili nju¹kanje ostalih korisnika po /home/guido/tekst: $ chmod o-rwx /home/guido/tekst 66..33.. DDiirreekkttoorriijjii:: pprreevvooððeennjjee nnaarreeddbbii DIR ls, find, du CD cd, pwd MD mkdir RD rmdir DELTREE rm -rf MOVE mv 66..33..11.. PPrriimmjjeerrii DOS Linux ---------------------------------- ----------------------- C:\GUIDO>DIR $ ls C:\GUIDO>DIR DATOTEKA.TXT $ ls datoteka.txt C:\GUIDO>DIR *.H *.C $ ls *.h *.c C:\GUIDO>DIR/P $ ls | more C:\GUIDO>DIR/A $ ls -l C:\GUIDO>DIR *.TMP /S $ find / -name "*.tmp" C:\GUIDO>CD $ pwd nema - pogledajte napomenu $ cd isto $ cd ~ isto $ cd ~/temp C:\GUIDO>CD \OSTALO $ cd /ostalo C:\GUIDO>CD ..\TEMP\SMEÆE $ cd ../temp/smeæe C:\GUIDO>MD NOVIPROG $ mkdir noviprogrami C:\GUIDO>MOVE PROGRAM .. $ mv program .. C:\GUIDO>MD \PROGRAMI\TURBO $ mkdir /programi/turbo C:\GUIDO>DELTREE TEMP\SMEÆE $ rm -rf temp/smeæe C:\GUIDO>RD NOVIPROG $ rmdir noviprogrami C:\GUIDO>RD \PROGRAMI\TURBO $ rmdir /programi/turbo Napomene: · Kad koristite rmdir, direktorij mora biti prazan. Za brisanje direktorija i njegovog sadr¾aja koristite rm -rf (na svoju odgovornost). · Znak ~ je kratica za ime va¹eg home direktorija. Naredbe cd ili cd ~ æe vas odvesti u va¹ home direktorij bez obzira na trenutni; naredba cd ~/tmp æe vas odvesti u /home/va¹_home/tmp. · cd - vas vraæa u direktorij iz kojeg ste posljednji put pokrenuli cd. 77.. DDiisskkeettee,, ttvvrrddii ddiisskkoovvii ii sslliièènnoo S ureðajima pod Linuxom mo¾ete raditi na dva naèina: DOS naèin i Unix naèin. Izaberite sami. 77..11.. RRaadd ss uurreeððaajjiimmaa nnaa DDOOSS nnaaèèiinn S veæinom distribucija dolazi Mtools kolekcija, skup naredbi koje su posve jednake DOS pandanima, osim ¹to poèinju s ``m'': mformat, mdir, mdel, mmd, itd. Mogu èak saèuvati duga imena, ali ne i dozvole datoteka. Ako mtools konfigurirate ureðivanjem datoteke /etc/mtools.conf (primjer je u distribuciji), mo¾ete pristupiti i DOS/Windows particiji, CD-ROM-u ili Zip driveu. Ipak, za formatiranje nove diskete mformat nije dovoljan. Prije toga æete morati kao root zadati ovu naredbu: # fdformat /dev/fd0H1440 Ne mo¾ete pristupati datotekama na disketi naredbom kao ¹to je less a:datoteka.txt! To je mana DOS naèina pristupanja diskovima. 77..22.. RRaadd ss uurreeððaajjiimmaa nnaa UUnniixx nnaaèèiinn Unix s ureðajima radi drukèije. Nema odvojenih diskova kao ¹to je A: ili C:; disk, bio on disketa ili ne¹to drugo, postaje dio lokalnog datoteènog sustava operacijom mmoonnttiirraannjjaa. Kada ste gotovi s njime, prije nego ¹to ga izvadite, morate ga ddeemmoonnttiirraattii. Fizièko formatiranje diska je jedna stvar, a stvaranje datoteènog sustava na njemu sasvim druga. DOS naredba FORMAT A: obavlja obje, ali pod Linuxom postoje odvojene naredbe. Za formatiranje diskete pogledajte prethodni dio; za stvaranje datoteènog sustava: # mkfs -t ext2 -c /dev/fd0H1440 Umjesto ext2 mo¾ete koristiti dos, vfat (preporuèen) ili druge formate. Kada je disk pripremljen, montirajte ga naredbom # mount -t ext2 /dev/fd0 /mnt toèno navodeæi datoteèni sustav ako niste koristili ext2. Sada mo¾ete raditi s datotekama na disketi koristeæi /mnt umjesto A: ili B:. Primjeri: DOS Linux ---------------------------- ------------------------- C:\GUIDO>DIR A: $ ls /mnt C:\GUIDO>COPY A:*.* $ cp /mnt/* . C:\GUIDO>COPY *.ZIP A: $ cp *.zip /mnt C:\GUIDO>EDIT A:DATOTEKA.TXT $ jstar /mnt/datoteka.txt C:\GUIDO>A: $ cd /mnt A:> _ /mnt/$ _ Kad ste gotovi, prije nego izvadite disketu, mmoorraattee ju demontirati naredbom # umount /mnt Oèito, fdformat i mkfs morate koristiti samo na neformatiranim disketama, a ne na prethodno kori¹tenim. Ako koristite B: pogon, obraæajte mu se s fd1H1440 i fd1 umjesto fd0H1440 i fd0 u gornjim primjerima. Naravno, ¹to vrijedi za diskete, vrijedi i za druge ureðaje; na primjer, mo¾ete montirati drugi tvrdi disk ili CD-ROM. CD-ROM montirate ovako: # mount -t iso9660 /dev/cdrom /mnt Ovo je ``slu¾beni'' naèin za montiranje diskova, ali to se mo¾e i jednostavnije. Po¹to je malo iritantno ¹to morate biti root kako bi montirali disketu ili CD-ROM, njihovo montiranje se ovako mo¾e dopustiti svakomu: · Uèinite sljedeæe kao root: # mkdir /mnt/floppy ; mkdir /mnt/cdrom # chmod 777 /mnt/floppy /mnt/cd* # # pazite da navedete pravi CD-ROM ureðaj # chmod 666 /dev/hdb ; chmod 666 /dev/fd* · Dodajte u /etc/fstab ove redove: /dev/cdrom /mnt/cdrom iso9660 ro,user,noauto 0 0 /dev/fd0 /mnt/floppy vfat user,noauto 0 0 Ako sada ¾elite montirati DOS disketu ili CD-ROM: $ mount /mnt/floppy $ mount /mnt/cdrom Direktorijima /mnt/floppy i /mnt/cdrom sada mo¾e pristupiti svaki korisnik. Ako vas zanima, ovakvo dopu¹tanje montiranja diskova svakom ogromna je sigurnosna rupa. Jo¹ dvije korisne naredbe su df, koji daje informacije o montiranim datoteènim sustavima, te du imedirektorija, koji ispisuje prostor na disku koji direktorij zauzima. 77..33.. BBaacckkuupp Pomoæi æe vam nekoliko paketa, no najmanje ¹to mo¾ete uèiniti za backup na vi¹e diskova je (kao root): # tar -M -cvf /dev/fd0H1440 direktorij_za_backup/ Mora biti ubaèena formatirana disketa, a jo¹ nekoliko njih spremno. Kako biste vratili svoje stvari, ubacite prvu i napi¹ite: # tar -M -xpvf /dev/fd0H1440 88.. AA ¹¹ttoo jjee ss WWiinnddoowwssiimmaa?? Pandan Windowsima je grafièko suèelje X Window System. Za razliku od Windowsa ili Maca, X11 nije napravljen za lako kori¹tenje ili lijep izgled, nego samo za dodavanje grafièkih moguænosti Unix radnim stanicama. Ovo su glavne razlike: · Windows izgleda isto ¹irom svijeta, a X11 ne: puno je prilagodljiviji. Ukupni izgled X11-a odreðuje kljuèni dio zvan _w_i_n_d_o_w _m_a_n_a_g_e_r. ©irok je izbor window managera: fvwm, spartanski, ali zgodan i djelotvoran s memorijom; fvwm2-95; Afterstep, WindowMaker, Enlightenment i mnogi drugi. Obièno se pokreæe iz .xinitrc. · Va¹ WM se mo¾e konfigurirati tako da prozor reagira kao u, eh, Windowsima: kliknete na njega i dolazi u prednji plan. Druga je moguænost da u prednji plan doðe kada preko njega prijeðete mi¹em (fokus). Smje¹taj prozora na zaslonu mo¾e biti automatski ili interaktivan: ako se umjesto va¹eg programa pojavi èudan okvir, lijevim klikom odaberite gdje æe se smjestiti. · Veæina opcija se mo¾e prilagoditi ureðivanjem jedne ili vi¹e konfiguracijskih datoteka. Proèitajte dokumentaciju svog WM-a; konfiguracijska datoteka mo¾e biti .fvwmrc, .fvwm2rc95, .steprc, itd. Primjer konfiguracijske datoteke se obièno nalazi u /etc/X11/ime-window-managera/system.ime-window-managera. · X11 aplikacije su pisane pomoæu posebnih librarya (_w_i_d_g_e_t _s_e_t_s); po¹to ih ima nekoliko, aplikacije izgledaju razlièito. Najosnovnije koriste Athena widgete (2D izgled; xdvi, xman, xcalc); drugi koriste Motif (netscape), a drugi pak Tcl/Tk, XForms, Qt, Gtk, itd. Skoro svi od tih librarya pru¾aju izgled i osjeæaj Windowsa. · Osjeæaj, na¾alost, mo¾e biti nepotpun. Na primjer, ako odaberete red teksta mi¹em i pritisnete <BACKSPACE>, oèekujete da red nestane, ne? S aplikacijama na Atheni to ne radi, ali radi s drugim widget setovima. · Kako radi pomicanje i mijenjanje velièine prozora ovisi o WM-u i widget setu. Uputa: ako scrollbarovi ne rade kako oèekujete, probajte ih micati sredi¹njom tipkom mi¹a ili s obje tipke zajedno. · Aplikacije ne moraju imati ikonu, ali mogu ih imati mnogo. Veæina WM-a vam daje izbornik koji pozivate klikanjem na desktop (root prozor); naravno, izbornik se mo¾e mijenjati. Za mijenjanje izgleda root prozora koristite xsetroot ili xloadimage. · _C_l_i_p_b_o_a_r_d mo¾e sadr¾avati samo tekst i pona¹a se èudno. Kad izaberete tekst, on je veæ kopiran u clipboard: pomaknite se i pritisnite srednju tipku za lijepljenje. xclipboard pru¾a vi¹estruke clipboard spremnike. · _D_r_a_g _& _d_r_o_p je moguæ, no dostupan je samo ako koristite X11 aplikacije i/ili WM-ove koji ga podr¾avaju. Trebali biste koristiti aplikacije koje koriste iste librarye jer time ¹tedite memoriju, no to je te¹ko ostvariti u praksi. Postoje projekti kojima je cilj izgled i pona¹anje X11 uèiniti dosljednim kao na Windowsima. Gnome, <http://www.gnome.org>, i KDE, <http://www.kde.org>, su zakon. Probajte ih: vi¹e neæete ¾aliti za svojim Windows desktopom. 99.. PPrriillaaggooððaavvaannjjee ssuussttaavvaa 99..11.. IInniicciijjaalliizzaacciijjsskkee ddaattootteekkee ssuussttaavvaa Dvije va¾ne datoteke pod DOS-om su AUTOEXEC.BAT i CONFIG.SYS, koje se pri dizanju sustava koriste za inicijalizaciju, postavljanje nekih varijabli okru¾ja kao ¹to je PATH i FILES, i, mo¾da, pokretanje programa ili batch datoteke. Pod Linuxom ima puno inicijalizacijskih datoteka. Neke bolje ne dirajte ako ne znate ¹to radite. Uglavnom, evo najva¾nijih: Datoteke Napomene /etc/inittab zasad ne dirajte! /etc/rc.d/* isto Ako ¾elite samo postaviti $PATH i druge varijable okru¾ja, ili ¾elite promijeniti poruke pri loginu, automatski pokrenuti program nakon njega, pogledajte ove datoteke: · /etc/issue: poruka prije logina · /etc/motd: poruka poslije logina · /etc/profile: $PATH i druge varijable, itd. · /etc/bashrc: aliasi i funkcije, itd. · /home/va¹_home/.bashrc: va¹i aliasi i funkcije · /home/va¹_home/.bash_profile: ili · /home/va¹_home/.profile: okru¾je i pokretanje va¹ih programa Ako ova zadnja datoteka postoji (skrivena je), naredbe u njoj æe se izvr¹iti nakon logina. Primjer -- pogledajte ovaj .bash_profile: # ja sam komentar echo Okru¾je: printenv | less # pandan naredbi SET pod DOS-om alias d='ls -l' # lako je shvatiti ¹to je alias alias up='cd ..' echo "Podsjeæam te da je PATH "$PATH echo "Danas je `date`" # koristimo izlaz naredbe `date` echo "Lijepo se provedi, "$LOGNAME # a ovo je "funkcija ljuske" ctgz() # Ispisuje sadr¾aj .tar.gz arhive. { for datoteka in $* do gzip -dc ${datoteka} | tar tf - done } # kraj .profile-a Pogodili ste -- $PATH i $LOGNAME su varijable okru¾ja. Ima ih jo¹ puno; RMP za aplikacije kao ¹to je less ili bash. Stavljanjem ovog reda u svoj /etc/profile dobit æete grub ekvivalent PROMPT $P$G: export PS1="\w\\$ " 99..22.. IInniicciijjaalliizzaacciijjsskkee ddaattootteekkee pprrooggrraammaa Pod Linuxom je skoro sve prilagodljivo va¹im potrebama. Veæina programa ima jednu ili vi¹e inicijalizacijskih datoteka s kojima se mo¾ete igrati, obièno .imeprogramarc u va¹em home direktoriju. Prve koje æete ¾eljeti mijenjati su: · .inputrc: koristi ju bash za definiranje tipkovnice; · .xinitrc: koristi ju startx za inicijalizaciju X Window Systema; · .fvwmrc: koristi ju window manager fvwm; · .joerc, .jstarrc: koristi ih editor joe; · .jedrc: koristi ju editor jed; · .pinerc: koristi ju èitaè po¹te pine; · .Xdefault: koriste ju mnogi X programi. Za sve ove i druge koje æete prije ili poslije sresti, RMP. Mo¾da vas zanima _K_o_n_f_i_g_u_r_i_r_a_n_j_e _K_A_K_O na <http://dokumentacija.linux.hr/Konfiguriranje-KAKO.html>? 1100.. MMrree¾¾ee:: kkoonncceeppttii Ne samo ¹to je ``Dialup Networking'' dostupan pod Linuxom, nego je i stabilniji i br¾i. Radi se o PPP-u, protokolu kori¹tenom za spajanje na Internet pomoæu modema. Trebat æe vam kernel koji podr¾ava PPP i alat koji bira broj i uspostavlja vezu. Kako biste skidali po¹tu s ISP-ovog poslu¾itelja, potreban vam je alat zvan ``e-mail fetcher'' koji koristi POP protokol; nakon skidanja, poruke æe izgledati kao da su izravno isporuèene na va¹ Linux stroj. Potom æete s njima raditi koristeæi MUA (_M_a_i_l _U_s_e_r _A_g_e_n_t -- korisnikov po¹tanski agent) kao ¹to je pine, mutt, elm i mnogi drugi. Dok se pod Windowsima uspostavljanje veze automatski pokrene kada pokrenete Internet aplikaciju, pod Linuxom je obratno: prvo uspostavite vezu, a zatim pokrenete aplikaciju. Stvar zvana diald nudi uobièajeno pona¹anje. Instaliranje i konfiguriranje spajanja na mre¾u modemom je nekad bila jedna od najte¾ih stvari pod Linuxom, ali vi¹e nije: pogledajte _K_o_n_f_i_g_u_r_i_r_a_n_j_e _K_A_K_O. Na kraju, ne¹to o ``Network neighborhood'': va¹a Linux radna stanica mo¾e izgledati kao Windows NT/9x u lokalnoj mre¾i Windows strojeva! Èarobna rijeè je Samba: ne razuzdani brazilski ples, nego implementacija SMB protokola za Linux. Otiðite na <http://samba.anu.edu.au/samba>. 1111.. MMaalloo pprrooggrraammiirraannjjaa 1111..11.. SSkkrriippttee uu lljjuussccii:: ..BBAATT ddaattootteekkee nnaa sstteerrooiiddiimmaa Ako ste koristili .BAT datoteke kao preèice do dugih naredbi (ja jesam, puno), to mo¾ete odgovarajuæim alias redovima (pogledajte gornji primjer) u profile ili .bash_profile. Ali ako su vam .BAT-ovi bili slo¾eniji, onda æete obo¾avati jezik ljuske: moæan je kao dobri stari QBasic, ako ne i vi¹e. Ima varijable, konstrukte kao while, for, case, if... then... else i puno drugih moguænosti: dobra je alternativa ``pravom'' programskom jeziku. Za pisanje skripte -- ekvivalenta .BAT datoteci pod DOS-om -- samo trebate napisati standardnu ASCII datoteku koja sadr¾i instrukcije, snimiti ju, a onda uèiniti izvr¹nom naredbom chmod +x <skripta>. Ako ju hoæete izvr¹iti, samo napi¹ite njeno ime. Malo upozorenje. Editor sustava se zove vi i po mom iskustvu vrlo je te¾ak za veæinu novih korisnika. Neæu vam obja¹njavati kako ga upotrebljavati; pogledajte knjigu Matta Welsha ili potra¾ite upute na mre¾i. Ovdje æu reæi samo ovo: · za ubacivanje teksta pritisnite <i>, a onda upi¹ite tekst; · za brisanje znakova pritisnite <ESC>, pa <x>; · za izlaz bez snimanja pritisnite <ESC>, pa :q!; · za snimanje i izlaz pritisnite <ESC>, pa :wq. Dobar editor za poèetnika je joe: ako ga pokrenete kao jstar, dobit æete iste tipke kao u DOSWin editoru. jed u WordStar ili IDE modu je jo¹ bolji. Pogledajte dio ``Gdje naæi aplikacije'' za informacije gdje ih nabaviti. Pisanje skripti u bashu tako je golema tema da zahtijeva knjigu samo za sebe i neæu dublje u nju ulaziti. Samo vam dajem primjer skripte iz koje mo¾ete vidjeti neka osnovna pravila: #!/bin/sh # primjer.sh # ja sam komentar # ne mijenjajte prvi red, on mora biti tamo echo "Ovaj sustav je: `uname -a`" # kori¹tenje izlaza naredbe echo "Moje ime je $0" # ugraðene varijable echo "Dali ste mi ovih $# parametara: "$* echo "Prvi parametar je: "$1 echo -n "Kako se zovete? " ; read vase_ime echo pogledajte razliku: "zdravo, $vase_ime" # citiranje s " echo pogledajte razliku: 'zdravo, $vase_ime' # citiranje s ' DIROVI=0 ; DATOTEKE=0 for datoteka in `ls .` ; do if [ -d ${datoteka} ] ; then # ako je datoteka direktorij DIROVI=`expr $DIROVI + 1` # DIROVI = DIROVI + 1 elif [ -f ${datoteka} ] ; then DATOTEKE=`expr $DATOTEKE + 1` fi case ${datoteka} in *.gif|*jpg) echo "${datoteka}: grafièka datoteka" ;; *.txt|*.tex) echo "${datoteka}: tekstualna datoteka" ;; *.c|*.f|*.for) echo "${datoteka}: datoteka s izvornim kodom" ;; *) echo "${datoteka}: opæenita datoteka" ;; esac done echo "ima ${DIROVI} direktorija i ${DATOTEKE} datoteka" ls | grep "ZxY--!!!WKW" if [ $? != 0 ] ; then # izlazni kod zadnje naredbe echo "ZxY--!!!WKW nije naðen" fi echo "dosta... napi¹ite 'man bash' ako hoæete jo¹ informacija" 1111..22.. CC zzaa vvaass Pod Unixom jezik sustava je C, svidjelo se to vama ili ne. Tu je i hrpa drugih jezika (Java, FORTRAN, Pascal, LISP, BASIC, Perl, AWK...). Ako znate C, evo nekoliko uputa za one razma¾ene Turbo C++-om ili nekim njegovim DOS roðakom. Linuxov C kompajler se zove gcc i nedostaju mu svi ukrasi uobièajenih IDE pandana: nema IDE-a, izravnih uputa, integriranog debuggera, itd. To je samo grubi kompajler komandne linije, vrlo moæan i djelotvoran. Za kompajliranje standardnog hello.c napi¹ite: $ gcc hello.c ¹to æe dati izvr¹nu datoteku a.out. Ako hoæete drugo ime, napi¹ite $ gcc -o hello hello.c Za vezanje librarya na program, dodajte prekidaè -l<imelibrarya>. Na primjer, za vezanje s matematièkim libraryem: $ gcc -o matematika matematika.c -lm -l<imelibrarya> ka¾e gccu da ve¾e library /usr/lib/<imelibrarya>.so, pa -lm ve¾e /usr/lib/libm.so. Zasad je sve u redu. Ali kad se va¹ program sastoji od vi¹e datoteka, koristit æete alat make. Prepostavimo da ste napisali parser izraza: njegova se datoteka zove parser.c i ukljuèuje dva headera, parser.h i xy.h. A onda ¾elite koristiti funkcije iz parser.c u drugom programu, recimo kalk.c, koji takoðer ukljuèuje parser.h. Kakva zbrka! Kako æete kompajlirati kalk.c? Napisat æete takozvani Makefile, koji kompajleru pokazuje meðuovisnosti izvornih i objektnih kodova. U na¹em primjeru: # Ovo je Makefile za kompajliranje kalk.c # Pritisnite <TAB> gdje je oznaèeno! kalk: kalk.o parser.o <TAB>gcc -o kalk kalk.o parser.o -lm # kalk ovisi o dvije objektne datoteke: kalk.o i parser.o kalk.o: kalk.c parser.h <TAB>gcc -c kalk.c # kalk.o ovisi o dvije izvorne datoteke parser.o: parser.c parser.h xy.h <TAB>gcc -c parser.c # parser.o ovisi o tri izvorne datoteke # kraj Makefilea Ovu datoteku snimite kao Makefile i napi¹ite make za kompajliranje programa; mo¾ete ju snimiti i kao kalk.mak i napisati make -f kalk.mak. Naravno, RMP. Ne¹to uputa o C funkcijama pokrivaju man stranice 3. dijela; na primjer, $ man 3 printf Za otklanjanje gre¹aka koristite gdb. info gdb za njegovo kori¹tenje. Librarya ima puno; meðu prvima koje æete ¾eljeti koristiti su ncurses (efekti u tekstualnom modu) i svgalib (grafika na konzoli). Ako ste dovoljno hrabri za programiranje u X11 (nije to tako te¹ko), postoje nekoliko librarya koje pisanje X11 programa èine vrlo lakim. Pogledajte <http://www.xnet.com/~blatura/linapp6.html>, imajuæi pritom na umu da Gtk postaje Linux standard. Mnogi editori mogu imitirati IDE; na primjer, emacs i jed imaju sintaktièko osvjetljavanje, automatsko uvlaèenje, itd. Mo¾ete nabaviti i paket RHIDE s <ftp://sunsite.unc.edu/pub/Linux/devel/debuggers/>. To je klon Borlandovog IDE-a i vjerojatno æe vam se svidjeti. 1122.. OOssttaalliihh 11%% Zapravo puno vi¹e od 1%... 1122..11.. KKoorrii¹¹tteennjjee ttaarraa ii ggzziippaa Pod Unixom postoje ¹iroko kori¹tene aplikacije za arhiviranje i sa¾imanje datoteka. tar se koristi za stvaranje arhiva -- kao PKZIP ili Winzip, ali bez kompresije. Za novu arhivu: $ tar -cvf <ime_arhive.tar> <datoteka> [datoteka...] Za dearhiviranje datoteka: $ tar -xpvf <ime_arhive.tar> [datoteka...] Za ispis sadr¾aja arhive: $ tar -tf <ime_arhive.tar> | less Datoteke mo¾ete sa¾eti pomoæu compressa, koji je zastario i ne bi ga vi¹e trebalo koristiti, ili gzipa: $ compress <datoteka> $ gzip <datoteka> ¹to æe proizvesti sa¾etu datoteku s ekstenzijom .Z (compress) ili .gz (gzip). Ovi programi mogu sa¾eti samo jednu datoteku odjednom. Za dekompresiju: $ compress -d <datoteka.Z> $ gzip -d <datoteka.gz> RMP. Tu su i unarj, zip i unzip (PK*ZIP kompatibilni) alati. Datoteke s ekstenzijom .tar.gz ili .tgz (arhivirane tarom, a onda sa¾ete gzipom) èeste su u Unix svijetu kao .ZIP datoteke pod DOS-om. Ovako æete ispisati sadr¾aj .tar.gz arhive: $ tar -ztf <datoteka.tar.gz> | less 1122..22.. IInnssttaalliirraannjjee aapplliikkaacciijjaa Prvo, instaliranje paketa rootov je posao. Veæina Linux aplikacija se distribuira u .tar.gz arhivama, koje obièno sadr¾e odgovarajuæe nazvan direktorij s datotekama i/ili poddirektorijima. Takve pakete je najbolje instalirati u /usr/local naredbom # tar -zxf <arhiva.tar.gz> te zatim proèitati datoteku README ili INSTALL. U veæini sluèajeva, aplikacija se distribuira kao izvorni kod koji morate kompajlirati; èesto æe biti dovoljno napisati samo make pa make install. Ako arhiva sadr¾i configure skriptu, najprije pokrenite nju. Oèito, potreban vam je gcc odnosno g++ kompajler. Druge arhive treba otpakirati iz /; tako je s Slackwareovim .tgz arhivama. A druge pak arhive sadr¾e datoteke, ali ne i poddirektorij -- pazite da ne pomije¹ate stvari! Prije instalacije uvijek pogledajte sadr¾aj arhive. Debian i Red Hat imaju posebne formate arhiva; .deb i .rpm. Drugi postaje sve popularniji; za instalaciju rpm paketa napi¹ite # rpm -i paket.rpm 1122..33.. TTrriikkoovvii bbeezz kkoojjiihh ssee nnee mmoo¾¾ee PPoogglleedd uunnaattrraagg:: pritisak na <SHIFT>-<PgUp> (siva tipka) æe pokazati zadnjih nekoliko stranica zaslona, ovisno o kolièini video memorije. RReesseett zzaasslloonnaa:: ako more ili cat prika¾e binarnu datoteku, zaslon æe zavr¹iti pun smeæa. Da to sredite, naslijepo napi¹ite reset ili ovaj niz znakova: echo CTRL-V ESC c ENTER. LLiijjeepplljjeennjjee tteekkssttaa:: za konzolu pogledajte dolje; u X-u, kliknite i vucite odabrav¹i tako tekst u xterm prozoru, a zatim pritisnite srednju tipku (ili obje zajedno ako va¹ mi¹ ima dvije tipke) za lijepljenje. Tu je i xclipboard (ali samo za tekst); ne dajte se zbuniti njegovom sporo¹æu. KKoorrii¹¹tteennjjee mmii¹¹aa:: ako ste instalirali gpm, program za mi¹a na konzoli, mo¾ete kliknuti i vuæi kako bi odabrali tekst i desnom tipkom odabrani tekst zalijepiti. Radi i meðu razlièitim VC-ima. PPoorruukkee kkeerrnneellaa:: kao root pogledajte /var/adm/messages ili /var/log/messages da vidite ¹to vam kernel ima reæi, kao i poruke pri dizanju sustava. Dobro doðe i naredba dmesg. 1122..44.. GGddjjee nnaaææii aapplliikkaacciijjee Ako se pitate mo¾ete li zamijeniti svoju staru i provjerenu DOS/Win aplikaciju Linux aplikacijom, predla¾em vam da pregledate glavne arhive Linux softvera: <ftp://sunsite.unc.edu/pub/Linux>, <ftp://tsx-11.mit.edu/pub/linux> i <ftp://ftp.funet.fi/pub/Linux>. Druga dobra mjesta za poèinjanje su ``_L_i_n_u_x _A_p_p_l_i_c_a_t_i_o_n_s _a_n_d _U_t_i_l_i_t_i_e_s _P_a_g_e'', <http://www.xnet.com/~blatura/linapps.shtml>, i ``slu¾bene'' Linux stranice, <http://www.linux.org>. 1122..55.. NNeekkoolliikkoo ssttvvaarrii kkoojjee nniissttee mmooggllii Linux mo¾e stra¹no puno stvari koje su pod DOS/Windowsima zapetljane, slo¾ene ili nemoguæe. Evo kratkog popisa koji æe vam dovesti slinu u usta: · at omoguæava pokretanje programa u odreðeno vrijeme. · awk je jednostavan, ali moæan jezik za rad s datotekama s podacima (i ne samo to). Na primjer, ako je podaci.pod datoteka od vi¹e stupaca, $ awk '$2 ~ "abc" {print $1, "\t", $4}' podaci.pod ispisuje 1. i 4. polje svakog reda u podaci.pod èije drugo polje sadr¾i ``abc''. · cron je koristan za redovito obavljanje zadataka, u odreðeni dan i vrijeme. man 5 crontab. · file <imedatoteke> æe vam reæi ¹to je <imedatoteke> (ASCII tekst, izvr¹na, arhiva, itd.). · find (pogledajte dio ``Direktoriji: prevoðenje naredbi'') je jedna od najmoænijih i najkorisnijih naredbi. Koristi se za nala¾enje datoteka koje imaju neke osobine i obavljanje poslova na njima. Opæenito se koristi ovako: $ find <direktorij> <izraz> gdje <izraz> opisuje kriterije za tra¾enje i radnje. Primjeri: $ find . -type l -exec ls -l {} \; nalazi sve datoteke koje su simbolièke veze i prikazuje na ¹to one pokazuju. $ find / -name "*.staro" -ok rm {} \; nalazi sve datoteke koje odgovaraju uzorku i bri¹e ih, pitajuæi vas za dopu¹tenje. $ find . -perm +111 nalazi sve datoteke èije su dozvole 111 (izvr¹ne). $ find . -user root nalazi sve datoteke koje pripadaju rootu. Ovdje ima jo¹ mnogo moguænosti -- RMP. · grep nalazi uzorke teksta u datotekama. Na primjer, $ grep -l "geologija" *.tex æe ispisati datoteke *.tex koje sadr¾e rijeè "geologija". Varijanta zgrep radi na gzip-anim datotekama. RMP. · Regularni izrazi su slo¾en, ali prokleto moæan naèin za operacije tra¾enja teksta. Na primjer, ^a[^a-m]X{4,}txt$ odgovara redu koji poèinje s a, kojeg slijedi bilo koji znak izmeðu a i m, kojeg slijedi 4 ili vi¹e X, a zavr¹ava na ``txt''. Koristite ih u naprednim editorima, lessu i mnogim drugim aplikacijama. man grep æe vam dati uvod. · script <imetranskripta> sadr¾aj ekrana ispisuje u imetranskripta dok ne zadate naredbu exit. Korisno za otklanjanje gre¹aka. · sudo korisnicima omoguæava izvoðenje nekih rootovih poslova (dakle, formatiranje i montiranje disketa; RMP). · uname -a daje informacije o va¹em sustavu. · zcat i zless su korisni za pregledavanje i piping gzip-anih datoteka bez njihove dekompresije. Na primjer: $ zless tekst.gz $ zcat tekst.gz | lpr · Ove naredbe èesto zgodno poslu¾e: bc, cal, chsh, cmp, cut, fmt, head, hexdump, nl, passwd, printf, sort, split, strings, tac, tail, tee, touch, uniq, w, wall, wc, whereis, write, xargs, znew. RMP. 1122..66.. PPrraakkttiicciirraannjjee UUNNIIXX--aa ppoodd DDOOSS//WWiinnddoowwssiimmaa Vjerovali ili ne, postoje dobri alati koji pru¾aju UNIX-oliko okru¾je pod DOS/Windowsima! Jedan od njih je DJGPP paket, <http://www.delorie.com/djgpp>, za DOS; Cygnus, <http://www.cygnus.com>, je slo¾eniji port za Win32. Oba sadr¾e iste GNU razvojne i ostale alate kao Linux; ipak, neæete dobiti istu stabilnost i performanse. Ako ¾elite probati okus Linuxa, probajte DJGPP. Skinite i instalirajte sljedeæe datoteke (u vrijeme pisanja najnovija verzija je 2.02): djdev202.zip, bnu281b.zip, bsh1147b.zip, fil316b.zip, find41b.zip, grep22b.zip, gwk303b.zip, lss332b.zip, shl112b.zip. Instalacijske upute su ukljuèene, a pomoæ mo¾ete dobiti u comp.os.msdos.djgpp. Konkretno, koristiti bash pod DOSWinom je pravo osvje¾enje. Kako biste ga pravilno konfigurirali, editirajte danu datoteku BOOT.BAT tako da odgovara va¹oj instalaciji; zatim ove datoteke smjestite u svoj home direktorij (na Windows particiji) umjesto veæ danih: # ovo je _bashrc LS_OPTIONS="-F -s --color=yes" alias cp='cp -i' alias d='ls -l' alias l=less alias ls="ls $LS_OPTIONS" alias mv='mv -i' alias rm='rm -i' alias u='cd ..' # ovo je _bprof if [ -f ~/_bashrc ]; then . ~/_bashrc fi PS1='\w\$ ' PS2='> ' CDPATH="$CDPATH:~" # stvari za less(1) LESS="-M-Q" # du¾i prompt, tiho LESSEDIT="%E ?lt+%lt. %f" # sreðujemo red na vrhu VISUAL="jed" # editor LESSCHARSET=latin1 # prikazuje nagla¹ene znakove export PS1 PS2 CDPATH LS_OPTIONS LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET 1122..77.. UUoobbiièèaajjeennee eekksstteennzziijjee ii ppoovveezzaannii pprrooggrraammii Susrest æete se s puno ekstenzija. Iskljuèujuæi egzotiènije (fontovi, itd.), evo tko-je-tko popisa: · 1 ... 8: man stranice. Èitajte ih pomoæu groff -Tascii -man <datoteka.1>. · arj: arhiva stvorena pomoæu ARJ. · dvi: izlazna datoteka TeX-a (pogledajte dalje). xdvi za prikaz, dvips za pretvaranje u PostScript .ps datoteku. · gz: arhiva stvorena gzipom. · info: info datoteka (alternativa man stranicama). Nabavite info. · lsm: Linux Software Map datoteka. To je obièna ASCII datoteka koja opisuje paket. · ps: PostScript datoteka. Za prikaz ili ispis nabavite gs i, ako ¾elite, ghostview ili gv. · rpm: Red Hat paket. Mo¾ete ga instalirati na bilo kojem sustavu koristeæi rpm. · taz, tar.Z: arhiva stvorena tarom i sa¾eta compressom. · tgz, tar.gz: arhiva stvorena tarom i sa¾eta gzipom. · tex: tekstualna datoteka za TeX, moæan sustav izdava¹tva. Nabavite paket tex ukljuèen u mnogim distribucijama. · texi: texinfo datoteka, iz koje mo¾e nastati i TeX i info datoteka (pogledajte info). Nabavite texinfo. · xbm, xpm, xwd: grafièka datoteka. · Z: arhiva stvorena compressom. 1122..88.. PPrreettvvaarraannjjee ddaattootteekkaa Ako ¾elite razmjenjivati tekstualne datoteke izmeðu DOS/Windowsa i Linuxa, budite svjesni problema s krajem reda. Pod DOS-om svaki red zavr¹ava s CR/LF (to jest, ASCII 13 i ASCII 10), a pod Linuxom s LF. Ako editirate DOS tekstualnu datoteku pod Linuxom, svaki æe red vjerojatno zavr¹avati èudnim "M" znakom; Linux tekstualna datoteka pod DOS-om æe izgledati kao kilometarski red bez odlomaka. Nekoliko æe alata, dos2unix i unix2dos, pretvoriti datoteke. Ako va¹e tekstualne datoteke sadr¾e nagla¹ene znakove, napravite ih u Windowsima (pomoæu Notepada), a ne obiènom DOS-u; inaèe æe svi nagla¹eni znakovi biti potpuno zeznuti. Pretvaranje Word ili Word Perfect datoteka u obièni tekst je zapetljano, ali moguæe. Trebat æe vam jedan od alata s CTAN poslu¾itelja; jedan od njih je ftp.tex.ac.uk. Uzmite program word2x iz direktorija /pub/tex/tools/, ili pogledajte programe u direktoriju /pub/tex/support/. word2x pretvara Word 6 datoteke; za Word 97 datoteke æe vam trebati mswordview, <http://www.csn.ul.ie/~caolan/docs/MSWordView.html>, koji ih pretvara u HTML. 1122..99.. BBeessppllaattnnii uurreeddsskkii ppaakkeettii Ako pretvaranje datoteka nije dovoljno, mo¾ete isprobati jedan od (besplatnih!) paketa sliènih Microsoft Officeu. Paket StarOffice je besplatan za osobnu uporabu. Velik je, pomalo spor, ali ipak vrlo dobar: nudi mnogo moguænosti koje Microsoft Office nema. Takoðer mo¾e èitati Word i Excel datoteke, iako pretvaranje nije uvijek savr¹eno. WWW stranice: <http://www.stardivision.com>. Jo¹ jedan dobar paket je Corel WordPerfect, èije je besplatno izdanje dostupno na WWW-u. Trebam li jo¹ ¹to reæi? Skinite ga: <http://www.corel.com>. 1133.. KKrraajj,, zzaa ssaaddaa Èestitam! Naèeli ste malo Unixa i spremni ste poèeti raditi. Nemojte zaboraviti da je va¹e znanje sustava jo¹ uvijek ogranièeno i da je potrebno jo¹ prakse s Linuxom za udoban rad. Ali ako je sve ¹to ste htjeli dobiti hrpu aplikaciju i poèeti raditi s njima, ovo je dosta. Siguran sam da æete u¾ivati u Linuxu i nastaviti uèiti vi¹e o njemu -- svi to rade. Kladio bih se da se nikad neæete vratiti DOSWinu! Nadam se da sam bio razumljiv i dobro uslu¾io svoja 3 ili 4 èitatelja. 1133..11.. AAuuttoorrsskkaa pprraavvaa Ako nije drukèije izra¾eno, autorska prava na Linux KAKO dokumente posjeduju njihovi autori. KAKO dokumente mo¾e se reproducirati i distribuirati u cjelosti ili djelomièno, na mediju fizièkom ili elektronièkom, dok je ova obavijest na svim primjercima. Komercijalna distribucija dopu¹tena je i ohrabrena; meðutim, autor bi o takvom distribuiranju ¾elio biti obavije¹ten. Svi prijevodi, izvedeni ili sa¾eti radovi koji ukljuèuju Linux KAKO dokumente moraju biti pod ovom licencom. Dakle, ne smijete napraviti rad izveden iz KAKO-a i nametati dodatna ogranièenja na njegovu distribuciju. Iznimke ovim pravilima moguæe su pod odreðenim uvjetima; kontaktirajte Linux KAKO koordinatora na dolje danoj adresi. Ukratko, ¾elimo ohrabriti ¹irenje ovih informacija kroz ¹to je vi¹e moguæe kanala. Meðutim, ¾elimo zadr¾ati autorska prava na KAKO dokumente i htjeli bi biti obavije¹teni o bilo kakvim namjerama redistribuiranja KAKO-a. Ako imate pitanja, kontaktirajte Tima Bynuma, Linux KAKO koordinatora, na linux-howto@sunsite.unc.edu. 1133..22.. AAuuttoorr _S _D_O_S_/_W_i_n_d_o_w_s_a _n_a _L_i_n_u_x je napisao Guido Gonzato, OBRI©I_MEguido@ibogeo.df.unibo.it. (Obri¹ite ``OBRI©I_ME''.) Puno hvala Mattu Welshu, autoru _L_i_n_u_x _I_n_s_t_a_l_l_a_t_i_o_n _a_n_d _G_e_t_t_i_n_g _S_t_a_r_t_e_d, Ianu Jacksonu, autoru _L_i_n_u_x _è_e_s_t_o _p_o_s_t_a_v_l_j_a_n_a _p_i_t_a_n_j_a _u_z _o_d_g_o_v_o_r_e, Giuseppeu Zanettiju, autoru _L_i_n_u_x, svima koji su mi poslali prijedloge, te posebno Linusu Torvaldsu i GNU-u koji su nam dali Linux. Ovaj dokument je ``kakav je''. Ulo¾eno puno truda da bude ¹to toèniji, ali ove informacije koristite na vlastitu odgovornost. Ni u kojem sluèaju autor nije odgovoran za bilo kakve ¹tete proiza¹le iz kori¹tenja ovog djela. Primjedbe su dobrodo¹le. Slobodno mi se obratite zahtjevima, prijedlozima, flejmovima, itd. U¾ivajte u Linuxu i ¾ivotu, Guido =8-) 1144.. HHrrvvaattsskkii pprriijjeevvoodd Najnovija verzija ovog prijevoda mo¾e se naæi na <http://dokumentacija.linux.hr/DOS-Win-na-Linux-KAKO.html>. Odr¾ava ga Matej Vela, mvela@public.srce.hr. Svi su prilozi, primjedbe i prijedlozi dobrodo¹li.