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 . 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 --, pričekajte da se sustav digne i ugasite PC. Ako radite pod X-om, prvo pritisnite --, a zatim --. 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, , _L_i_n_u_x _U_s_e_r _G_u_i_d_e Larrya Greenfielda, , i _L_i_n_u_x _F_A_Q, . 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 . ˇ 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 [> 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 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 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 . Druge korisne tipke su , što briše riječ na lijevo, i , što briše riječ na desno; miče kursor jednu riječ desno, lijevo; miče na početak reda, na kraj. Tipka radi isto što i . 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 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 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, 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 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 . ˇ 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 - ... -. ˇ 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 . 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 . 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 - (neće uvijek raditi). ˇ Za suspendiranje procesa u prednjem planu pritisnite - (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>. 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 . 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 , 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, , i KDE, , 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 ? 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 . 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 . 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 , a onda upišite tekst; ˇ za brisanje znakova pritisnite , pa ; ˇ za izlaz bez snimanja pritisnite , pa :q!; ˇ za snimanje i izlaz pritisnite , 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. Na primjer, za vezanje s matematičkim libraryem: $ gcc -o matematika matematika.c -lm -l kaže gccu da veže library /usr/lib/.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 gdje je označeno! kalk: kalk.o parser.o 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 gcc -c kalk.c # kalk.o ovisi o dvije izvorne datoteke parser.o: parser.c parser.h xy.h 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 , 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 . 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 [datoteka...] Za dearhiviranje datoteka: $ tar -xpvf [datoteka...] Za ispis sadržaja arhive: $ tar -tf | less Datoteke možete sažeti pomoću compressa, koji je zastario i ne bi ga više trebalo koristiti, ili gzipa: $ compress $ gzip š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 $ gzip -d 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 | 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 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 - (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: , i . 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'', , i ``službene'' Linux stranice, . 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 će vam reći što je (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 gdje 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 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, , za DOS; Cygnus, , 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 . ˇ 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, , 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: . Još jedan dobar paket je Corel WordPerfect, čije je besplatno izdanje dostupno na WWW-u. Trebam li još što reći? Skinite ga: . 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 . Održava ga Matej Vela, mvela@public.srce.hr. Svi su prilozi, primjedbe i prijedlozi dobrodošli.