Z DOS/Windows na Linux Guido Gonzato, ggonza@itin.it v1.3.5, 31. avgust 2000 Ta HOWTO je posveèen vsem bodoèim biv¹im uporabnikom sistemov DOS in Windows, ki so se odloèili za prehod na Linux, prost Unixu podoben operacijski sistem. Ta spis naj bi bralcu pomagal prestaviti svoje znanje sistemov DOS in Windows v novo okolje, kot tudi ponudil nasvete glede izmenjave datotek in virov med enim in drugim operacijskim sistemom. ______________________________________________________________________ Kazalo 1. Uvod 1.1 Je Linux prava stvar za vas? 1.2 Je. Povejte mi veè o njem! 1.2.1 Uvodni pojmi 1.2.2 Kako do pomoèi 1.3 Dogovori 2. Za nestrpne 3. Predstavljamo vam Bash 4. Datoteke in programi 4.1 Datoteke: uvodni pojmi 4.2 Simbolne povezave 4.3 Dovolilnice in lastni¹tvo nad datotekami 4.4 Datoteke: primerjava ukazov 4.4.1 Zgledi 4.5 Poganjanje programov: veèopravilnost in seanse 4.6 Poganjanje programov na drugih raèunalnikih 5. Imeniki 5.1 Imeniki: pripravljalni pojmi 5.2 Imeniki in dovolilnice 5.3 Imeniki: vzporedba ukazov 5.3.1 Zgledi 6. Disketniki, diski in podobno 6.1 Delo z enotami po dosovsko 6.2 Delo z enotami v duhu Unixa 6.3 Varnostne kopije 7. Kaj pa okna? 8. Ukrojitev sistema 8.1 Sistemske inicializacijske datoteke 8.2 Programske inicializacijske datoteke 9. Osnove povezave v omre¾ja 10. Kanèek programiranja 10.1 Skripte: datoteke .BAT na steroidih 10.2 C za vas 10.3 Programiranje v oknih X 10.3.1 Programiranje za veè strojnih okolij 11. Preostali 1% 11.1 Poganjanje programov za DOS/Windows 11.2 Arhiviranje datotek: tar in gzip 11.3 Name¹èanje dodatnih programov 11.4 Nasveti brez katerih ne gre 11.5 Kje najdemo programe 11.6 Sladkorèki 11.7 Trening Unixa v DOS 11.8 Pripone imen datotek in programi, ki jih uporabljajo 11.9 Pretvorba datotek 11.10 Prosti pisarni¹ki paketi 12. Konec, za zdaj 12.1 Copyright 12.2 Pravni poduk ______________________________________________________________________ 1. Uvod 1.1. Je Linux prava stvar za vas? Zaènimo s politièno pravovernim uvodom. Èeprav v spisu vseskozi uporabljamo izraz Linux, z njim mislimo operacijski sistem GNU/Linux. Spis na naslovu <http://www.lugos.si/linux/linux-in-gnu.html> razlo¾i razliko med enim in drugim. Bi tudi vi radi pre¹li z okolja DOS/Windows na Linux? Dobra zamisel: Linux je tehnièno superioren glede na DOS, Windows 95 in celo glede na Windows NT. Ampak pazite: èe niste iz prave zvrsti uporabnikov, morda za vas ne bo uporaben. V naslednjih toèkah bomo na¹teli razlike med sistemi DOS/Windows in Linux: * Na DOS in Windows teèe Microsoft Office in veliko igric; sistem je enostaven za namestitev in nastavitev; je razvpit po svoji nestabilnosti; ni najhitrej¹i; pogosto zmrzne. * Na Linuxu teèe StarOffice, precej tehniènega programja, malo igric; namestitev in nastavitev je lahko problematièna; je zelo stabilen; je hiter; zmrzne zelo poredko. Na vas je, da se odloèite, kaj potrebujete. Na kratko: Linux ponuja veè moèi, vendar traja nekaj èasa, da se ga nauèite uporabljati. Èe veèinoma uporabljate komercialno programje, ali pa ne ¾elite izgubljati èasa z uèenjem novih ukazov in konceptov, verjetno ni za vas. Zavedajte se, da mnogi novopeèeni uporabniki odnehajo zaradi zaèetnih te¾av. Dela se sicer na tem, da bi bil Linux enostavnej¹i za uporabo, vseeno pa ne prièakujte, da ga boste obvladali, ne da bi prebrali veliko dokumentacije in ga vsaj nekaj mesecev uporabljali. Linux vam ne bo dal takoj¹njih rezultatov. Navzlic tem opozorilom pa vam stoodstotno zagotavljam, da ste, èe ste le pravi tip uporabnice ali uporabnika, v Linuxu na¹li svojo raèunalni¹ko Nirvano, in da ne boste nikoli veè hoteli iti nazaj na DOS ali Windows. In mimogrede: Linux ter DOS in Windows lahko mirno sobivajo na istem stroju. Predpogoji za uporabo tega spisa: predpostavili bomo, da * poznate osnovne ukaze in pojme okolja DOS * je Linux, po mo¾nosti skupaj z X Window System, ¾e pravilno name¹èen na va¹em osebnem raèunalniku * je va¹a ukazna lupina v Linuxu (ekvivalent COMMAND.COM) bash. Èe ni poudarjeno drugaèe, se vse informacije v tem spisu nana¹ajo na slabi stari DOS. Tu in tam se najde kak¹na informacija o Windows, védite pa, da sta Windows in Linux popolnoma razlièna pojma, za razliko od okolja DOS, ki je, resda uborna, paralela Unixu. Prosim, razumite tudi, da ta spis ni ne celovit uvod v Linux, niti priroènik za njegovo nastavitev. Najnovej¹o izdajo tega spisa najdete na naslovu <http://www.linuxdoc.org>. 1.2. Je. Povejte mi veè o njem! Na svoj raèunalnik ste namestili Linux in vse potrebne programe. Ustvarili ste svoj uporabni¹ki raèun (èe ga ¹e niste, napravite to takoj z ukazom adduser), in Linux lepo teèe. Ravnokar ste vnesli svoje uporabni¹ko ime in geslo, in zdaj ste se zazrli v zaslon z mislijo: ,,No, kaj pa zdaj?`` Ne obupujte. Skoraj ste ¾e pripravljeni, da boste poèeli vse stvari, ki ste jih poèeli v okolju DOS/Windows, in ¹e mnogo veè. Pod prej¹njim okoljem ste verjetno poèeli naslednje stvari: * poganjali ste programe; ustvarjali, prepisovali, pregledovali, brisali, tiskali in preimenovali datoteke * z ukazi CD, MD, RD in DIR ste se premikali po va¹ih imenikih, ustvarjali nove, jih brisali, in izpisovali njihovo vsebino * formatirali ste diskete in prepisovali datoteke z njih na disk in nazaj * okolje ste si prikrojili po svoje * surfali ste po internetu * pisali ste datoteke .BAT in programirali v svojem najljub¹em programskem jeziku * preostali 1% Razveselili se boste novice, da se vsa omenjena opravila izvajajo pod Linuxom na podoben naèin. V okolju DOS povpreèni uporabnik uporablja le kak ducat od nekaj èez 100 obstojeèih ukazov, podobno do neke mere velja za Linux. 1.2.1. Uvodni pojmi Najbolj¹i naèin, da se nauèite èesa novega je, da tudi sami skoèite v vodo. Eksperimentiranje in igranje z Linuxom je nadvse priporoèljivo, saj z njim ne morete po¹kodovati sistema. Nekaj toèk: * Najprej se nauèite, kako varno konèate delo z Linuxom. Èe ste v tekstovnem naèinu, pritisnite <CTRL-ALT-DEL>, poèakajte, da se sistem znova za¾ene, in raèunalnik ugasnite, ¹e preden zaène z diska nalagati operacijski sistem. Èe delate v okolju X Window System, pritisnite najprej <CTRL-ALT-BACKSPACE>, da se vrnete v tekstovni naèin, potem pa ¹e <CTRL-ALT-DEL>. Nikoli ne uga¹ajte raèunalnika ali pritiskajte tipke Reset sredi dela, to lahko po¹koduje va¹e podatke na disku. * Za razliko od okolja DOS/Windows ima Linux vgrajene varnostne mehanizme. Datoteke in imeniki imajo dovoljenje za pisanje in branje, in kot rezultat tega, do nekaterih kot navaden uporabnik ne morete (oglejte si ¹e razdelek ``Dovolilnice in lastni¹tvo datotekam''. DOS ali Windows vam po drugi strani dovoli, da pobri¹ete celotno vsebino va¹ega diska. * Obstaja posebni ,,superuporabnik`` z imenom ,,root``. To je upravnik sistema, ki ima dovolj moèi, da lahko odloèa o ¾ivljenju in smrti stroja. Èe delate na svojem osebnem raèunalniku, boste sami morali tudi upravljati sistem. Delati kot root je nevarno: vsaka napaka lahko resno po¹koduje ali celo unièi celoten sistem, enako kot pod DOS/Windows. Zato se prijavite kot root le, èe res ne gre drugaèe. * V precej¹nji meri je za kompleksnost Linuxa kriva njegova izjemna nastavljivost; takorekoè vsako njegovo lastnost in vsak program si lahko prek ene ali veèih nastavitvenih datotek prikrojite po lastnih ¾eljah in potrebah. Zapletenost je paè cena, ki smo jo plaèali za to mo¾nost. * Preusmeritev in nizanje ukazov sta obstranski strani v DOS, v Linuxu pa zelo pomembni in predvsem neprimerno moènej¹i. Preproste ukaze lahko nanizate za dosego zapletenih opravil. Moèno priporoèam, da se nauèite ravnanja z njimi. 1.2.2. Kako do pomoèi Mnogo naèinov je, kako priti do pomoèi, èe se z Linuxom kaj zatakne. Najpomembnej¹i so: * Branje navodil. Èisto resno. Èeprav lahko spis, ki ga berete, slu¾i kot uvod v Linux, ne more nadomestiti branja katere od naslednjih knjig: Matt Welsh ,,Linux Installation and Getting Started`` (slovenski prevod je dosegljiv na naslovu <http://www.lugos.si/delo/slo/LIGS-sl/>), Larry Greenfield ,,Linux User Guide`` <ftp://metalab.unc.edu/pub/Linux/docs/linux-doc-project/users-guide>, in spisek pogosto zastavljanih vpra¹anj o Linuxu <http://www.lugos.si/delo/slo/HOWTO-sl/Linux-FAQ-sl.html>. Imejte slabo vest, dokler ne preberete vsaj ene od njih. * Dokumentacijo za name¹èene programske pakete dostikrat najdete v podimenikih imenika /usr/doc/. * Navodila za katerega od internih ukazov ukazne lupine dobite z ukazom help. Izèrpnej¹e informacije dobite z ukazoma man bash ali info bash. * Navodila za posamezen ukaz dobite z ukazom man ukaz. Ta prika¾e stran iz priroènika (angl. manual), ki pripada iskanemu ukazu. Alternativa je ukaz info ukaz, ki, èe je na voljo, priklièe poglavje ukaz iz informacijskega sistema info. Hipertekstni informacijski sistem info prvi hip morda ne deluje najbolj intuitivno. In konèno lahko poskusite apropos ukaz ali whatis ukaz. Iz vseh na¹tetih dokumentacijskih sistemov se izmotate s pritiskom na tipko ,q`. 1.3. Dogovori V tem spisu bodo zgledi pogosto sledili naslednjemu vzorcu: z <...> oznaèimo obvezni argument ukaza, z [...] pa neobveznega. Zgled: $ tar -tf <datoteka.tar> [> preusmerjena_datoteka] datoteka.tar mora biti doloèena, preusmeritev v preusmerjeno_datoteko pa je neobvezna. Koderkoli je kot pozivnik pri zgledu ukaza zapisan znak ,#`, to pomeni, da lahko ukaz izvede samo root. 2. Za nestrpne Vas ¾e srbijo prsti? Oglejte si naslednjo tabelo: DOS Linux Opombe --------------------------------------------------------------------------- ATTRIB (+-)attr file chmod <mode> file èisto nekaj drugega BACKUP tar -Mcvf device dir/ prav tako CD dirname\ cd dirname/ skoraj enaka skladnja COPY file1 file2 cp file1 file2 prav tako DEL file rm file pazite -- ukaza undelete ni DELTREE dirname rm -R dirname/ prav tako DIR ls razlièna skladnja DIR file /S find . -name file povsem razlièna EDIT file vi file morda vam ne bo v¹eè jstar file ta je tak kot edit v DOS ed file pozabite nanj FORMAT fdformat, mount, umount precej drugaèna skladnja HELP command man command, ista filozofija info command MD dirname mkdir dirname/ skoraj enaka skladnja MOVE file1 file2 mv file1 file2 prav tako NUL /dev/null prav tako PRINT file lpr file prav tako PRN /dev/lp0, /dev/lp1 prav tako RD dirname rmdir dirname/ prav tako REN file1 file2 mv file1 file2 ne gre za veè datotek RESTORE tar -Mxpvf device razlièna skladnja TYPE file less file bistveno bolj¹i WIN startx povsem drug svet! Èe vam ta tabela ne zado¹èa, si oglejte naslednje razdelke. 3. Predstavljamo vam Bash Dobra novica: v Linuxu je tipkanja v ukazni vrstici manj kot v okolju DOS, ker ukazna lupina bash marsikaj postori namesto vas, in vsebuje vrsto sijajnih mo¾nosti za urejanje ukazne vrstice. Za zaèetek: pu¹èica navzgor priklièe prej¹nje ukaze. Ampak to ni ¹e niè. Pritisk na tipko <TAB> dopolni imena datotek in imenikov. Èe natipkamo $ ls /u<TAB>lo<TAB>b<TAB> je to isto kot $ ls /usr/local/bin Kadar okraj¹ave niso enoliène in so mogoèi nesporazumi, kot denimo v zgledu $ ls /u<TAB>lo<TAB>i<TAB> se bash ustavi, saj ne ve, ali imamo v mislih imenik /usr/local/info ali /usr/local/include. V tem primeru dopi¹ite ¹e kako èrko, da se izognete nejasnosti, in ponovno pritisnite TAB. Drugi uporabni triki s tipkami so <ESC-BACKSPACE>, ki pobri¹e besedo levo od kazalca, in <ESC-D>, ki pobri¹e besedo desno od njega; s kombinacijo <ESC-F> premaknemo kazalec za besedo v desno (F kot Forward, naprej), z <ESC-B> (B kot Backward, nazaj) pa v levo. <CTRL- A> nas premakne na zaèetek vrstice, <CTRL-E> pa na konec. Tipka <ALT> je enakovredna tipki <ESC>. Bodi dovolj za zdaj. Ko se boste enkrat privadili na te bli¾njice, se vam bo zdela ukazna lupina v DOS nadvse okorna in nadle¾na... 4. Datoteke in programi 4.1. Datoteke: uvodni pojmi Struktura imenikov in datotek na Linuxu je zelo podobna tisti v DOS/Windows. Datoteke imajo imena, za katera veljajo doloèena pravila, in so shranjena v imenikih. Nekatere od njih so programi, in veèina med temi pozna ukazne izbire. Nadalje, uporabljate lahko d¾okerje, preusmeritve in nizanje ukazov. Obstaja le nekaj manj¹ih razlik: * V DOS velja za imena datotek omejitev 8+3 (do osem znakov imena, do tri znake pripone), npr. NOTENOUG.TXT. V Linuxu so stvari lep¹e. Èe ste namestili Linux z datoteènim sistemom, kot sta na primer ext2 ali umsdos, lahko uporabljate dalj¹a imena datotek (do 255 znakov) in veè kot eno piko v imenu, na primer To_je.zelo_dolgo.IME.datoteke. Verjetno ste opazili, da sem uporabil velike in male èrke, to je zato, ker... * Linux razlikuje med velikimi in malimi èrkami v imenih datotek ali ukazov. Zato sta DATOTEKA.tar.gz in datoteka.tar.gz dve razlièni datoteki. ls pomeni ukaz; LS pomeni napako. * Posebno opozorilo za uporabnike Windows 95. Èe ime datoteke vsebuje presledke (kar ni pametno, je pa naèeloma mo¾no), morate pri vsakem sklicu nanj navesti tak¹no ime znotraj dvojnih narekovajev. Zgled: $ # naslednji ukaz ustvari imenik "Stare datoteke" $ mkdir "Stare datoteke" $ ls Stare datoteke bin tmp Nadalje: nekateri znaki niso dovoljeni, med njimi so !*$&#. * Linux ne pozna nobenih obveznih pripon, kot na primer .COM in .EXE za programe ali .BAT za paketne datoteke. Izvedljive datoteke so oznaèene z zvezdico ,*` na koncu, kadar izpi¹ete vsebino imenika z ukazom ls -F. Na primer: $ ls -F I_am_a_dir/ cindy.jpg cjpg* letter_to_Joe my_1st_script* old~ Datoteki cjpg* in my_1st_script* sta izvedljivi, torej programa. V DOS imajo varnostne kopije pripono .BAK; v Linuxu se konèajo s tildo ,~`. ©e nekaj: èe se ime datoteke zaène s piko, na primer .skrita_datoteka, ga ukaz ls ne prika¾e. * Izbire v programih za DOS navadno uvede po¹evnica (npr. /izbira), v programih na Linuxu in Unixu nasploh pa ena ali dve èrtici, torej -izbira ali --dolga-izbira. Ukaz dir /s, denimo, tako postane ls -R. Verjetno ste ¾e opazili, da tudi mnogi programi za DOS uporabljajo ta stil doloèanja izbir, med njimi PKZIP in ARJ. Zdaj lahko tudi preskoèite na razdelek ``Datoteke: primerjava ukazov'', na va¹em mestu pa bi bral dalje. 4.2. Simbolne povezave Unix pozna zvrst datoteke, ki v DOS ne obstaja: simbolne povezave. Lahko si jih zami¹ljamo kot kazalce na datoteke ali imenike, in jih lahko uporabljamo namesto datotek ali imenikov, na katere ka¾ejo; nekaj podobnega so bli¾njice v Windows 95. Primera simbolnih povezav sta imenik /usr/X11, ki ka¾e na /usr/X11R6/ in enota /dev/modem, ki ka¾e bodisi na /dev/ttyS0, bodisi na /dev/ttyS1. Simbolno povezavo napravimo takole: $ ln -s <datoteka_ali_imenik> <ime_povezave> Zgled: $ ln -s /usr/doc/g77/DOC g77manual.txt Zdaj se lahko sklicujemo na g77manual.txt namesto na /usr/doc/g77/DOC. Simbolnim povezavam se pri izpisu vsebine imenika doda znak ,@` na koncu. $ ls -F g77manual.txt@ $ ls -l (druge reèi...) g77manual.txt -> /usr/doc/g77/DOC 4.3. Dovolilnice in lastni¹tvo nad datotekami Datoteke in imeniki v DOS imajo lahko naslednje prilastke: A (arhivski), H (skrit, angl. hidden), R (dovoljen samo za branje, angl. read-only), ali S (sistemski). Samo H in R sta smiselna tudi pod Linuxom: imena skritih datotek in imenikov se zaènejo s piko, o prilastku R pa veè v nadaljevanju. V Unixu ima vsaka datoteka svoje dovolilnice (angl. permissions) in lastnika (angl. owner), ki nadalje pripada eni ali veèim skupinam uporabnikov (group). Poglejmo si naslednji primer: $ ls -l /bin/ls -rwxr-xr-x 1 root bin 27281 Aug 15 1995 /bin/ls* Ime datoteke, /bin/ls, je izpisano v zadnjem polju. Prvo polje so dovolilnice za datoteko. Vidimo tudi, da je lastnik datoteke root, pripada pa skupini bin. Ostale informacije za zdaj pustimo ob strani in si oglejmo dovolilnice. -rwxr-xr-x pomeni, od leve proti desni: Prvi - je zvrst datoteke (- je navadna datoteka, d imenik, l simbolna povezava in tako dalje). Preostale znake beremo v trojicah. rwx so dovolilnice za lastnika. Ta lahko datoteko bere (read), pi¹e oz. bri¹e (write) in izvaja (execute). r-x so dovolilnice za uporabnike iz skupine bin. Ti jo lahko berejo (read) in izvajajo (execute), ne morejo pa je spreminjati (pisati ali brisati). Pojma skupine za zdaj ne bomo obravnavali; dokler ste zaèetnik ali zaèetnica, lahko pre¾ivite tudi brez njega. Zadnji r-x so dovolilnice za vse ostale uporabnike. Tudi ti lahko datoteko berejo in izvajajo, ne morejo pa je spreminjati. Tudi imenik /bin ima svoje dovolilnice; za podrobnosti si oglejte ``Imeniki in dovolilnice''. Dovolilnice so razlog, zakaj ne morete pobrisati datoteke /bin/sl: razen èe ste root, nimate dovoljenja za spreminjanje te datoteke. Dovolilnice za posamezno datoteko lahko spreminjate z ukazom: $ chmod <kdoXdovoljenje> <datoteka> ,,Kdo`` je lahko u (uporabnik, torej lastnik), g (skupina), ali o (ostali). Namesto X stoji bodisi + (izdamo dovolilnico) bodisi - (preklièemo dovolilnico). In konèno, ,,dovoljenje`` je lahko r (dovoljenje za branje, angl. read), w (dovoljenje za pisanje oz. spreminjanje; angl. write), ali x (dovoljenje za izvajanje, angl. execute). Sledi nekaj obièajnih primerov uporabe ukaza chmod: $ chmod +x datoteka Datoteko smo napravili izvedljivo. $ chmod go-rw datoteka Umaknili smo dovoljenje za branje in pisanje za skupino in vse ostale, datoteko lahko bere in spreminja le ¹e lastnik. $ chmod ugo+rwx datoteko. S tak¹no dovolilnico lahko vsakdo bere, spreminja ali izvaja datoteko. # chmod +s datoteka Izdali smo dovolilnico, s katero lahko vsakdo izvaja to datoteko z enakimi pooblastili, kot jih ima lastnik te datoteke (obièajno datoteke izvajamo z lastnimi pooblastili). To je takoimenovana datoteka vrste ,,setuid`` ali ,,suid``. Navadno gre za sistemske datoteke kot npr. stre¾nik X, katerih lastnik je root, saj lahko le z njegovimi pooblastili dostopamo do nekaterih sistemskih virov. Na dovolilnice se lahko sklicujemo tudi z osmi¹ko kodo: rwxr-xr-x tako na primer izrazimo kot 755 (vsaki èrki iz trojice ustreza en bit: --- je 0, --x je 1, -w- je 2, -wx je 3 itd.). Na prvi pogled morda izgleda te¾avno, z nekaj prakse pa boste hitro razumeli koncept. Edino superuporabnik, root, lahko spreminja dovolilnice za katerokoli datoteko na sistemu, ostali pa le svoje. Veè informacij v priroèniku 4.4. Datoteke: primerjava ukazov Na levi je ukaz DOS, na desni enakovredni ukaz v Linuxu ATTRIB: chmod COPY: cp DEL: rm MOVE: mv REN: mv TYPE: more, less, cat Preusmeritev in nizanje ukazov: < > >> | D¾okerji: * ? nul: /dev/null prn, lpt1: /dev/lp0 or /dev/lp1; lpr 4.4.1. Zgledi DOS Linux ------------------------------------------------------------------- C:\GUIDO>ATTRIB +R FILE.TXT $ chmod 400 file.txt C:\GUIDO>COPY JOE.TXT JOE.DOC $ cp joe.txt joe.doc C:\GUIDO>COPY *.* TOTAL $ cat * > total C:\GUIDO>COPY FRACTALS.DOC PRN $ cp fractals.doc /dev/lp1 C:\GUIDO>DEL TEMP $ rm temp C:\GUIDO>DEL *.BAK $ rm *~ C:\GUIDO>MOVE PAPER.TXT TMP\ $ mv paper.txt tmp/ C:\GUIDO>REN PAPER.TXT PAPER.ASC $ mv paper.txt paper.asc C:\GUIDO>PRINT LETTER.TXT $ lpr letter.txt C:\GUIDO>TYPE LETTER.TXT $ more letter.txt C:\GUIDO>TYPE LETTER.TXT $ less letter.txt C:\GUIDO>TYPE LETTER.TXT > NUL $ cat letter.txt > /dev/null n/a $ more *.txt *.asc n/a $ cat section*.txt | less Opombe: * D¾oker * je na Linuxu pametnej¹i: * ujame vse datoteke razen skritih; .* ujame vse skrite datoteke (vendar tudi trenutni imenik ,.` in imenik nad njim, ,..`, zato previdno!); *.* ujame le tiste datoteke, ki imajo sredi imena piko, ali pa se konèajo s piko. p*r ujame ,,parameter`` kot ,,papir``; *c* ujame tako ,,Kitajec`` kot ,,akcija``. * Pri uporabi more pritiskajte <SPACE> za naslednjo stran, ,q` za konec. Ukaz less je bolj intuitiven in dovoljuje uporabo kurzorskih tipk. * Niè takega kot UNDELETE ne obstaja, zato dvakrat premislite, preden karkoli pobri¹ete. * Dodatno k preusmeritvam < > >>, ki jih poznamo iz DOS, dovoljuje Linux tudi prusmeritve oblike 2>. S slednjo preusmerimo standardni izhod za napake (stderr); konstrukt 2>&1 tako preusmeri standardni izhod za napake (stderr) na standardni izhod (stdout), 1>&2 pa obratno. * Linux pozna ¹e eno zvrst d¾okerjev []. Uporaba: [abc]* ujame vse datoteke, katerih imena se zaèno z a, b, c; *[I-N1-3] pa vsa imena, ki se konèajo na I, J, K, L, M, N, 1, 2, 3; * Ukaz lpr <file> natisne datoteko v ozadju. Èe vas zanima, kaj se z njo dogaja in na katerem mestu v vrsti za tiskanje se nahaja, uporabite lpq; iz vrste za tiskanje jo umaknemo z ukazom lprm; * Nobenega ukaza ni, ki bi se obna¹al kot RENAME v DOS; konkretno, mv *.xxx *.yyy ne napravi tega, kar si morda ¾elite, da bi. Namesto tega lahko uporabite skript, dostopen na naslovu <ftp://metalab.unc.edu/pub/Linux/utils/file> * Uporabljajte ukaza cp -i and mv -i, ki vas opozorita, preden bi kak¹na datoteka bila prepisana. 4.5. Poganjanje programov: veèopravilnost in seanse Program po¾enete tako, da vtipkate njegovo ime, torej enako kot v DOS. Èe se imenik (glejte razdelek ``Uporaba imenikov''), kjer se program nahaja, nahaja v poti (PATH; razdelek ``Sistemske inicializacijske datoteke''), boste s tem program pognali. Za razliko od DOS pa Linux ne po pognal programa iz trenutnega imenika, èe ta imenik ni naveden v poti. Izogib: iz trenutnega imenika program po¾enite z ukazom ./program. Obièajna ukazna vrstica izgleda nekako takole: $ ukaz [-s1 [-s2] ... [-sn]] [par1 [par2] ... [parn]] [< vhod] [> izhod] Pri tem so -s1 ... -sn izbire programa, par1 ... parn pa parametri. V isti vrstici lahko zaporedoma po¾enete veè ukazov, èe jih med seboj loèite s podpièji: $ ukaz1 ; ukaz2 ; ... ; ukazn To je pravzaprav vse, kar morate vedeti o poganjanju programov. Èisto enostaven pa je tudi naslednji korak. Eden od glavnih razlogov za uporabo Linuxa je ta, da je veèopravilni sistem -- veè programov (od zdaj bomo programom med tekom rekli procesi) lahko teèe hkrati. V ozadju lahko po¾enete nov proces in nemotemo nadaljujete s svojim delom. ©e veè: pod Linuxom ste lahko hkrati veèkrat prijavljeni -- kot bi imeli veè raèunalnikov! * Med prijavnimi seansami 1-6 na virtualni konzoli lahko preklapljate s pritiskom na tipke <ALT-F1> do <ALT-F6> * Znotraj prijavne seanso v virtualni konzoli lahko z ukazom su - <prijavno_ime> po¾enete novo prijavno seanso, ne da bi s tem konèali tekoèo prijavno seanso. Primer su - root. Stvar je uporabna na primer pri kratkih opravilih, ki pa jih lahko izvaja samo root. * Prijavno seanso zakljuèite z ukazom exit. Èe imate ¹e kak¹ne ustavljene procese (veè o njih v nadaljevanju), boste na to opozorjeni. * Proces po¾enete v ozadju tako, da na koncu ukazne vrstice dodate znak ,&`: $ program [-izbire] [parametri] [< vhod] [> izhod] & [1] 123 Ukazna lupina prepoznava procese po ¹tevilki opravila (npr. [1]; veè o opravilih v naslednji toèki) in po identifikacijski ¹tevilki procesa (angl. PID, Process Identification Number; v na¹em zgledu je to 123). * Seznam trenutno tekoèih procesov dobite z ukazom ps -ax. * Proces prekinemo z ukazom kill <PID>. K temu se moramo vèasih zateèi, èe ne vemo, kako bi zakljuèili po obièajni poti. Prekinjate lahko samo svoje procese, izjema je root, ki lahko prekine katerikoli proces. Obèasno je proces mo¾no prekiniti samo z ukazom kill -SIGKILL <PID>. Ukazna lupina poleg prekinjanja dovoljuje tudi, da proces ustavimo ali zaèasno zamrznemo, doloèimo, da se izvaja v ozadju, ali pa priklièeno iz ozadja nazaj v ospredje. V tem kontekstu pravimo procesom ,,opravila``. * Seznam tekoèih opravil dobite z ukazom jobs. Tu so opravila navedena le s ¹tevilko opravila, ne s PID. * Proces ki teèe v ospredju ustavimo s pritiskom na <CTRL-C> (ne dela nujno vedno). * Proces v ospredju zamrznemo s pritiskom na <CTRL-Z> (tudi to de deluje vedno). * Zamrznjen proces po¹ljemo v izvajanje v ozadje z ukazom bg <job> (s tem postane opravilo). * Opravilo priklièemo iz ozadja z ukazom fg <job>. Brez dodatnega argumenta ukaz fg priklièe v ospredje zadnje opravilo, ki smo ga poslali v ozadje. * Opravilo prekinemo z ukazom kill <%opravilo>, pri èemer je <opravilo> ¹tevilka posla: 1, 2, 3... S temi ukazi lahko obenem formatirate disk, pospravljate kopico datotek v arhiv, prevajate program in dekomprimirate drugo arhivsko datoteko, pa imate ¹e vedno dostop do pozivnika. Pa poskusite kaj takega v DOS! Poskusite ¹e v Windows (èe bodo pre¾iveli), da vidite razliko v hitrosti. 4.6. Poganjanje programov na drugih raèunalnikih Programe na drugem raèunalniku, katerega popolno mre¾no ime je nekje.drugje.si, lahko poganjamo tako, da se nanj prijavimo s programom telnet: $ telnet nekje.drugje.si Ko ste prijavljeni, preprosto po¾enite program, ki ga ¾elite. Verjetno je odveè povedati, da morate tudi na tem drugem raèunalniku imeti odprt uporabni¹ki raèun. V okenskem okolju X11 lahko na drugem raèunalniku celo poganjate programe, pisane za to okolje, na svojem pa prikazujete rezultate. Naj bo nekje.drugje.si oddaljeni raèunalnik, moj.linux.si pa na¹ mlinèek z Linuxom. Postopek spodaj opisuje, kako z raèunalnika moj.linux.si po¾enemo program, ki se nahaja na drugem raèunalniku, nekje.drugje.si: * Po¾enemo X11 in v njih xterm ali ekvivalentni terminalski emulator. Potem tipkamo: $ xhost +nekje.drugje.si $ telnet nekje.drugje.si * Po prijavi na drug raèunalnik vtipkamo: remote:$ DISPLAY=moj.linux.si:0.0 remote:$ moj_program & (Odvisno od uporabljane ukazne lupine na drugem raèunalniku boste morda namesto vrstice DISPLAY... morali natipkati setenv DISPLAY moj.linux.si:0.0.) Et voila! Zdaj se bo moj_program pognal na nekje.drugje.si in uporabljal na¹ zaslon za prikaz. Ne posku¹ajte pa tega prek modema -- prepoèasi gre, da bi bilo zares uporabno. Kar smo povedali, je tudi zelo groba metoda, ki ni povsem v skladu s pogledi na raèunalni¹ko varnostjo. Veè o tem lahko preberete v spisu ,,Remote X Apps mini- HOWTO``, <http://www.linuxdoc.org/HOWTO/mini/Remote-X-Apps.html>. 5. Imeniki 5.1. Imeniki: pripravljalni pojmi Ogledali smo si ¾e razlike med datotekami pod DOS in pod Linuxom, zdaj pa so na vrsti imeniki. V DOS se vrhnji imenik imenuje \, medtem ko je v Linuxu /. Podobno je tudi s podimeniki -- v DOS so ravni loèene z obrnjeno po¹evnico (\), v Linuxu pa s po¹evnico (/). Primera poti do datotek v enem in drugem primeru: DOS: C:\PAPERS\GEOLOGY\MID_EOC.TEX Linux: /home/guido/papers/geology/middle_eocene.tex Kot obièajno .. oznaèuje imenik nad trenutnim, . pa trenutni imenik. Vsak uporabnik ima svoj domaèi imenik, ki mu ga ustvari upravnik sistema; na mojem domaèem raèunalniku je to na primer /home/guido. Spomnite se, da vam sistem ne bo dovolil izvajati ukazov cd, rd, ali md koderkoli bi si ¾eleli. 5.2. Imeniki in dovolilnice Ne le datoteke, tudi imeniki imajo dovolilnice. Kar smo se v razdelku ``Lastni¹tvo nad datotekami in dovolilnice'' nauèili o lastniku, skupini in ostalih uporabnikih, velja tudi za imenike. Pri imeniku rx pomeni da lahko napravite cd v ta imenik, w pa pomeni, da lahko v njem ustvarite novo datoteko, zbri¹ete obstojeèo datoteko, èe njena dovolilnica to dovoljuje, ali zbri¹ete sam imenik. Za zgled si oglejmo, kako prepreèimo, da bi uporabniki iz drugih skupin vohljali po na¹ih besedilih: /home/guido/text: $ chmod o-rwx /home/guido/text 5.3. Imeniki: vzporedba ukazov DIR: ls, find, du CD: cd, pwd MD: mkdir RD: rmdir DELTREE: rm -R MOVE: mv 5.3.1. Zgledi DOS Linux --------------------------------------------------------------------- C:\GUIDO>DIR $ ls C:\GUIDO>DIR FILE.TXT $ ls file.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 ga ni - glejte opombe $ cd enako $ cd ~ enako $ cd ~/temp C:\GUIDO>CD \OTHER $ cd /other C:\GUIDO>CD ..\TEMP\TRASH $ cd ../temp/trash C:\GUIDO>MD NEWPROGS $ mkdir newprogs C:\GUIDO>MOVE PROG .. $ mv prog .. C:\GUIDO>MD \PROGS\TURBO $ mkdir /progs/turbo C:\GUIDO>DELTREE TEMP\TRASH $ rm -R temp/trash C:\GUIDO>RD NEWPROGS $ rmdir newprogs C:\GUIDO>RD \PROGS\TURBO $ rmdir /progs/turbo Opombe: 1. Pri uporabi rmdir mora biti imenik, ki ga ¾elimo zbrisati, prazen. Èe bi radi pobrisali imenik z vsemi podimeniki in datotekami v njih, uporabite ukaz rm -rf. Na lastno odgovornost, seveda. 2. Tilda (,~`) je bli¾njica za ime va¹ega domaèega imenika. Ukaz cd ali cd ~ vas prestavi naravnost v va¹ domaè imenik, kjerkoli ¾e ste; ukaz cd ~/tmp vas prestavi v imenik tmp va¹ega domaèega imenika. 3. Ukaz cd - praklièe nazadnje izvedeni cd. 6. Disketniki, diski in podobno Z enotami lahko v Linuxu delamo na dva naèina: tako kot dela DOS, ali pa tako, kot dela Unix. Izbira je va¹a. 6.1. Delo z enotami po dosovsko Veèina distribucij Linuxa vsebuje paket Mtools, zbirko ukazov, ki so popolnoma enakovredni svojim dvojnikom iz DOS. Od njih se bolj ali manj loèijo le po zaèetnem ,m` v imenu; torej mformat, mdir, mdel, mmd in tako dalje. Ukazi iz paketa podpirajo tudi dolga imena, dovolilnic za datoteke in imenike pa ne. Paket ukrojite po svojih ¾eljah z datoteko /etc/mtools.conf (vzorec je prilo¾en zbirki), in z njim lahko dostopate do particij z DOS in Windows, CD-ROM, ali enote ZIP. Neformatirane diskete pa ne morete formatirati z ukazom mformat. Pred njim morate kot root prej pognati fdformat: # fdformat /dev/fd0H1440 Pazite: pri tem naèinu do datotek na disketah ne morete dostopati enako kot do datotek na disku; ne morete na primer napraviti less a:besedilo.txt. To je slabost opisanega naèina dostopanja do enot. 6.2. Delo z enotami v duhu Unixa Unix upravlja z enotami drugaèe kot DOS ali Windows. Logiènih enot ne loèuje z oznakami kot A: ali C:, ampak vse enote (diske, diskete, CD- ROM, prek NFS tudi diske na drugih raèunalnikih) vidimo kot del enotnega datoteènega sistema. Operaciji, s katero dodamo enoto v datoteèni sistem, pravimo ,,priklop`` (angl. mount). Ko enote ne potrebujemo veè (npr. ko ¾elimo disketo izvreèi iz disketnika), jo moramo ,,odklopiti`` (angl. unmount). Fizièno formatiranje diska in ustvarjanje datoteènega sistema na njem sta dve razlièni stvari. Ukaz FORMAT A: v DOS napravi oboje, v Linuxu pa sta ukaza loèena. Ukaz za formatiranje smo si ¾e ogledali malo prej, datoteèni sistem na disketi pa napravimo takole: # mkfs -t ext2 -c /dev/fd0H1440 Namesto ext2 lahko navedete tudi drugo vrsto datoteènega sistema, npr. vfat (priporoèeno), dos, minix in podobno. Ko ste s tem konèali, disketo priklopite z ukazom: # mount -t ext2 /dev/fd0 /mnt Èe ste v prej¹njem ukazu namesto ext2 uporabili kako drugo vrsto datoteènega sistema, morate tudi zdaj navesti isto. Zdaj lahko dostopate do datotek na disketi. Vse, kar ste doslej poèeli z A: ali B: se zdaj poène z /mnt. Primeri: 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:FILE.TXT $ jstar /mnt/file.txt C:\GUIDO>A: $ cd /mnt A:\>_ /mnt/$ _ Ne pozabite, da morate po opravljenem delu obvezno odklopiti enoto: # umount /mnt Verjetno ni treba poudarjati, da ukaza fdformat in mkfs uporabljate samo na neformatiranih disketah, ne pa na tistih, ki ste jih ¾e uporabljali. Èe bi radi uporabljali disketno enoto B:, zamenjajte vse fd0H1440 in fd0 v prej¹njih zgledih s fd1H1440 oziroma fd1. Odveè je verjetno tudi poudarjati, da vse, kar velja za disketnike, velja tudi za ostale enote, kot so diski in CD-ROM. Takole priklopimo slednjega: # mount -t iso9660 /dev/cdrom /mnt To je bil ,,uradni`` naèin za priklop disketnikov in drugih enot, zdaj pa ¹e zvijaèa, s katero si lahko delo malce olaj¹ate. Nerodno je namreè, da lahko priklaplja in odklaplja enote samo root; vèasih bi bilo prav uporabno, èe bi vsaj diskete in CD-ROM lahko priklapljali tudi ostali uporabniki. * Kot root napravite naslednje (zgled predpostavlja, da je CD-ROM prikljuèen na /dev/hdb, torej kot druga enota na vodilu EIDE; prilagodite va¹i situaciji): # mkdir /mnt/floppy ; mkdir /mnt/cdrom # chmod 777 /mnt/floppy /mnt/cd* # # Preverite, da je enota za CD-ROM pravilna! # chmod 666 /dev/hdb ; chmod 666 /dev/fd* * V datoteko /etc/fstab dodamo naslednje tri vrstice: /dev/hdb /mnt/cdrom iso9660 ro,user,noauto 0 0 /dev/fd0 /mnt/floppy vfat user,noauto 0 0 Disketo z datoteènim sistemom DOS, disketo z datoteènim sistemom ext2 ali CD-ROM lahko zdaj priklopimo enostavno z ukazi: $ mount /mnt/floppy $ mount /mnt/cdrom Enoti /mnt/floppy in /mnt/cdrom lahko zdaj priklaplja in odklaplja vsak uporabnik. Opozoriti pa vas moramo, da je prav to s stali¹èa varnosti va¹ega sistema tudi slabost. Dva uporabna ukaza sta ¹e df, ki poda informacije o trenutno priklopljenih enotah, ter du imenik, ki izpi¹e porabo prostora za podani imenik. 6.3. Varnostne kopije Veè paketov obstaja, s katerimi si lahko pomagate pri izdelavi varnostnih kopij. Najosnovne¹i ukaz, s katerim lahko kot root napravite varnostno kopijo imenika na disketo (ali veè disket, odvisno od velikosti), pa je: # tar -M -cvf /dev/fd0H1440 arhivirani_imenik/ Pazite, da imate ob tem formatirano disketo v disketniku, ¹e veè nadaljnih pa pripravljenih. Podatke lahko v celoti restavrirate tako, da vtaknete prvo disketo v disketnik in natipkate: # tar -M -xpvf /dev/fd0H1440 7. Kaj pa okna? Ekvivalent okolju Windows je na Linuxu okensko okolje X Window System, ali na kratko X11. Za razliko od Macintosha ali Windows prvo izhodi¹èe pri zasnovi X11 ni bila enostavnost uporabe ali lep izgled, ampak le nudenje grafiènih mo¾nosti za delovne postaje s sistemom Unix. Glavne razlike med Windows in X11 so naslednje: * Windows izgledajo bolj ali manj podobno ¹irom sveta, X11 pa ne: je neprimerno bolj ukrojljiv. Izgled okolja X11 doloèa kljuèni element, imenovan ,,upravljalnik oken`` (angl. window manager). In izbirate lahko med ¹iroko paleto slednjih: fvwm -- osnoven, a prijeten in uèinkovit pri delu s pomnilnikom; fvwm2-95, s katerim va¹ Linux izgleda kot Windows 95; Afterstep, ki mu da izgled okolja NEXTstep, in tako naprej. Upravljalnika oken navadno po¾enemo v datoteki ~/.xinitrc. * Upravljalnika oken lahko nastavimo tako, da se okna obna¹ajo tako kot v okolju Windows: z mi¹ko kliknemo na okno in ga tako priklièemo na povr¹je. Druga mo¾nost pa je, da priplava na povr¹je avtomatièno, ko z mi¹ko zapeljemo kazalèek na okno. Tudi postavljanje novih oken na zaslon gre lahko avtomatièno ali pa interaktivno. Slednjega imate, èe se ob zagonu programa namesto programa na zaslonu pojavi nekak¹en okvir. Z mi¹ko pripeljite okvir na ¾eljeno mesto in pritisnite levi gumb. * Veèino obna¹anja upravljalnika oken lahko ukrojite po svoje s spremembo te ali one nastavitvene datoteke. Preberite navodila za upravljalnika oken, ki ga uporabljate; datoteka se lahko imenuje .fvwmrc, .fvwm2rc95, .steprc in tako dalje. Vzorèno nastavitveno datoteko navadno najdete v /etc/X11/upravljalnik_oken/system.upravljalnik_oken. * Programi za X11 so pisani tako, da uporabljajo posebne knji¾nice grafiènih elementov (angl. ,,widget set``). Ker je slednjih veè, tudi programi med seboj izgledajo razlièno. Najosnovnej¹i nabor grafiènih elementov je Athena, uporabljajo ga xdvi, xman ali xcalc. Drugi uporabljajo Motif (npr. netscape), Tcl/Tk, Qt, Gtk, XForms ali kaj èetrtega. Nekatere, ne pa vse od teh knji¾nic ponujajo pribli¾no enak izgled in obèutek kot Windows. * Za obèutek maloprej povedano ¾al ne velja vedno. Na primer, èe z mi¹ko pobarvate vrstico besedila in pritisnete <BACKSPACE>, verjetno prièakujete, da bo vrstica izginila, kajne? Res bo, èe program uporablja knji¾nice Motif, Qt, Gtk ali Tcl/Tk, ne pa tudi, èe uporablja Atheno. * Delovanje drsnikov in spreminjanje velikosti oken je tudi odvisno od uporabljenega upravljalnika oken ter knji¾nice grafiènih elementov. Namig: èe se drsnik ne obna¹a tako, kot bi prièakovali, uporabite namesto levega srednji gumb na mi¹ki (ali levega in desnega hkrati, èe imate mi¹ko s samo dvema gumboma). * Programi nimajo nujno privzete ikone; lahko pa jih imajo mnogo. V veèini upravljalnikov oken se poka¾e menu, èe kliknete na ozadje (,,korensko okno``, angl. root window). Odveè je govoriti, da se da tudi menu ukrojiti po svoje. Izgled korenskega okna lahko spremenite z ukazoma xsetroot ali xloadimage. * V odlo¾i¹èe (angl. clipboard) lahko odlagamo le besedilo, in ¹e to se obna¹a neobièajno. Tisti hip, ko ste pobarvali besedilo, je to tudi ¾e v odlo¾i¹èu; premaknite se kamorkoli ¾elite in pritisnite srednji gumb na mi¹ki, pa ga boste prenesli na nov kraj. Obstaja tudi program xclipboard, ki vas oskrbi z veè predalèki za odlaganje. * ,,Povleci in spusti`` deluje samo v tistih programih za X11, ki to podpirajo. Pa vseeno nekaj dobrih novic. Projekta K Desktop Environment (KDE) <http://www.kde.org> in Gnome <http://www.gnome.org> sta si zastavila, da napravita X11 v obna¹anju enako koherentne kot Windows. Oba sta videti sijajno, in namizja Windows ne boste veè pogre¹ali! 8. Ukrojitev sistema 8.1. Sistemske inicializacijske datoteke Dve pomembni datoteki v DOS sta AUTOEXEC.BAT in CONFIG.SYS, ki se prebereta ob zagonu in inicializirata sistem, nastavita nekaj spremenljivk okolja (npr. PATH in FILES), in po mo¾nosti za¾eneta kak¹en program ali skripta. Windows 95 in poznej¹e razlièice imajo tudi nesreèni register, ki je vir mnogih te¾av in zapletov. Pod Linuxom je inicializacijskih datotek mnogo. Nekatere od njih so tak¹ne, da se jih raje ne dotikajte, èe ne veste zelo dobro, kaj poèenjate. Te navadno najdemo v imeniku /etc. Vse nastavitvene datoteke so tekstovne datoteke, ki jih enostavno spreminjamo s katerimkoli urejevalnikom besedil. Èe ¾elite samo nastaviti PATH ali katero drugo spremenljivko okolja, spremeniti prijavno sporoèilo ali ob zagonu avtomatièno zagnati katerega od programov, vam bo pri¹el prav naslednji spisek datotek: DATOTEKE OPOMBE /etc/issue nastavi sporoèilo pred prijavo /etc/motd nastavi sporoèilo takoj po prijavi /etc/profile nastavi $PATH in druge spremenljivke /etc/bashrc nastavi vzdevke, funkcije ipd. /home/uporabnik/.bashrc nastavi uporabni¹ke vzdevke in funkcije /home/uporabnik/.bash_profile ali /home/uporabnik/.profile nastavi uporabni¹ko okolje, za¾ene prog. Èe slednja datoteka obstaja (opazite, da je skrita datoteka), se bo prebrala in tolmaèila po prijavi. Za zgled si oglejmo ta .bash_profile: ______________________________________________________________________ # To je komentar echo Spremenljivke okolja: printenv | less # podobno kot ukaz SET pod DOS alias d='ls -l' # enostaven in razumljiv zgled, kaj so vzdevki alias up='cd ..' echo "Ponovimo, pot je "$PATH echo "Dana¹nji datum je `date`" # uporabimo izpis ukaza ,,date`` echo "Lep dan ¾elim, "$LOGNAME # Sledi funkcija ctgz() # Izpis vsebine arhivov .tar.gz { for file in $* do gzip -dc ${file} | tar tf - done } # Konec .profile ______________________________________________________________________ Pravilno ste uganili, $PATH in $LOGNAME sta spremenljivki okolja. ©e veè zanimivih je, preberite si priroènik za less in bash. Naslednja nastavitev v datoteki /etc/profile predstavlja pribli¾ek za nastavitev pozivnika PROMPT $P$G v DOS: export PS1="\w\\$ " 8.2. Programske inicializacijske datoteke V Linuxu si lahko takorekoè karkoli ukrojite po svojih potrebah. Veèina programov ima eno ali tudi veè inicializacijskih datotek, s katerimi lahko eksperimentirate. Navadno se inicializacijski datoteki za program moj_program pravi kar .moj_programrc in poèiva v domaèem imeniku. Prve, ki bodo verjetno pri¹le na vrsto za spreminjanje, so: * .inputrc: uporablja jo ukazna lupina bash za doloèanje pomena tipk * .xinitrc: prebere jo startx pri zagonu X Window System * .fvwmrc: uporablja jo upravljalnik oken fvwm * .joerc: uporablja jo urejevalnik joe * .jedrc: uporablja jo urejevalnik jed * .pinerc: uporablja jo program pine za delo z elektronsko po¹to * .Xdefault: uporabljajo jo mnogi programi za X11 Za vse na¹tete in vse ostale, na katere boste naleteli: preberite priroènik. Za konec mi dovolite, da vam priporoèim branje spisa Configuration HOWTO. Najdete ga na <http://www.linuxdoc.org/HOWTO/Config-HOWTO.html>. 9. Osnove povezave v omre¾ja Ne le, da je klicna povezava (angl. dialup networking) v internet dostopna tudi v Linuxu, ampak je tudi hitrej¹a in bolj stabilna. Vse o tem najdemo pod geslom ,,PPP``, ki je ime protokola za povezavo v internet prek modemov. Vse, kar potrebujete, je orodje, ki poklièe va¹ega ponudnika internetnih storitev (PIS) in vzpostavi povezavo. Elektronsko po¹to prena¹ate s stre¾nika svojega ponudnika internetnih storitev z programom, ki mu pravimo prina¹alnik epo¹te (angl. email fetcher). Ta za povezavo s stre¾nikom PIS uporabi protokol PPP. Ko je po¹ta prene¹ena, je enako, kot èe bi bila dostavljena neposredno na va¹ raèunalnik. S katerimkoli programom za branje po¹te (angl. mail user agent, MUA), npr. pine, mutt, elm itn. lahko zdaj po¹to prebiramo, odgovarjamo nanjo ipd. V Windows se klicna zveza vzpostavi avtomatièno, ko po¾enemo kak¹en program za delo z internetom. V Linuxu je obratno: najprej vzpostavimo zvezo, potem pa po¾enemo program. Programèek diald pa omogoèa tudi naèin dela, kot ste ga navajeni. Namestitev in ukrojitev omre¾ja na klic je bilo svojèas eno najte¾jih opravil, kar pa ne dr¾i veè. Veè podrobnosti je v ,,Configuration HOWTO`` Za konec ¹e beseda o ,,Omre¾ni sose¹èini``. Va¹ raèunalnik z Linuxom se lahko obna¹a enako kot raèunalniki z Windows NT/9x v krajevnem omre¾ju Microsoft Windows! Èude¾na beseda tu je Samba -- ne temperamentni brazilski ples, ampak izvedba protokola SMB za Linux. Veè o Sambi je na voljo na naslovu <http://samba.anu.edu.au/samba>. 10. Kanèek programiranja 10.1. Skripte: datoteke .BAT na steroidih Èe ste, tako kot pisec, uporabljali datoteke .BAT za to, da ste dolge ukazne vrstice nadomestili z bli¾njicami, ste medtem verjetno ¾e ugotovili, da gre na Linuxu to z vzdevki v datoteki .profile. Èe pa so bile va¹e datoteke .BAT bolj zapletene, boste gotovo navdu¹eni nad skriptnim jezikom, ki ga ponuja ukazna lupina. Vsaj tako moèan je kot stari dobri QBasic, èe ne bolj. Pozna spremenljivke, strukture kot while, for, case, if..then..else, in veliko drugih dobrot; lahko ga imamo za dobro alternativo ,,pravim`` programskim jezikom. Skript -- ekvivalent datoteki .BAT v DOS -- je enostavna tekstovna datoteka z ukazi, ki jo lahko napi¹emo s katerimkoli urejevalnikom, shranimo, in napravimo izvedljivo z ukazom chmod +x <moja_skript>. Po¾enemo ga enostavno tako, da vtipkamo njegovo ime. Majhno opozorilo. S sistemskim urejevalnikom vi ima veèina novih uporabnikov precej¹nje te¾ave. Tukaj ne bomo razlagali, kako se ga uporablja, bralec naj poi¹èe razlago v knjigi ,,Namestitev in zaèetek dela z Linuxom`` ali pa v priroènikih, ki so dostopni v internetu. Zadovoljiti se boste morali z najnujnej¹im: * Novo besedilo vnesemo tako, da pritisnemo tipko i in zaènemo z vna¹anjem * Znak pobri¹emo tako, da pritisnemo <ESC>, zatem pa x * Urejevalnik zapustimo, ne da bi shranili spremembe, s pritiskom na tipko <ESC>, zatem pa vtipkamo :q! * Shranimo in konèamo s pritiskom na <ESC>, zatem vtipkamo :wq. Dober urejevalnik za zaèetnike je joe. Èe ga poklièemo z imenom jstar, se obna¹a enako kot urejevalnik v DOS. jed v naèinu WordStar ali IDE je ¹e bolj¹i. O tem, kje najdete enega in drugega, se pouèite v razdelku ``Kje najdemo programe''. Pisanje skript v bash je tako obse¾na tema, da bi sama zahtevala celo knjigo. Tu se ne bomo veè spu¹èali v globine te teme, ampak bomo navrgli samo ¹e en primer skripte, iz katerega se lahko nauèite nekaj osnovnih pravil: ______________________________________________________________________ #!/bin/sh # zgled.sh # To je komentar # Ne spreminjajte prve vrstice! echo "Sistem: `uname -a`" # uporabimo izpis zunanjega ukaza uname echo "Tej skripti je ime $0" # vgrajene spremenljivke echo "Podali ste $# parametrov; ti so: "$* echo "Prvi parameter je: "$1 echo -n "Va¹e ime? " ; read ime echo Opazite razliko: "hi $ime" # dvojni narekovaji echo Opazite razliko: 'hi $ime' # enojni narekovaji DIRS=0 ; FILES=0 for file in `ls .` ; do if [ -d ${file} ] ; then # imenik? DIRS=`expr $DIRS + 1` # DIRS = DIRS + 1 elif [ -f ${file} ] ; then FILES=`expr $FILES + 1` fi case ${file} in *.gif|*jpg) echo "${file}: slika" ;; *.txt|*.tex) echo "${file}: besedilo" ;; *.c|*.f|*.for) echo "${file}: izvorna koda programa" ;; *) echo "${file}: druga datoteka" ;; esac done echo "Imenikov je ${DIRS}, datotek pa ${FILES}" ls | grep "ZxY--!!!WKW" if [ $? != 0 ] ; then # izhodna koda zadnjega ukaza echo "ZxY--!!!WKW not found" fi echo "dovolj... 'man bash' vam bo postregel z dodatnimi informacijami." ______________________________________________________________________ 10.2. C za vas V Unixu je sistemski jezik C, najsi vam je v¹eè ali ne. Na voljo pa je tudi kopica drugih jezikov: Java, Fortran, Pascal, Lisp, Perl, Awk... Ker verjamemo, da C ¾e znate, bomo tu le navedli nekaj napotkov za tiste, ki vas je razvadil Turbo C++ ali kaj sorodnega. Prevajalnik za C na Linuxu se imenuje gcc in ne vkljuèuje lepot, kot jih njegovi dvojniki v DOS: ne vsebuje integriranega okolja za delo, interaktivne pomoèi, integriranega razhro¹èevalnika in podobnega. Je res samo surovi prevajalnik, ki ga po¾enemo iz ukazne vrstice (kot prevajalnik pa je resda zelo moèan in uèinkovit). Obièajni programèek hello.c prevedemo z ukazom: $ gcc hello.c To bo proizvedlo izvedljiv program z imenom a.out. Èe ¾elimo izvedljiv program poimenovati kako drugaèe, lahko to navedemo v ukazni vrstici, npr.: $ gcc -o hola hello.c Èe bi radi v izvedljiv program povezali ¹e knji¾nico, dodamo izbiro -l<ime_knji¾nice>. Takole na primer pove¾emo program s standardno matematièno knji¾nico: $ gcc -o matemprog matemprog.c -lm (Izbira -l<nekaj> pove prevajalniku gcc, naj v izvedljiv program pove¾e ¹e knji¾nico /usr/lib/lib<nekaj>.a; tako -lm iz prej¹njega zgleda pove¾e knji¾nico /usr/lib/libm.a). To je takorekoè vse, kar boste potrebovali za prevajanje kratkih programèkov. Kadar pa pi¹ete dolg program, katerega izvorna koda je razbita v veè manj¹ih datotek, si boste precej olaj¹ali delo s programom make. Recimo, da pi¹ete razèlenjevalnik izrazov. Izvorna koda se imenuje parser.c in klièe deklaracije iz glav parser.h in xy.h. Funkcije, definirane v parser.c pa ¾elite uporabiti v drugem programu, recimo calc.c, ki prav tako prebere glavo parser.h. Kak¹na zme¹njava! Kaj morate torej napraviti, da prevedete calc.c? Kar morate napraviti, je napisati takoimenovani Makefile, ki vodi evidenco o odvisnostih med izvornimi ter prevedenimi datotekami. V na¹em primeru bi bila tak¹na: ______________________________________________________________________ # makefile za prevajanje calc.c # Vnesite <TAB> kjer je oznaèeno calc: calc.o parser.o <TAB>gcc -o calc calc.o parser.o -lm # Program calc je odvisen od dveh prevedenih datotek: calc.o in parser.o calc.o: calc.c parser.h <TAB>gcc -c calc.c # calc.o je odvisen od izvorne datoteke calc.c in glave parser.h parser.o: parser.c parser.h xy.h <TAB>gcc -c parser.c # parser.o je odvisen od izvorne datoteke parser.c in dveh glav # To je vse. ______________________________________________________________________ Shranite to datoteko pod imenom Makefile. Zdaj preprosto napi¹ete make, ki bo prevedel cel paket. Alternativno jo lahko shranite tudi pod drugaènim imenom, denimo calc.mak, le da boste to ime zdaj morali navesti kot parameter: make -f calc.mak. Veè o tem se boste nauèili ob branju priroènika. Tudi funkcije iz standardne knji¾nice imajo svoje strani v priroèniku, in sicer v tretjem poglavju. Zgled ka¾e, kako do navodil za funkcijo printf: $ man 3 printf Napake v programih lahko odpravljate z razhro¹èevalnikom gdb. Ukaz info gdb vas bo pouèil o podrobnostih. Programerju je na voljo zelo veliko ¹tevilo razliènih knji¾nic. Med prvimi, ki se jih boste morda ogledali, sta ncurses, ki podpira delo z znakovnim zaslonom, ter svgalib za delo v grafiènem naèinu. Mnogi urejevalniki se tudi lahko obna¹ajo kot integrirano okolje.emacs in jed, na primer, podpirata barvanje sintakse, zamikanje programske kode in podobno. Alternativa pa je paket rhide, ki ga lahko snamete z <ftp://metalab.unc.edu:/pub/Linux/devel/debuggers/>. Je kopija Borlandovega integriranega okolja, in precej verjetno je, da vam bo v¹eè. 10.3. Programiranje v oknih X Èe ste dovolj pogumni, da se boste lotili programiranja za X11 (ni tako zapleteno, koz se sprva zdi!), obstaja veè knji¾nic, ki pisanje programov za X11 znatno olaj¹ajo. Glavni mesti, ki ju boste ¾eleli obiskati, sta domaèa stran knji¾nice GTK+, <http://www.gtk.org>, in domaèa stranj knji¾nice Qt, <http://www.troll.no>. Knji¾nica GTK+, zasnovana za jezik C, obsega nabor grafiènih elementov, ki je bil prvotno uporabljen za grafièni paket GIMP <http://www.gimp.org>, zdaj pa ga uporablja tudi namizje GNOME. Kdeveloper, na drugi strani, temelji na knji¾nici Qt, prirejeni za delo s C++, in uporabljeni v namizju KDE. Najverjetneje boste uporabili eno od teh dveh knji¾nic. Nekatera najbolj¹a orodja za slikovno programiranje so Kdevelop za Qt, <http://www.kdevelop.org>, in Glade za GTK+, <http://glade.pn.org>. Veè informacij najdete tudi na strani <http://www.free-soft.org/guitool/>. 10.3.1. Programiranje za veè strojnih okolij Kaj ne bi bilo sijajno, èe bi lahko pisali programe, ki bi se s prevajalnikom gcc brez sprememb prevedli tako v Linuxu kot v Windows? V èasu tega pisanja obstaja nekaj kolikor toliko stabilnih naborov grafilènih elementov, ki delujejo v veè okoljih. Èe kot prioriteti postavimo stabilnost in popolnost, se izbor bolj ali manj zo¾i na eni samo ime: FLTK, Fast Light Tool Kit <http://www.fltk.org>. Presenetljivo majhen, hiter in stabilen je. Ima tudi delno vizualni sestavljalnik programov, imenovan Fluid. 11. Preostali 1% Pravzaprav veè kot le 1%... 11.1. Poganjanje programov za DOS/Windows Da, do neke mere lahko v Linuxu poganjamo tudi programe, pisane in prevedene za DOS ali Windows! Dva razmeroma dobra emulatorja obstajata, Dosemu <http://www.dosemu.org/> in WINE <http://www.winehq.com/>. Slednji je iz izdaje v izdajo bolj¹i, in seznam programov, ki teèejo v njem, je vse dalj¹i. Med njimi sta tudi Microsoft Word in Excel. 11.2. Arhiviranje datotek: tar in gzip Programa tar in gzip sta standardno uporabljana programa za arhiviranje in stiskanje datotek v Unixu. Prvi slu¾i za izdelavo arhivov -- podobno kot PKZIP ali Winzip, le da arhiva ne stisne. Nov arhiv ustvarimo takole: $ tar -cvf <arhuvska_datoteka.tar> <datoteka> [datoteka...] Iz arhiva izlu¹èimo posamezno datoteko ali veè datotek: $ tar -xpvf <arhivska_datoteka.tar> [datoteka...] Vsebino arhiva izpi¹emo z ukazom: $ tar -tf <arhivska_datoteka.tar> | less Arhiv (ali kakr¹nokoli drugo datoteko) lahko stisnemo s programoma compress ali gzip. Drugi je novej¹i in precej bolj uèinkovit pri stiskanju, zato uporabo prvega odsvetujemo. $ compress <datoteka> $ gzip <datoteka> Rezultat je stisnjena datoteka, ki ima bodisi pripono .Z (compress) ali .gz (gzip). Nobeden od njiju ni arhivski program in stisneta le po eno datoteko naenkrat. Stisnjene datoteke razpnemo z obratnima ukazoma: $ compress -d <datoteka.Z> $ gzip -d <datoteka.gz> Veè o enem in drugem preberite v priroèniku. Obstajajo tudi programi unarj, zip in unzip. Slednja sta povsem zdru¾ljiva s parom PKZIP/PKUNZIP. Arhivske datoteke s pripono .tar.gz ali .tgz so v svetu Unixa enako pogoste kot datoteke .ZIP v svetu DOS. Gre za datoteke, ki so bile najprej arhivirane s programom tar, zatem pa ¹e stisnjene s programom gzip. Vsebino stisnjene arhivske datoteke si ogledamo tako, da progranu tar dodatno podamo ¹e izbiro -z: $ tar ztf <datoteka.tar.gz> | less 11.3. Name¹èanje dodatnih programov Najprej in predvsem: name¹èanje dodatnih programov je delo sistemskega skrbnika. Veèina programskih paketov za Linux je dostopnih kot arhiv .tar.gz. Arhiv navadno vsebuje podimenik z imenom programskega paketa, ta pa vsebuje vse datoteke in eventuelne podimenike. Dodatne programe navadno name¹èamo v imenik /usr/local. Arhiv razpakiramo z ukazom: # tar zxf <arhiv.tar.gz> Navodila za namestitev so navadno v datoteki README ali INSTALL. Dostikrat je programski paket na voljo le kot izvorna koda, kar pomeni, da ga morate najprej prevesti. Navadno gre to enostavno z zaporedjem ukazom ./configure, make in make install. Za prevajanje seveda potrebujete prevajalnik gcc ali g++. Drugi arhivi morajo biti razpakirani iz korenskega imenika /; tak¹ni arhivi so recimo Slackware (.tgz). Spet tretji ne vsebujejo podimenika, ampak se datoteke razpakirajo kar v trenutnem imeniku. Vedno je pametno prej z izbiro -t izpisati vsebino arhiva, preden ga z izbiro -x v resnici razpakiramo. Distribucije Debian, Red Hat in druge uporabljajo lasten arhivski format; prva .deb, ostale dve .rpm. Posebno drug format je precej raz¹irjen; tak¹ne pakete namestimo enostavno z ukazom: # rpm -i paket.rpm 11.4. Nasveti brez katerih ne gre Pomikanje nazaj po izpisu: pri izpisovanju na zaslon se dostikrat zgodi, da je tisto zanimivo ravnokar izginilo na vrhu zaslona. Nekaj zadnjih strani izpisa (koliko, je odvisno od grafiène kartice) je kljub vsemu ¹e shranjeno, do njih pridete s pritiskom na tipki <SHIFT>+<PAGE UP>. Vrnitev zaslona v normalno stanje: èe ste na zaslon s programoma more ali cat izpisali kak¹no èudno, recimo binarno, datoteko, je zaslon lahko ostal v neuporabnem stanju. Poskusite na slepo natipkati reset ali pa naslednji niz znakov: echo CTRL-V ESC c RETURN. Odre¾i in prilepi: za znakovni zaslon glej spodaj; v X11 kliknite in povlecite mi¹ko, da oznaèite (pobarvate) besedilo, potem kazalèek prestavite na ¾eljeno mesto in pritisnite srednji gumb na mi¹ki (ali levega in desnega hkrati, èe imate mi¹ z dvema gumboma). Obstaja tudi odlagali¹èe xclipboard (kamor lahko odlagamo samo besedilo); naj vas pri njem ne zmede zelo dolg odzivni èas. Mi¹ka in znakovni zaslon: èe ste namestili paket gpm, gonilnik za mi¹ko za znakovni zaslon, lahko z klikom in potegom oznaèite besedilo, s klikom na desni gumb pa ga prenesete na nov kraj. Deluje tudi prek veè virtualnih konzol. Sporoèila jedra operacijskega sistema: v datoteko /var/adm/messages (ali /var/log/messages) se zapisujejo sporoèila jedra, vkljuèno z izpisom ob zagonu. Tudi ukaz dmesg je uporaben. 11.5. Kje najdemo programe Èe vas skrbi, kje boste na¹li nadomestila za svoje stare programe z DOS/Windows, vam svetujemo, da se najprej obrnete na glavni arhiv programja za Linux: <ftp://metalab.unc.edu/pub/Linux>. Druga imenitna zaèetna mesta so ,,Linux Applications and Utilities Page`` na <http://www.xnet.com/~blatura/linapps.shtml>, ,,uradna`` stran Linuxa <http://www.linux.org> ter <http://freshmeat.net>. 11.6. Sladkorèki Na Linuxu lahko poèenjate cel kup stvari, ki jih je bilo nerodno, te¾ko ali pa sploh nemogoèe izvesti pod DOS/Windows. Tole je kratek seznam; le toliko, da dobite okus: * Ukaz at omogoèa izvajanje ukazov ob doloèenem èasu * awk je preprost, a moèan jezik za delo s podatkovnimi datotekami (in ne samo z njimi). Èe je podatki.dat tabela s podatki, lahko z naslednjim enovrstiènim programèkom izpi¹ete prvo in èetrto polje vseh tistih zapisov, ki v drugem polju vsebujejo niz ,,abc``: $ awk '$2 ~ "abc" {print $1, "\t", $4}' podatki.dat * Ukaz cron je uporaben za izvajanje periodiènih opravil (ob danem dnevu in/ali uri). Glejte man 5 crontab za podrobnosti. * Ukaz file <datoteka> poskusi uganiti zvrst datoteke (besedilo, program, arhiv ipd.). * Ukaz find (glejte tudi razdelek ``Imeniki: vzporedba ukazov'') je eden najmoènej¹ih in najbolj uporabnih. Uporablja se za iskanje datotek, ki zado¹èajo navedenim pogojem, obenem pa lahko na njih tudi delujemo. Splo¹na skladnja ukaza je: $ find <imenik> <izraz> kjer <izraz> vkljuèuje pogoje iskanja ter delovanje na najdene datoteke. Primeri: $ find . -type l -exec ls -l {} \; poi¹èe vse datoteke, ki so simboliène povezave, in izpi¹e, kam ka¾ejo. $ find / -name "*.old" -ok rm {} \; poi¹èe vse datoteke s pripono .old in jih pobri¹e, pri vsaki pa vpra¹a za potrditev. $ find . -perm +111 poi¹èe vse izvedljive datoteke. $ find . -user root poi¹èe vse datoteke, katerih lastnik je root. Mo¾nosti je ¹e veliko, oglejte si priroènik. * Ukaz grep poi¹èe regularne izraze (seveda tudi enostavne nize) v datotekah. Spodnji primer prei¹èe vse datoteke s pripono .tex v trenutnem imeniku in izpi¹e tiste, v katerih nastopa niz ,,geolo¹k*``: geolo¹ka, geolo¹kega, geolo¹kim... $ grep -l "geolo¹k*" *.tex Izvedba zgrep deluje na datotekah, stisnjenih z gzip. * Regularni izraz so navidez zapleten, vendar hudirjevo moèan naèin za iskanje po besedilih. Naslednji regularni izraz, ^a[^a- m]X{4,}txt$ poi¹èe vse vrstice, ki zado¹èajo naslednjim pogojem: zaènejo se z ,a`, temu sledi katerikoli znak razen èrk z intervala a-m, temu sledijo ¹tiri ali veè èrk X, in se konèajo s ,,txt``. Regularne izraze poznajo vsi spodobni urejevalniki, less, in mnogi drugi programi. man grep vam lahko slu¾i kot uvod v regularne izraze. * Ukaz script <dnevnik> pi¹e dnevni¹ko datoteko komunikacije uporabnik-raèunalnik v navedeno datoteko, dokler ne vtipkamo ukaza exit. Uporabno pri odkrivanju napak. * Ukaz sudo selektivno dovoljuje uporabnikom nekatera opravila, ki so sicer dovoljena samo sistemskemu skrbniku, npr. formatiranje in priklapljanje diskov. Preberite priroènik za dodatne informacije. * Ukaz uname -a izpi¹e osnovne informacije o sistemu. * Ukaza zcat in zless sta uporabna za pregledovanje stisnjenih datotek, ne da bi jih zares dekomprimirali. Uporabimo jih lahko tudi pri nizanju ukazov. Zgled: $ zless textfile.gz $ zcat textfile.gz | lpr * Naslednji ukazi tudi lahko kdaj pridejo prav: 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. Preberite ustrezne strani priroènika. 11.7. Trening Unixa v DOS Èe verjamete ali ne, tudi za DOS in Windows obstajajo imenitna orodja, ki ponujajo okolje, podobno Unixu. Eno je zbirka DJGPP <http://www.delorie.com/djgpp/> za DOS, medtem ko je Cygwin <http://cygwin.com/> nekoliko popolnej¹i nabor, ki pa deluje samo v okolju Win32. Eden in drugi ponujata enake pripomoèke in razvojna orodja GNU kot Linux, seveda pa ne prièakujte enake stabilnosti sistema ali hitrosti. Èe bi radi poskusili, pribli¾no kak¹no je ¾ivljenje v Linuxu, poskusite DJGPP. Snemite in prenesite naslednje datoteke (v èasu pisanja tega prevoda je zadnja izdaja 2.03): djdev203.zip, bnu2951.zip, bsh204b.zip, fil40b.zip, find41b.zip, grep24b.zip, gwk306b.zip, lss358b.zip, shl112b.zip. Pakete spremljajo navodila za namestitev, dodatno pomoè pa najdete v novièarski skupini <news:comp.os.msdos.djgpp>. ©e posebej uporaba ukazne lupine bash je prijetna osve¾itev v DOS/Windows. Nastavite jo tako, da popravite prilo¾eno datoteko BOOT.BAT tako, da bo primerna za va¹o namestitev. Potem prepi¹ite obstojeèe datoteke v domaèi imenik v razdelku DOS z naslednjimi: # to 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 ..' # to je _bprof if [ -f ~/_bashrc ]; then . ~/_bashrc fi PS1='\w\$ ' PS2='> ' CDPATH="$CDPATH:~" # spremenljivke, ki jih potrebuje less(1) LESS="-M-Q" # dolgi pozivnik, tiho delovanje LESSEDIT="%E ?lt+%lt. %f" # urejaj zgornjo vrstico VISUAL="jed" # urejevalnik LESSCHARSET=latin1 # prika¾i ne-ASCII znake export PS1 PS2 CDPATH LS_OPTIONS LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET 11.8. Pripone imen datotek in programi, ki jih uporabljajo Pri imenih datotek ste morda naleteli na celo kopico razliènih pripon. Èe izpustimo nekatere bolj eksotiène (datoteke s pisavami in podobno), naslednja tabela podaja, kaj je kaj. * 1 ... 8: sestavki referenènega priroènika (angl. man pages). Uporablja jih program man. * arj: arhivi, napravljeni s programom arj. * dvi: izhodna datoteka, ki jo izdela TeX (glejte spodaj). Prika¾ete jo s programom xdvi, s programom dvips pa jo lahko odtisnete ali pa predelate v format PostScript (pripona .ps). * gz: stisnjena datoteka; razpnemo jo z ukazom gzip -d. * info: hipertekstna datoteka informacijskega sistema GNU texinfo. Prika¾ete jo s programom info. * lsm: datoteka Linux Software Map. Navadna besedilna datoteka z opisom programskega paketa. * ps: datoteka v formatu PostScript. Prika¾emo ali odtisnemo jo s paketom GhostScript (ukaz gs) in, neobvezno, ghostview ali gv. * rpm: paket Red Hat. Namestite ga z namestitvenim programom rpm. * taz, tar.Z: arhivska datoteka izdelana s programom tar in stisnjena s programom compress. * tgz, tar.gz: arhivska datoteka izdelana s programom tar in stisnjena s programom gzip. * tex: izvorna datoteka za stavni sistem TeX. Namestite paket tex, ki je na voljo v mnogih distribucijah. Paket je precej obse¾en. * texi: izvorna datoteka za dokumentacijski sistem GNU texinfo, iz katere lahko pridelamo datoteko .tex in interaktivno hipertekstno datoteko .info. Potrebujete paket texinfo. * xbm, xpm, xwd: bitne slike. Prikazujete in popravljate jih lahko s programom xpaint. * Z: datoteka, stisnjena s programom compress. 11.9. Pretvorba datotek Pri izmenjavi besedilnih datotek med okolji DOS/Windows in Linux pazite na dejstvo, da sistema zakljuèujeta vrstice na razlièen naèin. V DOS se vsaka vrstica zakljuèi z dvema znakoma, CR/LF (Carriage Return/Line Feed; pomik na zaèetek vrstice, skok v novo vrstico; kodi ASCII 13 in 10), pod Linuxom pa samo z LF. Datoteke z DOS zato na Linuxu izgledajo okrancljane z znaki ^M na koncu vsake vrstice; obratno pa datoteke z Linuxa DOS razume kot eno samo kilometrsko vrstico. Orodja kot so dos2unix in unix2dos prevajajo iz enega formata v drugega. Za zapis na¹ih znakov se uporablja kar nekaj razliènik kodnih razporedov. Pod DOS se najveè uporablja CP852 ali stari sedembitni standard JUS I.B1.002, pod Windows CP1250, na Linuxu pa ISO 8859-2 (Latin 2). Med razliènimi kodnimi nabori lahko pretvarjate z orodjem recode. 11.10. Prosti pisarni¹ki paketi Da tudi ti obstojajo! StarOffice <http://www.sun.com/staroffice> je trenutno najbolj zrel in popoln pisarni¹ki paket. Hitro pa poteka tudi razvoj paketa Koffice <http://www.koffice.org>. StarOffice je velikanski in poèasen, vseeno pa èisto dober. Ponuja nekatere lastnosti, ki jih v Microsoft Office ni. Poleg tega lahko prebira tudi datoteke, ki jih zapi¹eta Word in Excel, èeravno pretvorba ni vedno popolna. Drug dostojen urejevalnik je Corel WordPerfect; prosto izdajo je moè sneti z interneta. Je sploh treba povedati ¹e kaj veè? Tu je: <http://www.corel.com>. 12. Konec, za zdaj Èestitamo! Zdaj imate ¾e nekaj pojma o Unixu in lahko zaènete z delom. Zavedajte pa se, da je va¹e poznavanje sistema za zdaj ¹e vedno omejeno, in da potrebujete veè prakse, preden se boste v Linuxu poèutili kot doma. Èe pa je va¹ namen le, da se nauèite katerega od uporabni¹kih programov, s katerimi boste delali, pa je tukaj zapisano za najosnovnej¹e poznavanje sistema ¾e èisto dovolj. Preprièan sem, da boste u¾ivali ob Linuxu in se nauèili vse veè in veè o njem -- tako kot vsi. Stavim tudi, da se ne boste nikoli veè vrnili nazaj v DOS in Windows. Nazadnje upam, da je zapisano jasno povedano, in da je bilo v pomoè vsem trem ali ¹tirim bralcem, ki so se prebili do tod. 12.1. Copyright Copyright (c) Guido Gonzato, ggonza@tin.it. Ta spis lahko raz¹irjate skladno s pogoji, navedenimi v dovoljenju za uporabo LDP, dostopnem na naslovu <http://www.linuxdoc.org/COPYRIGHT.html>, z dodatnim pogojem, da ga ni dovoljeno raz¹irjati v spremenjeni obliki brez avtorjevega privoljenja. Priredil in prevedel v sloven¹èino ga je Primo¾ Peterlin, primoz.peterlin@biofiz.mf.uni-lj.si. Z morebitnimi vpra¹anji se obrnite na domaèo stran projekta LDP (Linux Documentation Project), <http://www.linuxdoc.org>. 12.2. Pravni poduk Ta spis je ponujen tak¹en, kot je. Veliko napora je bilo vlo¾enega v to, da bi bila zapisana informacija èimbolj a¾urna in toèna, vendar pa jo uporabljate izkljuèno na lastno odgovornost. Ne pisec in ne prevajalec ne odgovarjata za kakr¹nokoli ¹kodo, ki bi morebiti sledila iz uporabe tega dela. Pisec se zahvaljuje Mattu Welshu, avtorju ``Linux Installation and Getting Started'', Ianu Jacksonu, avtorju ``Linux frequently asked questions with answers'', Giuseppu Zanettiju, avtorju italijanske knjige ``Linux'', vsem, ki so mi po elektronski po¹ti poslali predloge, posebej pa Linusu Torvaldsu in skupini GNU, ki so nam dali Linux. Odziv -- pro¹nje, predlogi, opljuvanja in podobno -- je vedno dobrodo¹el. U¾ivajte Linux, u¾ivajte ¾ivljenje, Guido =8-)