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-)