From DOS/Windows to Linux HOWTO - Swedish Version
 By Guido Gonzato, [email protected] Svensk
 �vers�ttning: Linus �kerlund, [email protected]
 v1.3.0, 15 April 1998. Svensk �vers�ttning, 4 juni 1998

 Den h�r HOWTOn �r till�gnad alla de (snart f�re detta?) DOS- och Win�
 dows-anv�ndare som just har tagit steget och best�mt sig f�r att byta
 till Linux, den fria UNIX-klonen. Givet likheterna mellan DOS och
 UNIX, s� �r syftet med detta dokument att hj�lpa l�saren att f�ra �ver
 sina kunskaper om DOS och Windows till Linux-milj�n, f�r att kunna bli
 produktiv s� fort som m�jligt.
 ______________________________________________________________________

 Inneh�llsf�rteckning




















































 1. Inledning

    1.1 �r Linux r�tt f�r dig?
    1.2 Det �r det. Ber�tta mera
       1.2.1 Inledande kommentarer
       1.2.2 Skaffa hj�lp
    1.3 Konventioner
    1.4 �vers�ttarens anm�rkningar

 2. F�r de ot�liga

 3. Filer och program

    3.1 Filer: inledande anm�rkningar
    3.2 Symboliska l�nkar
    3.3 R�ttigheter (permissions) och �garskap
    3.4 Filer: �vers�ttning av kommandon fr�n DOS till Linux
       3.4.1 Exempel
    3.5 K�ra program: multitasking och sessioner
    3.6 K�ra program p� avl�gsna datorer

 4. Anv�nda kataloger

    4.1 Kataloger: inledande anm�rkningar
    4.2 Katalog-r�ttigheter
    4.3 Kataloger: �vers�tta kommandon fr�n DOS till Linux
       4.3.1 Exempel

 5. Floppy-diskar, h�rddiskar och liknande

    5.1 Administrera enheter p� DOS-s�ttet
    5.2 Administrera enhter p� UNIX-s�ttet
    5.3 Ta s�kerhets-kopior

 6. Windows d�?

 7. Skr�ddarsy systemet

    7.1 Systemets initierings-filer
    7.2 Programs initierings-filer

 8. Lite programmering

    8.1 Skal-program: .BAT-filer p� anabola
    8.2 C sj�lv

 9. Den �terst�ende 1%

    9.1 Anv�nda tar & gzip
    9.2 Installera program
    9.3 Tips du inte klarar dig utan
    9.4 Var du kan hitta program
    9.5 N�gra saker du inte kunde g�ra
    9.6 Vanliga fil�ndelser och relaterade program
    9.7 Konvertera filer

 10. Slutet, f�r tillf�llet

    10.1 Upphovsr�tt
    10.2 Tillk�nnagivanden


 ______________________________________________________________________



 1.  Inledning



 1.1.  �r Linux r�tt f�r dig?

 S� du vill byta fr�n DOS/Windows till Linux? Bra id�, men akta dig:
 det kanske inte �r anv�ndbart f�r dig. Enligt min �sikt finns det
 inget s�dant som "den b�sta datorn" eller "det b�sta
 operativsystemet": det beror p� vad man ska g�ra. Det �r d�rf�r jag
 inte tror att Linux �r det b�sta l�sningen f�r alla, �ven om det,
 tekniskt sett, �r �verl�gset m�nga kommersiella operativsystem. Du
 kommer att tj�na en enorm massa p� att anv�nda Linux, om du beh�ver
 mjukvara f�r programmering, Internet, TeX... teknisk mjukvara i
 allm�nhet, men om du mest beh�ver kommersiell mjukvara, eller om du
 inte k�nner f�r att l�ra dig att skriva kommandon, leta n�gon
 annanstans.

 Linux �r inte (nu) s� enkelt att anv�nda och konfigurera som Windows
 eller Mac, s� f�rbered dig p� att "hacka" en del. Trots dessa
 varningar, l�t mig p�peka att jag �r 100% s�ker p� att om du tillh�r
 den r�tta anv�ndar-typen s� kommer Linux att bli ditt dator-Nirvana.
 Det �r upp till dig. Och kom ih�g att Linux + DOS/Windows kan
 samexistera p� en och samma maskin, i alla fall.

 F�ruts�ttningar f�r den h�r HOWTOn, jag kommer att anta att


 �  du k�nner till de grundl�ggande DOS-kommandona och -koncepten;

 �  Linux, eventuellt med X-Window-systemet, �r korrekt installerat p�
    din  PC;

 �  ditt skal---motsvarigheten till COMMAND.COM---�r bash.

    Notera att, om inte annat anges, s� �r all information i det h�r
    dokumentet riktad mot det "gamla d�liga DOS". Det finns ett avsnitt
    om Windows, men kom ih�g att Windows och Linux �r helt och h�llet
    olika, i motsats till DOS, som ett slags s�mre sl�kting till UNIX.
    L�gg ocks� m�rke till att det h�r dokumentet varken �r en komplett
    inledning, och ej heller en konfigurerings-handledning!


 1.2.  Det �r det. Ber�tta mera

 Du installerade Linux och de program du beh�vde p� din PC. Du gav dig
 sj�lv ett anv�ndarkonto (om du inte gjorde det, skriv adduser nu!)
 och Linux fungerar. Du har just skrivit in ditt anv�ndarnamn och
 l�senord, och nu tittar du p� sk�rmen och t�nker: "Jaha, vad ska jag
 g�ra nu?"

 F�rtvivla inte. Du �r n�stan f�rdig att g�ra samma saker som du f�rut
 gjorde i DOS/Win, och en hel del till. Om du k�rde DOS/Win ist�llet
 f�r Linux, skulle du h�lla p� med n�gra av f�ljande saker:


 �  k�ra program och skapa, kopiera, titta p�, ta bort, skriva ut,
    �ndra namn p� filer;

 �  CD-a, MD-a, RD-a och DIR-a dina kataloger;

 �  formattera disketter och kopiera filer till och fr�n dem;

 �  skr�ddarsy systemet;


 �  skriva .BAT-filer och program i ditt favorit-spr�k;

 �  den �terst�ende 1%.

 Du kommer bli l�ttad n�r du inser att dessa saker kan �stadkommas
 under Linux, p� ett s�tt som i mycket p�minner om DOS. Under DOS
 anv�nder den genomsnittlige anv�ndaren v�ldigt f� av de mer �n hundra
 tillg�ngliga kommandona: detsamma g�ller, till en del, �ven f�r Linux.


 1.2.1.  Inledande kommentarer

 Det b�sta s�ttet att l�ra sig n�got �r att g� in i det. Du uppmanas
 starkt att experimentera och leka med Linux: du kan inte skada
 systemet p� det s�ttet. N�gra p�pekande:


 �  f�rst, hur du tar dig ur det. F�r att avsluta Linux: om du ser en
    textl�ges-sk�rm, tryck CTRL-ALT-DEL, v�nta p� att systemet fixar
    till sitt innanm�te och upplyser dig om att allt �r okej och st�ng
    sedan av din PC. Om du arbetar under X-Window-systemet, tryck f�rst
    CTRL- ALT-BACKSPACE, sedan CTRL-ALT-DEL. Sl� aldrig av eller
    "resetta" din PC direkt: det kan skada ditt filsystem;


 �  i motsats till DOS s� har Linux inbyggda s�kerhets-mekanismer,
    p.g.a.  sin fleranv�ndar-natur. Filer och kataloger har r�ttigheter
    (permissions), och d�rf�r kan vissa av dem inte tillg�s av den
    vanlige anv�ndaren; (see avsnittet ``R�ttigheter och �garskap'').
    DOS, � andra sidan, l�ter dig ta bort hela inneh�llet p�
    h�rddisken;

 �  det finns en speciell anv�ndare, som kallas "root": system-
    administrat�ren, med fulla f�rm�gar att ge liv �t eller ta d�d p�
    maskinen. Om du arbetar p� din egen PC, s� kommer du vara root
    ocks�.  Att arbeta som root �r farligt: vilket misstag som helst
    kan skada eller f�rst�ra systemet, precis som i DOS/Win. Arbeta
    inte som root om det inte �r absolut n�dv�ndigt;

 �  mycket av komplexiteten hos Linux kommer fr�n dess extrema
    konfigurabilitet: i stort sett varje funktion och varje applikation
    kan st�llas in genom en eller flera konfigurerings-filer.
    Komplexitet �r priset man betalar f�r kraft;

 �  omdirigering och "piping" �r en sido-funktion under DOS, en v�ldigt
    viktig s�dan, och mycket mera kraftfull, under Linux. Enkla
    kommandon kan bindas samman f�r att �stadkomma komplicerade saker.
    Jag f�resl�r att du l�r dig hur du kan anv�nda dem.



 1.2.2.  Skaffa hj�lp


 Det finns m�nga s�tt att f� hj�lp med Linux. De viktigaste �r:


 �  l�s dokumentationen---jag menar det. �ven om HOWTOn du l�ser kan
    fungera som en introduktion till Linux, s� finns det flera b�cker
    som du verkligen b�r l�sa: Matt Welsh "Linux installation and
    getting started" (  <http://sunsite.unc.edu/mdw/LDP/gs/gs.html> ),
    Larry Greenfields "Linux user guide" (
    <ftp://sunsite.unc.edu/pub/Linux/docs/linux-doc-project/users-
    guide>), och Linux FAQ ( <http://sunsite.unc.edu/mdw/FAQ/Linux-
    FAQ.html>).  Du kan f� ha d�ligt samvete tills du �tminstone har
    l�st en av dem;
 �  dokumentationen till de paket som finns installerade p� din maskin
    finns oftast i underkataloger under /usr/doc/;

 �  f�r att f� en del hj�lp om de "interna kommandona", skal-
    kommandona, skriv help eller, �nnu b�ttre, man bash eller info
    bash;

 �  f�r att f� hj�lp om ett kommando, skriv man kommando, vilket
    plockar fram manualen ("man-sidan") om kommando. Alternativt kan du
    skriva info kommando, vilket anropar, om den finns, info-sidan om
    kommando. Info �r ett hypertext-baserat dokumentations-system,
    kanske inte s� intuitivt i b�rjan. Slutligen kan du pr�va apropos
    kommando eller whatis kommando. Med alla de h�r kommandona kan du
    trycka "q" f�r att avsluta.



 1.3.  Konventioner


 Genom det h�r verket kommer exemplen att f�lja detta format: <...> �r
 ett argument som kr�vs, medan

 [...]


 Exempel:



      $ tar -tf <fil.tar> [> omdir_fil]




 fil.tar m�ste anges, men omdirigering till omdir_fil �r valfritt.

 "LMS" betyder "var v�nlig l�s man-sidan f�r mer information". Jag kan
 inte tillr�ckligt understryka hur viktigt det �r att l�sa
 dokumentation.

 N�r prompten i ett kommando-exempel �r "#", s� kan kommandot endast
 utf�ras av root.


 1.4.  �vers�ttarens anm�rkningar

 Uppdaterade dokumentet 13/11-98, genom att byta ut �vers�ttningen av
 "permissions" till "r�ttigheter", ist�llet f�r det s�mre "till�telser"



 2.  F�r de ot�liga


 Vill du k�ra ig�ng p� direkten? Ta en titt p� den h�r tabellen:










 DOS                   Linux                 Anm�rkningar
 ------------------------------------------------------------------------------

 BACKUP                tar -Mcvf enhet kat/  helt annorlunda
 CD katnamn\           cd katnamn/           n�stan samma syntax
 COPY fil1 fil2        cp fil1 fil2          dito
 DEL fil               rm fil                varning - ingen "undelete"
 DELTREE katnamn       rm -R katnamn/        dito
 DIR                   ls                    inte riktigt samma syntax
 DIR fil /S            find . -namn fil      helt annorlunda
 EDIT fil              vi fil                tror inte du kommer gilla det h�r
                       emacs fil             det h�r �r b�ttre
                       jstar fil             k�nns som DOS edit
 FORMAT                fdformat,
                       mount, umount         ganska annorlunda syntax
 HELP kommando         man kommando          samma filosofi
 MD katnamn            mkdir katnamn/        n�stan samma syntax
 MOVE fil1 fil2        mv fil1 fil2          dito
 NUL                   /dev/null             dito
 PRINT fil             lpr fil               dito
 PRN                   /dev/lp0,
                       /dev/lp1              dito
 RD katnamn            rmdir katnamn/        n�stan samma syntax
 REN fil1 fil2         mv fil1 fil2          inte med flera filer
 RESTORE               tar -Mxpvf enhet      annorlunda syntax
 TYPE fil              less fil              mycket b�ttre
 WIN                   startx                enorm skillnad!




 Om du beh�ver mer �n en tabell med kommandon, forts�tt l�sa.


 3.  Filer och program



 3.1.  Filer: inledande anm�rkningar


 Linux har ett filsystem, vilket betyder "katalog-strukturen och
 filerna i den", som liknar DOS v�ldigt mycket. Filer har filnamn som
 f�ljer vissa regler, lagras i kataloger, vissa �r k�rbara och vissa av
 dem har har kommando-parametrar. Vidare kan du anv�nda "wildcard-
 tecken", omdirigering och "piping". Det finns bara n�gra sm�
 skillnader:


 �  under DOS �r filnamnen i s� kallat 8.3-format; t.ex. NOTENOUG.TXT.
    Under Linux har vi det b�ttre. Om du installerade Linux, med ett
    fil- system som ext2 eller umsdos, s� kan du anv�nda l�ngre filnamn
    (upp till 255 tecken) och med mer �n en punkt i dem: t.ex.
    This_is.a.VERY_long.filename. Observera att jag anv�nde b�de stora
    och sm� bokst�ver: faktiskt...

 �  s� �r det s� att stora och sm� bokst�ver i filnamn �r annorlunda.
    FILENAME.tar.gz och filename.tar.gz �r d�rf�r tv� olika filer.  ls
    �r ett kommando, LS �r en felskrivning;

    o Windows 95-anv�ndare kommer naturligtvis att vilja anv�nda l�nga
    fil- namn under Linux. Om ett filnamn inneh�ller mellanslag (vilket
    inte rekommenderas, men �r m�jligt), s� m�ste du innesluta
    filnamnet i citationstecken n�r du vill referera till det. T.ex.:


 $ # f�ljande kommando skapar en katalog som heter "Mina gamla filer"
 $ mkdir "Mina gamla filer"
 $ ls
 Mina gamla filer    bin     tmp





 Vidare s� finns det vissa tecken som inte b�r anv�ndas: n�gra av dessa
 �r !*$&.

 �  det finns inga obligatoriska fil�ndelser som .COM och .EXE f�r
    program, eller .BAT f�r batch-filer. K�rbara filer �r markerade med
    en asterisk,* , p� slutet av namnet, n�r du k�r kommandot ls -F.
    T.ex.:



      $ ls -F
      I_am_a_dir/   cindy.jpg    cjpg*   letter_to_Joe    my_1st_script*  old~





 Filerna cjpg* och my_1st_script* �r k�rbara; "program". Under DOS slu�
 tar s�kerhetskopiornas namn med .BAK, medan de under Linux slutar med
 ett tilde, "~", som g�mda filer. Exempel: filen .I.am.a.hidden.file
 dyker inte upp efter ls-kommandot;

 �  parametrar till DOS-program skrivs som /parameter, medan Linux
    anv�nder -parameter eller --parameter. Exempel: dir /s blir ls -R.
    Observera att m�nga DOS-program, som PKZIP och ARJ, anv�nder UNIX-
    liknande parametrar.

    Du kan nu g� vidare till avsnitten ``�vers�tta kommandon fr�n DOS
    till Linux'', men om jag var du skulle jag l�sa vidare.


 3.2.  Symboliska l�nkar

 UNIX har en filtyp som inte existerar under DOS: den symboliska
 l�nken.  Du kan t�nka p� den som en pekare till en fil eller en
 katalog, och den kan anv�ndas ist�llet f�r filen eller katalogen den
 pekar p�; det liknar genv�garna i Windows 95. Exempel p� symboliska
 l�nkar �r /usr/X11, vilken pekar p� /usr/X11R6, och /dev/modem, vilken
 pekar p� antingen /dev/cua0 eller /dev/cua1.

 F�r att skapa en symbolisk l�nk:



      $ ln -s <fil_eller_katalog> <l�nknamn>




 Exampel:



      $ ln -s /usr/doc/g77/DOC g77manual.txt



 Nu kan du h�nvisa till g77manual.txt ist�llet f�r /usr/doc/g77/DOS.
 L�nkar ser ut s� h�r i katalog-listningar:



      $ ls -F
      g77manual.txt@
      $ ls -l
      (diverse saker...)           g77manual.txt -> /usr/doc/g77/DOC






 3.3.  R�ttigheter (permissions) och �garskap

 DOS-filer och -kataloger har f�ljande attribut: A (arkiv), H (dolda),
 R (endast l�sbara) och S (system). Endast H och R finns under Linux:
 dolda filers namn b�rjar med en punkt, och f�r R-attributet, l�s
 vidare.

 Under UNIX har en fil "r�ttigheter" och en �gare, som i sin tur till-
 h�r en "grupp". Titta p� det h�r exemplet:



      $ ls -l /bin/ls
      -rwxr-xr-x  1  root  bin  27281 Aug 15 1995 /bin/ls*




 Det f�rsta f�ltet inneh�ller r�ttigheterna f�r filen /bin/ls, vilken
 tillh�r root, gruppen �r bin. Om vi bortser fr�n den �terst�ende
 informationen, l�gg p� minnet vad -rwxr-xr-x betyder, fr�n v�nster
 till h�ger:


 - �r filtypen (- = vanlig fil, d = katalog, l = l�nk osv.); rwx �r
 r�ttigheterna f�r filens �gare (l�s (read), skriv (write) och k�r
 (execute)); r-x �r r�ttigheterna f�r fil�garens grupp (l�s, k�r); (Jag
 kommer inte att avhandla grupp-begreppet, du kan �verleva utan det, s�
 l�nge du �r nyb�rjare ;-) r-x �r r�ttigheterna f�r alla andra
 anv�ndare (l�s, k�r).

 Katalogen /bin har ocks� r�ttigheter: see avsnitt ``Katalogers
 r�ttigheter'' f�r mer detaljer.  Det �r p.g.a. detta som du inte kan
 radera filen /bin/ls, om du inte �r root: du har inte skriv-r�ttighet
 att g�ra detta. F�r att �ndra en fils r�ttigheter, anv�nd kommandot:



      $ chmod <vemXr�ttighet> <file>




 d�r vem �r u (anv�ndare (user), allts� anv�ndaren), g (grupp), o
 (annan (other)), X �r antingen + eller -, r�ttighet �r r (l�s), w
 (skriv) eller x (k�r). Vanliga exempel p� chmod �r de f�ljande:



      $ chmod +x fil

 vilket s�tter k�r-r�ttighet f�r filen.



      $ chmod go-rw fil




 Det h�r tar bort l�s- och skriv-r�ttigheterna f�r alla utom �garen.



      $ chmod ugo+rwx fil




 Detta ger alla l�s-, skriv- och k�r-r�ttigheterna.



      # chmod +s fil




 det h�r skapar en s� kalla "setuid"- eller "suid"-fil---en fil som
 alla kan k�ra med dess �gares r�ttigheter. Dessa kommer du typiskt att
 st�ta p� som root-suid-filer.

 Ett kortare s�tt att referera till r�ttigheter �r med nummer: rwxr-xr-
 x kan uttryckas som 755 (varje bokstav korresponderar till en bit: ---
 �r 0, --x �r 1, -w- �r 2, -wx �r 3 osv.). Det ser sv�rt ut, men med en
 del tr�ning kommer du att f�rst� konceptet.

 root, som super-anv�ndare, kan �ndra allas filers r�ttigheter. LMS.


 3.4.  Filer: �vers�ttning av kommandon fr�n DOS till Linux


 Till v�nster finns DOS-kommandona; till h�ger finns deras
 motsvarigheter under Linux.



      ATTRIB:         chmod
      COPY:           cp
      DEL:            rm
      MOVE:           mv
      REN:            mv
      TYPE:           more, less, cat




 Omdirigerings- och r�rlednings-operatorer:  < > >> |

 "Wildcards": * ?

 nul:        /dev/null

 prn, lpt1:  /dev/lp0 or /dev/lp1; lpr


 3.4.1.  Exempel









      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         $ lpr fractals.doc
      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




 Notes:


 �  * �r smartare under Linux: * matchar alla filer, utom de dolda; .*
    matchar alla dolda filer (men ocks� den aktuella katalogen, ., och
    f�r�ldra-katalogen, ..: varning!); *.* matchar endast de som har en
    punkt i mitten, f�ljt av andra tecken; p*r matchar b�de "peter" och
    "piper"; *c* matchar b�de "picked" och "peck";

 �  n�r du anv�nder more, tryck <SPACE> f�r att bl�ddra genom filen,
    "q" f�r att avsluta. less �r mer intuitivt och l�ter dig anv�nda
    pil-tangenterna.

 �  det finns ingen UNDELETE, s� t�nk dig f�r innan du tar bort n�got;

 �  ut�ver DOS < > >>, s� har Linux 2> f�r att omdirigera
    felmeddelanden (stderr); vidare s� omdirigerar 2>&1 stderr till
    stdout, medan 1>:&2 omdirigerar stdout till stderr;

 �  Linux har ett annat "wildcard":

    []



 [abc]*


 matchar filer som b�rjar med a, b och c;

 *[I-N1-3]


 slutar med I, J, K, L, M, N, 1, 2 och 3;

 �  lpr <fil> skriver ut en fil i bakgrunden. F�r att kolla statusen p�
    utskriftsk�n, anv�nd lpq; f�r att ta bort en fil fr�n utskriftsk�n,
    anv�nd lprm;

 �  det finns ingen DOS-liknande RENAME; mv *.xxx *.yyy fungerar allts�
    inte. Du skulle kunna pr�va f�ljande enkla skal-program; se
    avsnittet ``Skal-program: .BAT-filer p� anabola'' f�r detaljer.



    ___________________________________________________________________
    #!/bin/sh
    # ren: byt namn p� flera filer enligt flera regler

    if [ $# -lt 3 ] ; then
      echo "anv�ndning: ren \"m�nster\" \"ers�ttning\" filer..."
      exit 1
    fi

    OLD=$1 ; NEW=$2 ; shift ; shift

    for file in $*
    do
      new=`echo ${file} | sed s/${OLD}/${NEW}/g`
      mv ${file} $new
    done
    ___________________________________________________________________



 Varning: det beter sig inte som DOS REN, eftersom det anv�nder reg�
 ulj�ra m�nster (regular expressions), som du fortfarande inte vet
 n�got om. Om du bara vill byta ut fil�ndelser, anv�nd det s� h�r: ren
 "htm$" "html" *htm. Gl�m inte $-tecknet.

 �  anv�nd cp -i och mv -i f�r att f� en varning n�r en fil kommer att
    bli �verskriven.



 3.5.  K�ra program: multitasking och sessioner

 F�r att k�ra ett program, skriv in dess namn, som du skulle g�ra under
 DOS. Om katalogen (avsnittet ``Kataloger'') d�r programmet �r lagrat
 finns med i din s�kv�g (avsnittet ``System-initiering''), s� kommer
 programmet att startas. Undantag: i motsats till DOS, s� startas inte
 ett program i den aktuella katalogen, under Linux, om den katalogen
 inte finns med i s�kv�gen. L�sning: om prog �r ditt program, skriv
 ./prog.

 S� h�r ser en typisk kommando-rad ut:



      $ command [-s1 [-s2] ... [-sn]] [par1 [par2] ... [parn]] [< input] [> output]




 d�r -s1, ..., -sn �r program-"switchar", par1, ..., parn �r program-
 parametrar. Du kan ge flera kommandon p� en rad:



      $ kommando1 ; kommando2 ; ... ; kommandon

 Det var allt f�r denna g�ng om att k�ra program, men det �r l�tt att
 g� bortom detta. En av huvudanledningarna till att anv�nda Linux �r
 att det �r ett multi-taskande operativsystem: det kan k�ra flera
 program (fr�n och med nu: processer) samtidigt. Du kan k�ra ig�ng
 processer i bakgrunden och forts�tta arbeta med en g�ng. Vidare l�ter
 dig Linux ha flera sessioner: det �r som att ha flera datorer som
 arbetar samtidigt!


 �  F�r att byta till session 1..6 p� de virtuella terminalerna, tryck
    <ALT-F1> ... <ALT-F6>

 �  F�r att starta en ny session i samma virtuell terminal, utan att
    l�mna den nuvarande, skriv su - <loginnamn>. Exempel: su - root.
    Detta �r anv�ndbart t.ex. n�r du beh�ver utf�ra n�got, som bara
    root kan g�ra.

 �  F�r att avsluta en session, skriv exit. Om det finns stoppade jobb
    (mer om det senare), s� blir du varnad.

 �  F�r att starta en process i bakgrunden, l�gg till en ampersand "&"
    p� slutet av kommando-raden:



      $ prognamn [-switchar] [parametrar] [< indata] [> utdata] &
      [1] 123





 skalet identifierar processen med ett jobb-nummer (t.ex.

 [1]

 nedan), och med en PID (Process identification Number; 123 i v�rt
 exempel).

 �  F�r att se hur m�nga processer som k�rs, skriv ps -ax. Detta kommer
    att visa en lista p� den aktuella processerna.

 �  F�r att d�da en process, skriv kill <PID>. Du kanske beh�ver d�da
    en process, om du inte vet hur man ska st�nga den p� r�tt s�tt...
    Om du �r root, s� kan du d�da andras processer. Ibland kan en
    process endast d�das med kill -SIGKILL <PID>.

    Ut�ver detta l�ter dig skalet stoppa eller tillf�lligt pausa en
    process, skicka en process till bakgrunden och h�mta fram en
    process fr�n bakgrunden till f�rgrunden. I denna kontext kallas
    processer f�r "jobb".

 �  F�r att se hur m�nga jobb som finns, tryck jobs. H�r identifieras
    jobben med sina jobb-nummer, inte sina PID.

 �  F�r att stoppa en process, som k�rs i f�rgrunden, tryck <CTRL-C>
    (det fungerar inte alltid).

 �  F�r att pausa en process som k�rs i f�rgrunden, tryck <CTRL-Z>
    (dito).

 �  F�r att skicka en pausad process till bakgrunden, skriv bg <jobb>
    (den blir ett jobb).

 �  F�r att plocka fram ett jobb till f�rgrunden, skriv fg <jobbgt;/.
    F�r att f�rgrunda det senast bakgrundade (�r mitt spr�k underligt?)
    jobbet, skriv bara fg.

 �  F�r att d�da ett jobb, skriv kill <%jobb>, d�r <jobb> kan vara 1,
    2, 3...

 Om du anv�nder dessa kommandon kan du formattera en disk, zippa en
 bunt filer, kompilera ett program och packa upp ett arkiv, allt p�
 samma g�ng, och fortfarande ha prompten tillg�nglig. F�rs�k med det
 under DOS! Och f�rs�k med Windows, bara f�r att se skillnaden i
 prestanda (om det inte krashar, naturligtvis).


 3.6.  K�ra program p� avl�gsna datorer


 F�r att k�ra ett program p� en avl�gsen maskin, vars IP-adress �r
 remote.machine.edu, skriver du:



      $ telnet remote.machine.edu




 Efter att du loggat in �r det bara att starta ditt favoritprogram.
 Jag beh�ver naturligtvis inte ens n�mna att du m�ste ha ett anv�ndar-
 konto p� den andra maskinen.

 Om du har X11 s� kan du till och med k�ra X-applikationer p� en
 avl�gsen dator, och visa det p� din X-sk�rm. S�g att
 remote.machine.edu �r den avl�gsna X-datorn och local.linux.box �r din
 Linux-maskin. F�r att, fr�n local.linux.box, k�ra ett X-program, som
 finns p� remote.machine.edu, kan du g�ra f�ljande:


 �  k�r ig�ng X11, starta en xterm eller annan terminal-emulator, och
    skriv sedan:



      $ xhost +remote.machine.edu
      $ telnet remote.machine.edu





 �  efter att du loggat in, skriv:



      remote:$ DISPLAY=local.linux.box:0.0
      remote:$ prognamn &





 (ist�llet f�r DISPLAY..., kan du bli tvungen att skriva: setenv DIS�
 PLAY local.linux.box:0.0. Det beror p� den andra maskinens skal.)

 Och voila! Nu kommer prognamn startas p� remote.machine.edu och visas
 p� din maskin. F�rs�k dock inte med det h�r �ver en PPP-lina, det �r
 alldeles f�r l�ngsamt f�r att vara anv�ndbart.

 4.  Anv�nda kataloger



 4.1.  Kataloger: inledande anm�rkningar


 Vi har sett skillnaderna mellan filer under DOS och Linux. Vad g�ller
 kataloger, s� heter rot-katalogen \ under DOS, under Linux heter den
 /. P� samma s�tt �r n�stade kataloger �tskilda med \ under DOS, och
 med / under Linux. Exempel p� fil-s�kv�gar:



      DOS:    C:\PAPERS\GEOLOGY\MID_EOC.TEX
      Linux:  /home/guido/papers/geology/middle_eocene.tex




 Som vanligt �r .. f�r�ldra-katalogen (parent directory) och . �r den
 aktuella katalogen. Kom ih�g att systemet inte l�ter dig k�ra cd, rd
 eller md �verallt, d�r du vill. Varje anv�ndare b�rjar i sin
 hemkatalog, t.ex. /home/guido.


 4.2.  Katalog-r�ttigheter


 Kataloger har ocks� r�ttigheter. Det vi l�rt oss i avsnittet
 ``R�ttigheter och �garskap'' g�ller �ven f�r kataloger (anv�ndare,
 grupp och andra).  F�r en katalog inneb�r rx att du kan cd-a till den
 katalogen, och w inneb�r att du kan ta bort filer i den (beroende p�
 filens r�ttigheter ocks�, naturligtvis), eller katalogen sj�lv.

 Till exempel, f�r att f�rhindra andra anv�ndare fr�n att tjuvkika i
 /home/guido/text:



      $ chmod o-rwx /home/guido/text






 4.3.  Kataloger: �vers�tta kommandon fr�n DOS till Linux




      DIR:            ls, find, du
      CD:             cd, pwd
      MD:             mkdir
      RD:             rmdir
      DELTREE:        rm -R
      MOVE:           mv








 4.3.1.  Exempel




      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
             n/a - se not                     $ cd
             dito                             $ cd ~
             dito                             $ 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




 Noter:


 1. N�r du anv�nder rmdir s� m�ste katalogen som ska tas bort vara tom.
    F�r att ta bort en katalog och allt dess inneh�ll, anv�nd rm -R (p�
    egen risk).

 2. Tecknet "~" �r en genv�g f�r namnet p� din hemkatalog.  Kommandona
    cd och cd ~ tar dig b�da till din hemkatalog, fr�n den katalog d�r
    du f�r tillf�llet �r; kommandot cd ~/tmp tar dig till
    /home/ditt_hem/tmp.

 3. cd - "tar tillbaks" det senaste cd.



 5.  Floppy-diskar, h�rddiskar och liknande


 Det finns tv� s�tt att administrera enheter under Linux: DOS-s�ttet
 coh UNIX-s�ttet. V�lj sj�lv.


 5.1.  Administrera enheter p� DOS-s�ttet


 Det flesta Linux-distributioner kommer med Mtools-paketet, en
 upps�ttning kommandon som fungerar precis som sina motsvarigheter
 under DOS, men b�rjar med ett "m": allts� mformat, mdir, mdel, mmd
 osv. De kan till och med bevara l�nga filnamn, men inte fil-
 r�ttigheter. Om du konfigurerar Mtools, genom att editera en fil som
 heter /etc/mtools.conf (ett exempel ges), s� kan du komma �t DOS/Win-
 partitioner, CD-ROM-spelaren och Zip-driven.

 F�r att formattera en tomdisk, s� funkar dock inte mformat-kommandot.
 Du m�ste, som root, k�ra f�ljande kommando f�rst:
      # fdformat /dev/fd0H1440




 Observera att du inte kan komma �t filerna p� en diskett med ett
 kommando som, t.ex. less a:file.txt! Detta �r en nackdel med DOS-
 s�ttet att montera disketter.


 5.2.  Administrera enhter p� UNIX-s�ttet


 UNIX har ett annat s�tt att administrera enheter �n DOS/Win. Det finns
 inga separata volymer som A: eller C:; en disk, vare sig det �r en
 diskett eller n�got annat, blir en del av det lokala filsystemet,
 efter en operation som kallas "montering". N�r du �r klar med den
 diskett, s� m�ste du "avmontera" den, innan du tar ut den.

 Fysisk formattering av en diskett �r en sak, och att skapa ett
 filsystem �r en annan. DOS-kommandot FORMAT A: g�r b�da sakerna, men
 under Linux �r de separata kommandon. F�r att formattera en diskett,
 se ovan; f�r att skapa ett filsystem, g�r f�ljande:



      # mkfs -t ext2 -c /dev/fd0H1440




 Du kan anv�nda minix, vfat, dos eller andra format, ist�llet f�r ext2.
 S� fort disken �r preparerad, montera den med kommandot



      # mount -t ext2 /dev/fd0 /mnt




 och specificera det korrekta filsystemet, om du inte anv�nder ext2.
 Nu kan du komma �t filerna p� disketten. Allt du brukade g�ra med A:
 eller B: kan du nu g�ra, fast med /mnt ist�llet. Exempel:



      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/$ _




 N�r du �r klar, s� m�ste du avmontera disketten, innan du tar ut den.
 Anv�nd kommandot




 # umount /mnt




 Det �r naturligtvis s� att du bara beh�ver k�ra fdformat och mkfs p�
 oformatterade disketter, inte s�dana du redan har anv�nt. Om du vill
 anv�nda enhet B:, h�nvisa till den som fd1H1440 och fd1, ist�llet f�r
 fd0H1440 och fd0, i exemplen ovan.

 Jag beh�ver egentligen inte n�mna det, men det som �r till�mpligt p�
 disketter, �r det �ven p� andra enheter; om du t.ex. vill montera en
 till h�rddisk eller en CD-ROM-spelare. S� h�r monterar du en CD-ROM:



      # mount -t iso9660 /dev/cdrom /mnt




 Det d�r var det "officiella" s�ttet att montera diskar, men det finns
 ett litet knep vi kan ta till. Eftersom det �r n�got av ett
 irritations- moment att beh�va vara root f�r att montera en floppy-
 disk eller CD-ROM, s� kan varje anv�ndare till�tas att montera dem, p�
 f�ljande s�tt:


 �  som root, g�r f�ljande:



      # mkdir /mnt/a: ; mkdir /mnt/a ; mkdir /mnt/cdrom
      # chmod 777 /mnt/a* /mnt/cd*
      # # se till s� att CD-ROM-enheten �r den r�tta
      # chmod 666 /dev/hdb ; chmod 666 /dev/fd*





 �  l�gg de f�ljande raderna till /etc/fstab:



      /dev/cdrom      /mnt/cdrom  iso9660 ro,user,noauto          0       0
      /dev/fd0        /mnt/a:     msdos   user,noauto             0       0
      /dev/fd0        /mnt/a      ext2    user,noauto             0       0





 F�r att montera en DOS-diskett, en ext2-diskett och en CD-ROM, kan du
 nu skriva:



      $ mount /mnt/a:
      $ mount /mnt/a
      $ mount /mnt/cdrom





 /mnt/a, /mnt/a:, och /mnt/cdrom kan nu anv�ndas av alla anv�ndare. Kom
 ih�g att det �r en stor s�kerhets-risk att l�ta vem som helst montera
 enheter, om det nu �r n�got du bryr dig om.

 Tv� anv�ndbara kommandon �r df, vilket ger information om de monterade
 filsystemen, och du katnamn, vilket rapporterar hur mycket ytrymme som
 tas upp av varje katalog.


 5.3.  Ta s�kerhets-kopior


 Det finns flera paket som kan hj�lpa dig med detta, men det absolut
 minsta du kan g�ra f�r att ta en s�kerhetskopia p� flera volymer �r
 (som root):



      # tar -M -cvf /dev/fd0H1440 kat_att_kopiera/




 Se till att du har en formatterad diskett i stationen och flera andra
 redo.  F�r att f� tillbaks grejerna, s�tt i den f�rsta disketten i
 stationen och skriv:



      # tar -M -xpvf /dev/fd0H1440





 6.  Windows d�?


 "Motsvarigheten" till Windows �r det grafiska systemet X11. I motsats
 till Windows och Mac, s� skapades inte X11 f�r att vara enkelt att
 anv�nda eller f�r att se snyggt ut, utan bara f�r att erbjuda grafiska
 m�jligheter p� UNIX arbetsstationer. Det finns n�gra huvudsakliga
 skillnader:


 �  Medan Windows ser ut och k�nns p� samma s�tt �ver hela v�rlden, s�
    g�r inte X11 det: det finns mycket mer du kan st�lla in i det. X11s
    utseende och k�nsla kommer av en huvudkomponent som kallas
    "f�nster- hanterare"; det finns m�nga att v�lja mellan. Den
    vanligaste �r fvwm, grundl�ggande men trevlig och minnessn�l,
    fvwm2-95 och The Next Level, plus flera andra. F�nster-hanteraren
    anropas vanligtvis fr�n en bil som heter .xinitrc;

 �  din f�nster-hanterare kan konfigureras s� att ett f�nster beter sig
    som i, �h, Windows: du klickar p� det och det hamnar i f�rgrunden.
    En annan m�jlighet �r att det hamnar i f�rgrunden n�r muspekaren
    befinner sig i det ("fokus"). Placeringen av f�nster p� sk�rmen kan
    ocks� vara antingen automatisk eller interaktiv: om en konstig ram
    dyker upp, ist�llet f�r ditt program, v�nster-klicka d�r du vill
    att det ska dyka upp;

 �  de flesta saker kan skr�ddassys, genom att modifiera en eller flera
    konfigurerings-filer. L�s dokumentation om din f�nster-hanterare:
    konfigureringsfilen kan vara .fvwmrc, .fvwm2rc95, .steprc osv.  Ett
    exempel p� en konfigureringsfil hittar du i typfallet i
    /etc/X11/f�nster-hanterar-namnet/system.f�nster-hantera-namnet;
 �  X-applikationer �r skrivna med hj�lp av speciella bibliotek
    ("widget sets"); eftersom flera olika �r tillg�ngliga, s� ser
    applikationerna olika ut. Det mest grundl�ggande av dessa �r Athena
    widgets (2-D- utseende; xdvi, xman, xcalc); andra anv�nder Motif
    (netscape), ytterligare andra anv�nder Tcl/Tk, XForms, Qt och allt
    vad det nu �r.  Vissa, inte alla, av dessa bibliotek ger ungef�r
    samma utseende och k�nsla som Windows;

 �  hm, inte riktigt. K�nslan kan, olyckligtvis, vara inkonsekvent.  Om
    du t.ex. markerar en textrad, genom att anv�nda musen, och trycker
    <BACKSPACE>, s� r�knar du med att raden ska f�rsvinna, eller hur?
    S� fungerar det inte med Athena--baserade applikationer,  men det
    g�r det med Motif, Qt, Gtk och Tcl/Tk;

 �  hur scrollnings-listerna och storleksf�r�ndringarna fungerar beror
    p� f�rnster-hanterare och "widget set". Tips: om du uppt�cker att
    scrollnings-listerna inte upptr�der som du f�rv�ntat dig, prova att
    anv�nda den mittersta mus-knappen, eller de tv� knapparna
    tillsammans, f�r att flytta dem;

 �  applikationer har inte en ikon som standard, men de kan ha m�nga.
    De flesta f�nster-hanterar har en meny, som du kommer �t genom att
    tryck p� bakgrunden ("rot-f�nstret"); denna meny kan naturligtvis
    skr�ddarsys.  F�r att byta ut rot-f�nstrets utseende kan du anv�nda
    xsetroot eller xloadimage;

 �  urklippsarean kan endast inneh�lla text, och upptr�der konstigt.
    S� fort du har markerat text, s� finns den i urklippsarean: flytta
    n�gon annanstans och tryck ned mittenknappen, f�r att klistra in
    den. Det finns ett program, xclipboard, som ger dig flera urklipps-
    buffrar;

 �  dra och sl�pp �r ett alternativ, och �r bara tillg�ngligt om du
    anv�nder X11-applikationer som st�djer det.

 F�r att spara minne ska man anv�nda applikationer som anv�nder samma
 bibliotek, men det kan vara sv�rt att g�ra detta i praktiken.

 K Desktop Enviroment �r ett projekt som siktar p� att f� X11 att se ut
 och uppf�ra sig konsekvent, som Windows; det �r fortfarande p� tidig
 beta-niv�, men tro mig, det �r suver�nt. Rikta din webb-l�sare mot
  <http://www.kde.org>.


 7.  Skr�ddarsy systemet



 7.1.  Systemets initierings-filer

 Tv� viktiga filer under DOS �r AUTOEXEC.BAT och CONFIG.SYS, vilka
 anv�nds f�r att initiera systemet, ange n�gra milj�-variabler, s�som
 PATH och FILES, och eventuellt k�ra ig�ng n�gra program eller batch-
 filer, d� du startar systemet. Under Linux finns det ett flertal
 initierings-filer, av vilka vissa �r s�dana som du nog inte ska ge dig
 p�, innan du vet exakt vad du sysslar med. Jag ska ber�tta vilka de
 viktigaste �r, i alla fall:




      FILES                                   NOTES

      /etc/inittab                            r�r inte den nu!
      /etc/rc.d/*                             dito

 Om allt du beh�ver g�ra �r att ange

 $$PATH



 [s�kv�g]


 andra milj�- variabler, eller om du vill byta ut login-meddelandet,
 eller automatiskt k�ra ig�ng ett program efter inloggningen, kan du ta
 en titt p� f�ljande filer:



      FILER                                   ANM�RKNINGAR

      /etc/issue                              anger pre-login-meddelandet
      /etc/motd                               anger post-login-meddelandet
      /etc/profile                            anger $PATH och andra variabler osv.
      /etc/bashrc                             anger alias och funktioner osv.
      /home/your_home/.bashrc                 anger dina alias + funktioner
      /home/your_home/.bash_profile   eller
      /home/your_home/.profile                anger milj� + startar dina program




 Om de senare filerna existerar (observera att de �r dolda filer), s�
 kommer de att l�sas in efter att du loggat in, och kommandona i dem
 kommer att utf�ras.

 Exempel---titta p� denna .bash_profile:


 ______________________________________________________________________
 # Jag �r en kommentar
 echo Milj�:
 printenv | less   # ekvivalent med SET-kommandot under DOS
 alias d='ls -l'   # l�tt att f�rst� vad ett alias �r
 alias up='cd ..'
 echo "P�minner dig om att s�kv�gen �r "$PATH
 echo "Idag �r det `date`"  # anv�nder utdatan fr�n kommandot 'date'
 echo "Ha det s� trevligt, "$LOGNAME
 # Det f�ljande �r en "skal-funktion"
 ctgz() # Lista inneh�llet i ett .tar.gz-arkiv
 {
   for file in $*
   do
     gzip -dc ${file} | tar tf -
   done
 }
 # slut p� .profile
 ______________________________________________________________________



 $PATH och $LOGNAME �r, ja, du gissade r�tt, milj�-variabler. Det finns
 m�nga andra att leka med; LMS f�r applikationer som less och bash.


 7.2.  Programs initierings-filer

 Under Linux kan i stort sett allt skr�ddarsys, s� att det passar dig.
 De flesta program har en eller flera initierings-filer som du kan
 fippla med, ofta i stil med .programnamnrc, i din hemkatalog. De
 f�rsta du kommer vilja modifiera �r:


 �   .inputrc: anv�nds av bash f�r att definiera tangent-bindningar;

 �   .xinitrc: anv�nds av startx f�r att initialisera X-Window-
    systemet;

 �   .fvwmrc: anv�nds av f�nster-hanteraren fvwm.

 �   .joerc: anv�nds av editorn joe;

 �   .jedrc: anv�nds av editorn jed;

 �   .pinerc: anv�nds av e-postprogrammet pine;

 �   .Xdefault: anv�nds av m�nga X-program.

 F�r alla dessa och andra du st�ter p� senare, LMS. Som en avslutande
 anm�rkning, l�t mig rekommendera att du tar en titt p� Configuration
 HOWTO p�
   <http://sunsite.unc.edu/mdw/HOWTO/Config-HOWTO.html> .



 8.  Lite programmering



 8.1.  Skal-program: .BAT-filer p� anabola


 Om du anv�nde .BAT-filer f�r att skapa genv�gar till l�nga kommando-
 rader (jag gjorde det en massa), s� kan du g�ra detta genom att ange
 l�mpliga alias-rader (se exempel ovan) i profile eller .profile. Men
 om dina .BAT-filer var mera komplicerade s� kommer du �lska skal-
 programmerings-spr�ken som finns i varje skal: de �r kraftfulla som
 QBasic, om inte kraftfullare. De har variabler, konstruktioner som
 while, for, case, if... then... else och en massa andra egenskaper: de
 kan vara bra alternativ till "riktiga" programmerings-spr�k.

 F�r att skriva ett skal-program, motsvarigheten till .BAT-filer under
 DOS, s� �r allt du beh�ver g�ra att skriva en vanlig ASCII-fil, som
 inneh�ller instruktioner, spara den och g�ra den k�rbar, med kommandot
 chmod +x <skal-program-fil>. F�r att k�ra den, skriv dess namn.

 Ett varningens ord �r h�r p� sin plats. System-editorn heter vi, och
 enligt mina erfarenheter s� finner de flesta nyb�rjare den v�ldigt
 sv�r att anv�nda. Jag t�nker inte f�rklara hur du ska anv�nda den, f�r
 jag gillar den inte och anv�nder den inte, s� nu vet du det. Det
 r�cker med att jag s�ger f�ljande h�r:


 �  f�r att infoga text, skriv "i", sen texten;

 �  f�r att ta bort tecken, skriv <ESC>; sen "x";

 �  f�r att avsluta vi utan att spara, skriva <ESC>; sen :q!

 �  f�r att spara och avsluta, skriv <ESC>, sen :wq.

 En bra editor f�r nyb�rjare �r joe: anropar du den genom att skriva
 jstar, s� f�r du samma tangent-kombinationer som DOS-editorn.  jed i
 WordStar- eller IDE-l�ge �r annu b�ttre. Se avsnittet ``Var du f�r tag
 p� program'' f�r att f� reda p� var du kan f� tag p� dessa editorer.

 Att skriva skal-program under bash �r ett s� stort �mne att det tar en
 bok sj�lv, och jag t�nker inte g� djupare in p� �mnet. Jag ger bara
 ett exempel p� ett skal-program, fr�n vilket du kan l�ra dig vissa
 grundl�ggande regler:


 ______________________________________________________________________
 #!/bin/sh
 # sample.sh
 # jag �r en kommentar
 # �ndra inte f�rsta raden; den m�ste vara d�r
 echo "Systemet �r: `uname -a`" # anv�nd utdatan fr�n kommandot
 echo "Mitt namn �r $0" # inbyggda variabler
 echo "Du gav mig f�ljande $# parametrar: "$*
 echo "Den f�rsta parametern �r: "$1
 echo -n "Vad heter du? " ; read ditt_namn
 echo observera skillnaden: "hej $ditt_namn" # citerar med "
 echo observera skillnaden: 'hej $ditt_namn' # citerar med '
 DIRS=0 ; FILES=0
 for file in `ls .` ; do
   if [ -d ${file} ] ; then # om filen �r en katalog
     DIRS=`expr $DIRS + 1`  # DIRS = DIRS + 1
   elif [ -f ${file} ] ; then
     FILES=`expr $FILES + 1`
   fi
   case ${file} in
     *.gif|*jpg) echo "${file}: grafik-fil" ;;
     *.txt|*.tex) echo "${file}: text-fil" ;;
     *.c|*.f|*.for) echo "${file}: k�llkods-fil" ;;
     *) echo "${file}: vanlig fil" ;;
   esac
 done
 echo "det finns ${DIRS} kataloger och ${FILES} filer"
 ls | grep "ZxY--!!!WKW"
 if [ $? != 0 ] ; then # sista kommandots exit-kod
   echo "ZxY--!!!WKW inte funnen"
 fi
 echo "det r�cker... skriv 'man bash' f�r mer info."
 ______________________________________________________________________





 8.2.  C sj�lv


 Under UNIX �r C system-spr�ket, vare sig du gillar det eller ej.
 Massor av andra spr�k (FORTRAN, Pascal, Lisp, Basic, Perl, awk...)
 finns ocks� tillg�ngliga.

 Om vi f�ruts�tter att du kan lite om C, s� kommer h�r n�gra regler f�r
 de av er som har blivit bortsk�mda med Turbo C++ eller n�gon av dess
 sl�ktingar under DOS. Linux C-kompilator heter gcc och saknar alla de
 "flashiga" egenskaper som vanligtvis finns med i DOS motsvarigheter:
 ingen IDE, on-line hj�lp, integrerad avlusare osv. Det �r bara en r�
 kommando-rads-kompilator, som �r v�ldigt kraftfull och effektiv. F�r
 att kompilera det gamla goda hello.c, skriver du:



      $ gcc hello.c




 vilket skapar en k�rbar fil som heter a.out. F�r att ge det k�rbara
 programmet ett annat namn skriver vi



      $ gcc -o hola hello.c




 F�r att l�nka in ett bibliotek i programmet, l�gg till switchen
 -l<biblioteksnamn>. T.ex., f�r att l�nk in matematik-biblioteket,
 skriv:



      $ gcc -o mathprog mathprog.c -lm




 (--l<biblioteksnamn>-switchen tvingar gcc att l�nka in biblioteket
 /usr/lib/lib<bibltioteksnamn>.a, s� -lm �nkar in /usr/lib/libm.a).

 S� l�ngt �r allt gott. Men n�r du har ett program som best�r av flera
 k�llkods-filer, s� kommer du att beh�va anv�nda make-verktyget. L�t
 oss f�ruts�tta att du har skrivit en uttrycks-tolkare: dess k�llkods-
 fil heter tolkare.c och #inkluderar tv� "header"-filer, tolkare.h och
 xy.h. Sen vill du anv�nda rutinen tolkare.c i ett program, s�g kalk.c,
 vilket i sin tur #inkluderar tolkare.h. Vilken r�ra! Vad m�ste du nu
 g�ra f�r att kompilera kalk.c?

 Du blir tvungen att skriva en s� kallad makefile, vilken talar om f�r
 kompilatorn vilka "beroenden" som finns mellan k�llkod och objekt-
 filer.  I v�rt exempel:


 ______________________________________________________________________
 # Det h�r �r en makefile, vilken anv�nds f�r att kompilera kalk.c
 # Anv�nd TAB-tangenten d�r det �r l�mpligt!

 kalk:     kalk.o tolkare.o
 <TAB>gcc -o kalk kalk.o tolkare.o -lm
 # kalk beror av tv� objekt-filer: kalk.o och tolkare.o

 kalk.o:   kalk.c tolkare.h
 <TAB>gcc -c kalk.c
 # kalk.o beror av tv� k�llkods-filer

 tolkare.o:   tolkare.c tolkare.h xy.h
 <TAB>gcc -c tolkare.c
 # tolkare.o beror av tre k�llkods-filer

 # slut p� makefile.
 ______________________________________________________________________



 Spara denna fil som Makefile och skriv make f�r att kompilera ditt
 program; som alternativ kan du spara den som kalk.mak och skriva make
 -f kalk.mak, och naturligtvis ska du LMS. Du kan anropa hj�lp om C-
 funktionerna, som avhandlas av man-sidorna, sektion 3, t.ex.:




 $ man 3 printf




 F�r att avlusa dina program, anv�nd gdb. info gdb l�r dig hur du ska
 anv�nda det.

 Det finns en massa bibliotek tillg�ngliga d�r ute; bland de f�rsta du
 kommer vilja anv�nda finns ncurses, som tar hand om olika effekter i
 text-l�ge, och svgalib, som kan fixa grafik. Om du k�nner dig till-
 r�ckligt tuff f�r att tackla X-programmering, finns det bibliotek som
 de ovan n�mnda XForms, Qt, Gtk och m�nga andra, med vilka du l�tt kan
 skriva X11-program. Ta en titt p�
 <http://www.xnet.com/~blatura/linapp6.html> .

 M�nga editorer kan fungera som ett IDE; emacs och jed, t.ex., och �ven
 ge s�dana funktioner som syntax-markering, automatisk indentering osv.
 Alternativet �r att skaffa rhide-paketet fr�n
 <ftp://sunsite.unc.edu:/pub/Linux/devel/debuggers/>.  Det �r en kopia
 av Borlands IDE, och det finns vissa m�jligheter att du kommer att
 gilla det.



 9.  Den �terst�ende 1%


 Mer �n 1%, faktiskt...



 9.1.  Anv�nda tar & gzip


 Under UNIX finns det vissa, v�ldigt ofta anv�nda, applikationer f�r
 att arkivera och komprimera filer. tar anv�nds f�r att arkivera: det
 �r som PKZIP, men utf�r ingen komprimering, det bara arkiverar. F�r
 att skapa ett nytt arkiv, skriv:



      $ tar -cvf <arkiv_namn.tar> <fil> [fil...]




 F�r att packa upp filer fr�n ett arkiv:



      $ tar -xpvf <arkiv_namn.tar> [fil...]




 F�r att lista inneh�llet i ett arkiv:



      $ tar -tf <arkiv_namn.tar> | less





 Du kan komprimera filer med compress, men det �r gammalt och b�r inte
 anv�ndas l�ngre, eller gzip:



      $ compress <fil>
      $ gzip <fil>




 som skapar en komprimerad fil med �ndelsen .> (compress) eller .gz
 (gzip). Dessa program kan bara komprimera en fil i taget. F�r att
 packa upp, skriv:



      $ compress -d <fil.Z>
      $ gzip -d <fil.gz>




 LMS.

 Verktygen unarj, zip och unzip (PK??ZIP-kompatibla) finns ocks�
 tillg�ngliga. Filer med �ndelsen .tar.gz eller .tgz (arkiverade med
 tar och sedan komprimerade med gzip) �r lika vanlig i UNIX-v�rlden,
 som .ZIP-filer �r under DOS. S� h�r listar du inneh�llet i ett
 .tar.gz- arkiv:



      $ tar -ztf <file.tar.gz> | less






 9.2.  Installera program


 F�rst av allt m�ste jag p�peka att det �r roots jobb att installera
 applikationer. Vissa Linux-applikationer distribueras som .tar.gz-
 arkiv, vilka i typfallet inneh�ller en katalog som heter paketnamn/,
 och inneh�ller filer och/eller underkataloger. En bra regel �r att
 installera dessa paket fr�n /usr/local med kommandot



      # tar -zxf <arkiv.tar.gz>




 och sedan l�sa README- eller INSTALL-filen. I m�nga fall distribueras
 paketet som k�llkod, vilket inneb�r att du m�ste kompilera det f�r att
 skapa bin�rfilerna; ofta r�cker det att skriva make och sedan make
 install. Du beh�ver naturligtvis gcc- eller g++-kompilatorerna.

 Andra arkiv kan du bli tvungen att packa upp fr�n /; det �r fallet med
 Slackwares .tgz-arkiv. Andra arkiv inneh�ller filerna, men ingen
 underkatalog. Lista alltid inneh�llet i en katalog, innan du
 installerar det.

 Debian- och Red Hat-distributionerna har sina egna arkiv-format: .deb
 och .rpm respektive. Det senare b�rjar bli vitt accepterat: f�r att
 installera ett .rpm-paket, skriv



      # rpm -i paket.rpm






 9.3.  Tips du inte klarar dig utan


 Kommando-komplettering: tryck <TAB> n�r du skriver ett kommando, f�r
 att komplettera kommando-raden. Exempel: du �r tvungen att skriva gcc
 this_is_a_long_name.c; att skriva gcc thi<TAB> r�cker. (Om du har
 andra filer som b�rjar med samma tecken, skriv tillr�ckligt m�nga f�r
 att g�ra namnet unikt.)

 Bak�tscrollning: om du trycker <SHIFT + PAGE UP> (den gr�a knappen) s�
 kan du scrolla bak�t ett par sidor, beroende p� hur mycket grafik-
 minne du har.

 �terst�lla sk�rmen: om du r�kar k�ra more eller cat p� en bin�r-fil,
 s� fylls sk�rmen upp av skr�p. F�r att fixa det, skriv (utan att se)
 reset, eller f�ljande tecken-sekvens: echo CTRL-V ESC c RETURN.

 Klistra in text: i konsollen, se nedan; i X, klicka och dra f�r att
 markera texten i en xterm, klicka sedan med mitten-knappen (eller b�da
 knapparna tillsammans, om du har en mus med tv� knappar) f�r att
 klistra in.  xclipboard (endast f�r text) finns ocks�; bli inte
 f�rvirrad av dess l�ngsamma reaktioner.

 Anv�nda musen: Om du har installerat gpm, en musdrivrutin f�r
 konsollen, s� kan du klicka och dra f�r att markera text, sedan
 h�gerklicka f�r att klistra in markerad text. Fungerar �ven �ver olika
 virtuella terminaler.

 Meddelanden fr�n k�rnan: ta en titt p� /var/adm/messages eller
 /var/log/messages, som root, f�r att se vad k�rnan har att s�ga dig,
 inklusive uppstarts-meddelanden. Kommandot dmesg �r ocks� praktiskt.


 9.4.  Var du kan hitta program


 Om du undrar om det finns program som kan ers�tta dina gamla f�r
 DOS/Win, s� f�rsl�r jag att du kollar igenom de Linux-resurser som
 finns:
   <ftp://sunsite.unc.edu/pub/Linux> ,
  <ftp://tsx-11.mit.edu/pub/linux> , and
  <ftp://ftp.funet.fi/pub/Linux> .  Ett annat suver�nt st�ller �r
 "Linux applications and utilities page", p�
   <http://www.xnet.com/~blatura/linapps.shtml> .



 9.5.  N�gra saker du inte kunde g�ra


 Linux kan g�ra en himla massa saker som var kr�ngliga, sv�ra eller
 om�jlig att g�ra med DOS/Win. H�r kommer en kort lista, f�r att reta
 din aptit:
 �  at l�ter dig k�ra program vid en angiven tidpunkt;

 �  awk �r ett enkelt men kraftfullt spr�k f�r att manipulera datafiler
    (och inte bara det). T.ex., om data.dat �r en datafil med flera
    f�lt, s� skriver



      $ awk '$2 ~ "abc" {print $1, "\t", $4}' data.dat





 ut f�lten 1 och 4 i varje rad i data.dat, vars andra f�lt inneh�ller
 "abc".

 �  cron �r anv�ndbart f�r att utf�ra vissa saker med j�mna mellanrum,
    p� speciella datum och tidpunkter. Skriv man 5 crontab.

 �  file <filnamn> talar om vilken sort fil filnamn �r (ASCII-text,
    k�rbar, arkiv osv.);

 �  find (se �ven avsnittet ``Kataloger: att �vers�tta kommandon fr�n
    DOS/Win till Linux'') �r ett av de mest kraftfulla och anv�ndbara
    kommandona. Det anv�nds f�r att hitta filer som matchar flera
    beskrivningar och utf�r vissa saker med dem. Ett gerenellt s�tt att
    anv�nda det �r:



      $ find <katalog> <uttryck>





 d�r <uttryck> inneh�ller s�kningskriterier och �tg�rder. Exempel:



      $ find . -type l -exec ls -l {} \;





 hittar alla filer som �r symboliska l�nkar och visar vart de pekar.



      $ find / -name "*.old" -ok rm {} \;





 hittar alla filer som matchar m�nstret och tar bort dem, efter att ha
 fr�gat om lov f�rst.



      $ find . -perm +111



 hittar alla filer vars r�ttigheter matchar 111 (k�rbara).



      $ find . -user root





 hittar alla filer som tillh�r root. Massor av m�jligheter h�r---LMS.

 �  grep hittar text-m�nster i filer. T.ex. s� listar



      $ grep -l "geology" *.tex





 filerna *.tex som inneh�ller ordet "geology". Varianten zgrep fungerar
 p� gzippade filer. LMS;

 �  regulj�ra m�nster �r ett komplicerat men v�ldigt kraftfullt s�tt
    att utf�ra s�knings-operationer p� text. T.ex. s� matchar

    ^a[^a-m]X{4,}txt$


 tecken som helst, utom n�gon i intervallet a-m, f�ljt av fyra eller
 flera "X" och slutar med ".txt". Du anv�nder regulj�ra m�nster med
 avancerade editorer, less och m�nga andra program. man grep f�r en
 introduktion.

 �  script <skal-programs-fil> skickar sk�rm-inneh�llet till skal-
    programs-fil, tills du ger kommandot exit. Anv�ndbart f�r
    avlusning;

 �  sudo till�ter anv�ndare att utf�ra vissa av roots uppgifter (t.ex.
    att formattera och montera diskar; LMS);

 �  uname -a ger dig information om ditt system;

 �  F�ljande kommandon kan vara praktiska: 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.
    LMS.



 9.6.  Vanliga fil�ndelser och relaterade program


 Du kommer att st�ta p� massor av fil�ndelser. Bortsett fr�n n�gra av
 de mer ovanliga (d.v.s. typsnitt osv.), s� kommer h�r en lista p� vad
 som �r vad:


 �  1 ... 8: man-sidor. Om du �r fr�n Mars, och allts� inte har det,
    skaffa man.

 �  arj: arkiv gjorda med arj.


 �  dvi: utdata-filer fr�n TeX (se nedan). xdvi f�r att titta p� dem;
    dvips f�r att omvandla dem till PostScript (.ps).

 �  gz: arkiv gjorda med gzip.

 �  info: info-fil (typ som ett alternativ till man-sidor). Skaffa
    info.

 �  lsm: Linux Software Map-fil. Det �r en ren ASCII-fil som inneh�ller
    en beskrivning av paketet.

 �  ps: PostScript-fil. F�r att titta p� den, eller skriva ut den,
    skaffa gs och, valfritt, ghostview eller gv.

 �  rpm: Red Hat-paket. Du kan installera det p� ditt system med hj�lp
    av paket-hanteraren rpm.

 �  taz, tar.Z: arkiv skapade med tar och komprimerade med compress.

 �  tgz, tar.gz: arkiv skapade med tar och komprimerade med gzip.

 �  tex: text-fil som ska skickas vidare till TeX, ett kraftfullt
    typs�ttnings-system. skaffa paketet tex, vilket kommer med de
    flesta distributioner: men akta dig f�r NTeX, vilken har korrupta
    typsnitt, och kommer med vissa versioner av Slackware.

 �  texi: texinfo-fil, kan producera b�de TeX- och info-filer (cp.
    info). Skaffa texinfo.

 �  xbm, xpm, xwd: Grafik-filer. Skaffa xpaint.

 �  Z: arkiv skapade med compress.



 9.7.  Konvertera filer


 Om du beh�ver skicka text-filer mellan DOS/Win och Linux, s� se upp
 med "slut-p�-raden"-problemet. Under DOS avslutas varje text rad med
 CR/LF (vagnretur och ny rad), medan det under Linux endast �r LF. Om
 du vill f�rs�ka editera en DOS-text under Linux, s� kommer antagligen
 varje rad sluta med ett konstigt "M"-tecken; en Linux-textfil under
 DOS, kommer var en enda l�ng rad, utan stycken. Det finns n�gra
 verktyg, dos2unix och unix2dos, f�r att konvertera filerna.

 Om dina filer inneh�ller accenterade tecken, se till s� att de �r
 skapade under Winders (med t.ex. Write eller Notepad) och inte under
 DOS; annars komer alla accenterade tecken att bli f�rst�rda.

 F�r att konvertera Word- och WordPerfect-filer till ren text, s� �r
 det lite kr�ngligare, men m�jligt. Du beh�ver ett av verktygen som
 finns p� CTAN-sajten: ett �r   <ftp://ftp.tex.ac.uk> . Skaffa paketet
 word2x fr�n katalogen /pub/tex/tools, eller testa ett av paketen i
 katalogen /pub/tex/support. Jag har bara testat word2x, ocoh det
 fungerar ganska bra.


 10.  Slutet, f�r tillf�llet


 Gratulerar! Du har nu greppat en liten del av UNIX och �r redo att
 b�rja jobba. Kom ih�g att din kunskap om systemet fortfarande �r
 begr�nsad, och att du f�rv�ntas tr�na mera med Linux, f�r att kunna
 anv�nda det utan alltf�r stora problem. Men om allt du beh�ver g�ra �r
 att skaffa en bunt applikationer och b�rja jobba med dem, s� �r jag
 s�ker p� att det jag har tagit med h�r r�cker till.

 Jag �r s�ker p� att du kommer att trivas med Linux och forts�tta l�ra
 dig mer om det, det g�r alla. Jag �r ocks� s�ker p� att du aldrig
 kommer vilja g� tillbaks till DOS! Jag hoppas att jag har gjort mig
 f�rst�dd och gjort mina 3-4 l�sare en tj�nst.


 10.1.  Upphovsr�tt

 Om inget annat anges s� tillh�r upphovsr�tten f�r Linux HOWTO-dokument
 sina respektive f�rfattare. Linux HOWTO-dokument f�r reproduceras och
 distribueras hela eller i delar, p� vilket som helst medium, fysiskt
 eller elektroniskt, s� l�nge upphovsr�tts-avsnittet finns kvar i alla
 kopior. Kommersiell distribution �r till�ten och uppmuntras;
 f�rfattaren vill dock f� veta om eventuella s�dana distributioner.

 Alla �vers�ttningar, h�rledda arbeten eller sammanplockade arbeten,
 vilka inneh�ller Linux HOWTO-dokument, m�ste t�ckas av denna upphovs-
 r�tt. Allts�, du f�r producera ett h�rlett arbete fr�n en HOWTO och
 l�gga till ytterligare begr�nsningar p� dess distribution. Undantag
 fr�n dessa regler kan till�tas under vissa f�rh�llanden; var v�nlig
 kontakta Linux HOWTO-samordnaren, p� adressen nedan.

 Kort sagt, vi vill bidra till spridningen av denna information genom
 s� m�nga kanaler som m�jligt. Vi �nskar dock beh�lla upphovsr�tten
 till HOWTO-dokumenten och vill bli underr�ttade om alla planer p�
 vidare- distribution av HOWTOna.

 Om du har n�gra fr�gor, var v�nlig kontakta Tim Bynum, Linux HOWTO-
 samordnare, p� [email protected], via e-post.


 10.2.  Tillk�nnagivanden


 "From DOS to Linux HOWTO" �r skriven av Guido Gonzato,
 [email protected].  M�nga tack till Matt Welsh, f�rfattaren till
 "Linux installation and getting started", till Ian Jackson,
 f�rfattaren till "Linux frequently asked questions with answers", till
 Giuseppe Zanetti, f�rfattaren till "Linux", till alla m�nniskor som
 skickat mig e-post med f�rslag, och speciellt till Linus Torvalds och
 GNU som gav oss Linux.

 Det h�r dokumentet levereras som det �r. Jag har lagt ner mycket
 anstr�ngningar p� att skriva det s� att det st�mmer s� bra som
 m�jligt, men du f�r anv�nda informationen i det p� egen risk. Under
 inga omst�ndigheter skall jag h�llas ansvarig f�r n�gra skador, som
 resulterar ur anv�ndningen av detta arbete.

 All respons �r v�lkommen. K�nn dig v�lkommen att kontakta mig med
 fr�gor, f�rslag, "flames" osv.

 Ha det kul i Linux och livet,

 Guido   =8-)