File: DOS-Win-to-Linux-HOWTO-NL.sgml

package info (click to toggle)
doc-linux-nl 20051127-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 16,408 kB
  • ctags: 94
  • sloc: xml: 47,403; makefile: 312; perl: 193; sh: 116; ansic: 12; csh: 9
file content (2010 lines) | stat: -rw-r--r-- 74,458 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
<!doctype linuxdoc system>
<linuxdoc>
<article>
<titlepag>
<title>Van DOS/Windows naar Linux HOWTO</title> 

<author><name>Door Guido Gonzato, <tt>ggonza at tin.it</tt>,<newline>
Vertaald door: Ellen Bokhorst <tt>bokkie at nl.linux.org</tt></name></author>

<date> Versie 1.3.5. 31 augustus 2000</date>


<abstract>
Deze HOWTO is opgedragen aan alle (spoedig voormalige?) DOS en Windows
gebruikers die besloten hebben naar Linux, de vrije UNIX-kloon, over te
stappen. Het doel van dit document is de lezer te helpen zijn of haar
kennis van DOS en Windows naar de Linux omgeving om te zetten, als ook in
het voorzien van hints in het uitwisselen van bestanden en bronnen tussen
de twee OS'sen.

</abstract>
</titlepag>
<toc>


<sect><heading>Introductie</heading>
<sect1><heading>Is Linux iets voor jou?</heading>

<p>

Laten we politiek correct beginnen. In dit document heb ik het over ``Linux'',
maar ik bedoel ``GNU/Linux''. Ga alsjeblieft naar
<url url="http://www.gnu.org/gnu/linux-and-gnu.html"> om te zien waarom.

Wil je van de DOS/Windows wereld naar Linux overstappen? Goed idee:
Linux is technisch gezien superieur aan DOS, Windows 9x en zelfs Windows NT.
Maar pas op: misschien dat het niet van nut is voor je. Dit zijn de belangrijkste verschillen tussen DOS/Windows en Linux:

<itemize>

<item>Onder Windows draaien Microsoft Office en heel veel spelletjes; wordt
waargenomen als eenvoudig te installeren en configureren; het is opmerkelijk
onstabiel; heeft een magere performance; crasht frequent.
</item>

<item>Onder Linux draait StarOffice, heel veel technische software en minder
spellen; het kan lastig te installeren en configureren zijn; is rotsvast;
feilloze performance; crashes komen zelden voor.
</item>
</itemize>

Het is aan jou uit te maken wat je nodig hebt. Bovendien geeft Linux je
kracht, maar het vraagt wat tijd te leren hoe het te benutten. Dus als
je voornamelijk commerci&euml;le software nodig hebt, of als je er niets
voor voelt om nieuwe commando's en begrippen te leren, kun je je beter
ergens anders op concentreren. Wees je ervan bewust dat veel nieuwkomers
vanwege aanvangsproblemen opgeven.

Er wordt aan gewerkt Linux eenvoudiger in het gebruik te maken, maar <em>
verwacht er niet bedreven in te zijn zonder dat je heel veel documentatie
hebt gelezen en het op z'n minst voor een paar maanden hebt gebruikt</em>.
Linux geeft je geen kant en klare oplossingen. Ondanks deze waarschuwingen,
ben ik er 100&percnt; van overtuigd dat als je het juiste type gebruiker
bent, je zeer tevreden zult zijn over Linux. Tussen twee haakjes,
Linux + DOS/Win kunnen prima op dezelfde computer voorkomen.

Benodigd voor deze howto: Ik ga ervan uit dat

<itemize>

<item> je bekend bent met de basiscommando's en concepten van DOS;
</item>
<item> Linux mogelijk met X Window System (afgekort tot X11) op de juiste
wijze op je PC is ge&iuml;nstalleerd;
</item>
<item> je shell (het equivalent van <tt>COMMAND.COM</tt>) <tt>bash</tt> is.
</item>
</itemize>
</p>

<p>Tenzij anders aangegeven, wordt bij dit werk uitgegaan van dat 'slechte
ouwe' DOS. Her en der wordt informatie over Windows gegeven, maar houd in
gedachten dat Windows en Linux totaal verschillend zijn, anders dan DOS
dat een of andere sobere relatie met UNIX heeft.</p>

<p>Bedenk je alsjeblieft ook dat dit werkstuk noch een complete inleiding noch
een configuratiegids is!
</p>
<p>
De laatste versie van dit document is in verscheidene formaten beschikbaar
op <url url="http://www.linuxdoc.org">.
</p>
</sect1>


<sect1><heading>Vertel verder</heading>

<p>

Je installeerde Linux en de programma's die je nodig had op je PC. Je gaf
jezelf een account
(als dit niet zo is, typ dan <em>nu!</em> <tt>adduser jenaam</tt>
en Linux is opgestart.
Je hebt zojuist je naam en wachtwoord ingevuld, en nu kijk je naar het
scherm en denkt: ``Tja, en wat nu?''

Wanhoop niet. Je bent bijna zover dat je dezelfde dingen doet die je gewend
bent met DOS/Win te doen en nog wel meer ook. Als je nu onder DOS/Win zou
werken in plaats van onder Linux, dan zou je &eacute;&eacute;n van de volgende
taken aan het verrichten zijn:

<itemize>

<item> het draaien van programma's, aanmaken, kopi&euml;ren, bekijken,
verwijderen, afdrukken hernoemen van bestanden;
</item>
<item> CD'en, MD'en, RD'en, en DIR'ren naar je directory's;
</item>
<item> formatteren van diskettes en er bestanden van/naar kopi&euml;ren;
</item>
<item> aanpassen van het systeem;
</item>
<item> surfen op het Internet;
</item>
<item> het schrijven van .BAT bestanden en programma's in je favoriete taal;
</item>
<item> de resterende 1&percnt;.
</item>
</itemize>

Het zal je verheugen te weten dat deze taken onder Linux op een vergelijkbare
manier als onder DOS kunnen worden bewerkstelligd.
Onder DOS, gebruikt de gemiddelde gebruiker een paar van de 100+ 
beschikbare commando's: hetzelfde geldt tot op zekere hoogte voor Linux.
</p>

<sect2><heading>Inleidende begrippen</heading>

<p>

Oefening baart kunst. Je wordt aangemoedigd om met Linux te experimenteren
en spelen: tenzij je als ``root'' inlogt, kun je het systeem op die manier
niet beschadigen. Een paar aandachtspunten:

<itemize>

<item> ten eerste hoe je Linux veilig af kunt sluiten. Als je een tekstmode
scherm ziet, druk dan op &lt;CTRL-ALT-DEL&gt;, wacht totdat het systeem
herstart, en zet dan de PC uit. Als je onder het X Window Systeem werkt,
druk dan eerst op &lt;CTRL-ALT-BACKSPACE&gt;, daarna &lt;CTRL-ALT-DEL&gt;.
Schakel de PC <em>Nooit</em> direct uit en maak ook geen gebruik van de
reset knop: dit zou het bestandssysteem kunnen beschadigen;</item>

<item> in tegenstelling tot DOS of Windows, heeft Linux een ingebouwd
beveiligingsmechanisme. Met bestanden en directory's zijn permissies
geassocieerd; als resultaat daarvan kunnen er een aantal niet door de
gewone gebruiker worden benaderd; (zie Sectie <ref id="Permissions"
name="Permissies en Eigenaarschap">). DOS en Windows laten je daarentegen
de volledige inhoud van je harddisk om zeep helpen;</item>

<item> er is een speciale gebruiker genaamd ``root'': de systeembeheerder,
met de kracht van leven en dood op je computer. Als je op een eigen
PC werkt, zal je ook root zijn.
Als root werken is <em>gevaarlijk</em>: iedere vergissing kan je systeem
net als met DOS/Windows ernstig beschadigen of ru&iuml;neren.
Werk niet als root tenzij dit absoluut noodzakelijk is;</item>

<item> veel van de complexiteit van Linux komt door zijn extreme
configuratiemogelijkheden:
praktisch elke feature en iedere applicatie kan via &eacute;&eacute;n of
meer configuratiebestanden worden aangepast.
Complexiteit is de prijs die moet worden betaald voor kracht;</item>

<item> omleiding en het door middel van een pipe-symbool doorgeven van
gegevens zijn een zijdelingse DOS-feature, een zeer
belangrijke en onder Linux veel krachtiger. Eenvoudige commando's kunnen
worden samengevoegd om complexe taken te volbrengen. Ik adviseer je deze
commando's te leren gebruiken.</item>

</itemize>
</p>
</sect2>

<sect2><heading>Hulp verkrijgen</heading>

<p>

Er zijn veel manieren om hulp te krijgen met Linux. De belangrijkste zijn:

<itemize>

<item> <em>het lezen van documentatie</em>---Ik meen het. Alhoewel de
HOWTO die je aan het lezen bent als een introductie in Linux kan dienen,
zijn er verscheidene boeken die je echt zou moeten lezen: op z'n minst
Matt Welsh's ``Linux Installation and Getting Started'' (<url
url="http://www.linuxdoc.org/LDP/gs/gs.html">) en de Linux FAQ (<url
url="http://www.linuxdoc.org/FAQ/Linux-FAQ/index.html">). Voel je schuldig
net zolang totdat je er op z'n minst &eacute;&eacute;n van hebt gelezen;
</item>
<item> de documentatie van de packages die op de computer zijn
ge&iuml;nstalleerd zijn vaak te vinden in subdirectory's onder
<file>/usr/doc/</file>;
</item>
<item> typ <tt>help</tt> of, beter, <tt>man bash</tt> of <tt>info bash</tt> voor
het verkrijgen van hulp over de ``interne commando's'' van de shell;
</item>
<item> type voor hulp met een commando <tt>man commando</tt> waarmee
de handleiding (``man'') page van <tt>commando</tt> wordt aangeroepen.
Typ als alternatief <tt>info commando </tt> waarmee de info page die
betrekking heeft op
<tt>commando</tt> wordt aangeroepen; info is een op hypertekst gebaseerd
documentatiesysteem, misschien niet inti&uuml;tief om als eerste te
gebruiken. Tenslotte kun je als laatste <tt>apropos commando</tt>
of <tt>whatis commando</tt> gebruiken. Voor al deze commando's geldt
dat je op `q' drukt om het helpsysteem te verlaten.
</item>
<item> als laatste op het Internet: de juiste plaats voor het verkrijgen van
hulp is Usenet, zoals <url url="news:comp.os.linux.setup">. Email mij
alsjeblieft niet om hulp want ik ben zeer overbelast.
</item>
</itemize>
</p>
</sect2>
</sect1>

<sect1><heading>Afspraken</heading>

<p>

In dit hele document zullen voorbeelden vaak het volgende formaat volgen:
<tt><...></tt> is een vereist argument, en <tt>[...]</tt> is een
optioneel argument.
Voorbeeld:

<tscreen><verb>
$ tar -tf <bestand.tar> [> omleidingsbestand]
</verb></tscreen>

<tt>bestand.tar</tt> moet worden opgegeven, maar de omleiding naar het
<tt>omleidingsbestand</tt> is optioneel.

``LMP'' betekent ``Lees alsjeblieft de Man Pages voor verdere informatie''.
Ik kan niet genoeg benadrukken hoe belangrijk het lezen van documentatie
is.

Als de prompt van een voorbeeldcommando een <tt>&num;</tt> is, kan het
commando alleen door root worden uitgevoerd.
</p>
</sect1>
</sect>


<sect><heading>Voor de ongeduldigen</heading>

<p>

Wil je graag beginnen? Bekijk dan de volgende tabel:

<!-- Ik zou hier graag een sgml-tabel van willen maken, maar lynx toont dit
niet juist. Ik denk er nog eens over. -->

<tscreen><verb>
DOS                     Linux                  Opmerkingen
------------------------------------------------------------------------------

ATTRIB (+-)attr bestand chmod <mode> bestand   totaal anders
BACKUP                  tar -Mcvf device dir/  idem
CD dirnaam\             cd dirnaam/            bijna dezelfde syntax
COPY bestand1 bestand2  cp bestand1 bestand2   idem
DEL bestand             rm bestand             let op - geen undelete
DELTREE dirnaam         rm -R dirnaam/         idem
DIR                     ls                     niet exact dezelfde syntax
DIR bestand /S          find . -naam bestand   totaal anders
EDIT bestand            vi bestand             Ik denk dat je 't niet leuk vindt
                        jstar bestand          voelt als dos' edit
EDLIN bestand           ed bestand             vergeet het
FORMAT                  fdformat,
                        mount, umount          heel andere syntax
HELP commando           man commando,          zelfde filosofie
                        info commando
MD dirnaam              mkdir dirnaam/         bijna dezelfde syntax
MORE < bestand          less bestand           veel beter
MOVE bestand1 bestand2  mv bestand1 bestand2   idem
NUL                     /dev/null              idem
PRINT bestand           lpr bestand            idem
PRN                     /dev/lp0,
                        /dev/lp1               idem
RD dirnaam              rmdir dirnaam/         bijna dezelfde syntax
REN bestand1 bestand2   mv bestand1 bestand2   niet voor meerdere bestanden
RESTORE                 tar -Mxpvf device      andere syntax
TYPE bestand            less bestand           veel beter
WIN                     startx                 hemelsbreed verschil!
</verb></tscreen>

Raadpleeg alsjeblieft de volgende secties als je meer nodig hebt dan een
tabel met commando's.
</p>
</sect>

<sect><heading>Maak kennis met bash</heading>

<p>

Goed nieuws: onder Linux typ je veel minder achter de prompt, omdat de
<tt>bash</tt> shell zo mogelijk voor je typt, en het heeft geweldige 
regelediting mogelijkheden. Om mee te beginnen, haalt de cursorpijl
naar boven de voorgaande commandoregels terug; maar er is meer.
Het indrukken van de &lt;TAB&gt; vult bestands- en directorynamen aan, dus
het typen van

<tscreen><verb>
$ ls /uTABloTABbTAB
</verb></tscreen>

is als het intikken van

<tscreen><verb>
$ ls /usr/local/bin
</verb></tscreen>

Als er dubbelzinnigheden optreden, zoals bij het intikken van

<tscreen><verb>
$ ls /uTABloTABiTAB
</verb></tscreen>

stopt <tt>bash</tt> omdat het niet weet of je
<file>/usr/local/info</file> of <file>/usr/local/include</file> bedoelt.
Voeg meer tekens toe en druk dan nogmaals op &lt;TAB&gt;.

Andere handige toetsaanslagen zijn &lt;ESC-BACKSPACE&gt; waarmee een woord
links wordt verwijderd, en
&lt;ESC-D&gt; waarmee een woord rechts wordt verwijderd; &lt;ESC-F&gt;
verplaatst de cursor &eacute;&eacute;n woord naar rechts, &lt;ESC-B&gt; 
naar links; &lt;CTRL-A&gt; verplaatst de cursor naar het begin van de
regel, &lt;CTRL-E&gt; naar het einde.
De &lt;ALT&gt; toets is equivalent aan &lt;ESC&gt;.

Genoeg voor het moment. 
Zodra je aan deze sneltoetsen gewend raakt, zal je de DOS-prompt zeer
ergerlijk vinden...
</p>
</sect>

<sect><heading>Bestanden en programma's</heading>
<sect1><heading>Bestanden: Opmerkingen vooraf</heading>

<p>

Linux heeft een directory- en bestandsstructuur die erg veel lijkt op
die van DOS/Win. Bestanden hebben namen die aan bepaalde regels moeten
voldoen, worden opgeslagen in directory's, een aantal ervan zijn uitvoerbaar,
en hiervan hebben de meeste commando-switches.
Bovendien kun je gebruik maken van wildcard characters (jokertekens), 
redirection en piping (het omleiden/doorsturen van uitvoer). Er zijn slechts een
paar kleine verschillen:

<itemize>

<item> onder DOS zijn de bestandsnamen in de zogenoemde 8.3 vorm; b.v.
<tt>NOTENOUG.TXT</tt>. Onder Linux kunnen we dat beter. Als je Linux
installeerde door gebruik te maken van een bestandssysteem als ext2 of 
umsdos, kun je langere bestandsnamen gebruiken (tot aan 255 tekens), en met
meer dan &eacute;&eacute;n punt: bijvoorbeeld:
<tt>Dit_is.een.ZEER_lange.bestandsnaam</tt>. Merk alsjeblieft op dat ik
zowel gebruik maakte van hoofdletters als kleine letters: in feite...
</item>
<item> worden hoofdletters en kleine letters in bestandsnamen als
verschillende tekens gezien. Daarom zijn
<tt>FILENAME.tar.gz</tt> en <tt>filename.tar.gz</tt> twee verschillende
bestanden. <tt>ls</tt> is een commando, <tt>LS</tt> is een fout;
</item>
<item> Windows gebruikers, let op wanneer je gebruik maakt van bestandsnamen
onder Linux. Als er in een bestandsnaam spaties voorkomen (niet aan te
bevelen maar wel mogelijk), moet je de bestandsnaam tussen 
dubbele aanhalingstekens plaatsen wanneer je ernaar refereert. Bijvoorbeeld:

<tscreen><verb>
$ # het volgende commando maakt een directory genaamd "Mijn oude bestanden"
$ mkdir "Mijn oude bestanden"
$ ls
Mijn oude bestanden    bin     tmp
</verb></tscreen>

Bovendien is het beter een aantal tekens niet te gebruiken: een aantal
daarvan zijn <tt>!*&dollar;&amp;&num;</tt>.
</item>
<item> er zijn voor programma's geen verplichte extensies zoals .COM en
.EXE of .BAT voor batchbestanden.
Uitvoerbare bestanden worden aan het einde van de bestandsnaam
door een asterisk `<tt>*</tt>' gemarkeerd wanneer je het commando
<tt>ls -F</tt> geeft. Bijvoorbeeld:

<tscreen><verb>
$ ls -F
Ik_ben_een_dir/   cindy.jpg    cjpg*   brief_aan_Joe    mijn_1e_script*  oud~
</verb></tscreen>

De bestanden <tt>cjpg*</tt> en <tt>mijn_1e_script*</tt> zijn uitvoerbare
bestanden, dat wil zeggen ``programma's''. Onder DOS eindigen backupbestanden
op .BAK, onder Linux eindigen ze op een tilde `<tt>&tilde;</tt>'. 
Een bestand waarvan de naam begint met een punt wordt als verborgen aangemerkt.
Voorbeeld: het bestand
<tt>.Ik.ben.een.verborgen.bestand</tt> zal na het commando <tt>ls</tt> niet
worden getoond;
</item>
<item> DOS programma switches worden verkregen met <tt>/switch</tt>, Linux
switches met <tt>-switch</tt> of <tt>--switch</tt>. Voorbeeld: <tt>dir
/s<</tt>tt> wordt <tt>ls -R</tt>. Merk op dat veel DOS programma's, zoals
<tt>PKZIP</tt> of <tt>ARJ</tt>, switches in de stijl van UNIX gebruiken.
</item>
</itemize>

Je kunt nu naar de sectie <ref id="Files" name="Commando's van DOS naar Linux vertalen"> gaan, maar als ik jou was zou ik verder lezen.

</p>
</sect1>

<sect1><heading>Symbolische links</heading>

<p>

UNIX heeft een type bestand dat onder DOS niet voorkomt: de symbolische link.
Je kunt hierbij denken aan een verwijzer naar een bestand of directory,
en het kan in plaats van het bestand of directory waarnaar het verwijst 
worden gebruikt; het is vergelijkbaar met de snelkoppelingen van Windows.
Voorbeelden van symbolische links zijn <tt>/usr/X11</tt>, die naar
<tt>/usr/X11R6</tt> verwijst; <tt>/dev/modem</tt>, die naar 
<tt>/dev/ttyS0</tt> of <tt>/dev/ttyS1</tt> verwijst.

Om een symbolische link aan te maken:

<tscreen><verb>
$ ln -s <bestand_of_dir> <linknaam>
</verb></tscreen>

Voorbeeld:

<tscreen><verb>
$ ln -s /usr/doc/g77/DOC g77manual.txt
</verb></tscreen>

Nu kun je naar <tt>g77manual.txt</tt> verwijzen in plaats van
<tt>/usr/doc/g77/DOC</tt>. Links verschijnen als volgt in directorylistings:

<tscreen><verb>
$ ls -F
g77manual.txt@
$ ls -l
(van alles en nog wat...)           g77manual.txt -> /usr/doc/g77/DOC
</verb></tscreen>
</p>
</sect1>

<sect1><heading>Permissies en Eigenaarschap <label id="Permissions"></heading>

<p>

DOS bestanden en directory's hebben de volgende kenmerken:
A (archive = archief), H (hidden = verborgen), R (read-only = alleen lezen), en 
S (system = systeem). 
Alleen H en R hebben onder Linux een betekenis: verborgen bestanden
beginnen met een punt, en wat betreft het kenmerk R, lees verder.

Onder UNIX heeft een bestand ``permissies'' en een eigenaar, die op zijn
beurt weer aan een ``groep'' toebehoort.
Kijk naar dit voorbeeld:

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

In het eerste veld staan de permissies van het bestand <tt>/bin/ls</tt>, welke
aan root toebehoort, groep bin.
De resterende informatie latend voor wat het is, onthoud dat
<tt>-rwxr-xr-x</tt> van links naar rechts betekent:

<tt>-</tt> het bestandstype is (<tt>-</tt> = gewoon bestand, <tt>d</tt> =
directory, <tt>l</tt> = link, enz.); <tt>rwx</tt> zijn de permissies voor de
eigenaar van het bestand (read/lezen, write/schrijven, execute/uitvoeren); <tt>r-x</tt> zijn de
permissies voor de groep van de eigenaar van het bestand
(read, execute); (Ik ga het niet hebben over het begrip groep, je kunt zolang
je beginner bent zonder ;-0
<tt>r-x</tt> zijn de permissies voor alle andere gebruikers (read, execute).

De directory <tt>/bin</tt> heeft ook permissies: zie sectie <ref
id="Directories Permissions" name="Directory Permissies"> voor verdere details.
Daarom kun je het bestand <tt>/bin/ls</tt> niet verwijderen tenzij je root bent:
je hebt geen permissie om dat te doen. Het commando voor het wijzigen van
de bestandspermissies is:

<tscreen><verb>
$ chmod <wieXperm> <file>
</verb></tscreen>

`wie' is <tt>u</tt> (user, dat is de eigenaar), <tt>g</tt> (group),
<tt>o</tt> (other=anderen), X is of <tt>+</tt> of <tt>-</tt>, perm is <tt>r</tt>
(read), <tt>w</tt> (write), of <tt>x</tt> (execute). Algemene voorbeelden van
<tt>chmod</tt> zijn:

<tscreen><verb>
$ chmod +x bestand
</verb></tscreen>

hiermee wordt de execute permissie voor het bestand ingesteld.

<tscreen><verb>
$ chmod go-rw bestand
</verb></tscreen>

hiermee wordt de read en write permissies voor iedereen behalve de eigenaar
ingesteld.

<tscreen><verb>
$ chmod ugo+rwx bestand
</verb></tscreen>

dit geeft iedereen read, write en execute permissie.

<tscreen><verb>
# chmod +s bestand
</verb></tscreen>

hiermee wordt een zogenoemd ``setuid'' of ``suid'' bestand aangemaakt---
een bestand dat iedereen uit mag voeren met de privileges van de eigenaar.
Je zal ongetwijfeld root suid bestanden tegenkomen; dit zijn vaak belangrijke
systeembestanden, zoals de X-server.

Een beknoptere manier om naar permissies te refereren is met cijfers:
<tt>rwxr-xr-x</tt> kan worden uitgedrukt als 755 (iedere letter correspondeert
met een bit: <tt>---</tt> is 0,
<tt>--x</tt> is 1, <tt>-w-</tt> is 2, <tt>-wx</tt> is 3...). Het ziet er
moeilijk uit, maar met wat oefening zal je het concept begrijpen. root, als
superuser, kan de bestandspermissies van iedereen wijzigen.
LMP.
</p>
</sect1>

<sect1><heading>Bestanden: Commando's vertalen<label id="Files"></heading>

<p>

Links de DOS-commando's; rechts de Linux tegenhanger.

<tscreen><verb>
ATTRIB:         chmod
COPY:           cp
DEL:            rm
MOVE:           mv
REN:            mv
TYPE:           more, less, cat
</verb></tscreen>

Omleidings- en andere operatoren: <tt> < > >> |</tt>

Wildcards: <tt>* ?</tt>

<tt>nul:        /dev/null</tt>

<tt>prn, lpt1:  /dev/lp0 of /dev/lp1; lpr</tt>
</p>

<sect2><heading>Voorbeelden</heading>

<p> 

<tscreen><verb>
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
</verb></tscreen>

Opmerkingen:

<itemize>

<item> <tt>*</tt> is slimmer onder Linux: <tt>*</tt> komt overeen met
alle bestanden behalve de verborgen bestanden;
<tt>.*</tt> komt overeen met alle verborgen bestanden (maar ook de huidige
directory `<tt>.</tt>' en parent directory `<tt>..</tt>': let op!);
<tt>*.*</tt> komt alleen overeen met bestanden met een `<tt>.</tt>' in het
midden of die op een punt eindigen; <tt>p*r</tt> komt overeen met zowel
`peter' als `piper';
<tt>*c*</tt> komt overeen met zowel `picked' als `peck';
</item>
<item> druk bij gebruik van <tt>more</tt>, op de &lt;SPATIEBALK&gt; om
door het bestand te bladeren, `q' om het te verlaten.
<tt>less</tt> is intu&iuml;tiever en laat je de pijltjestoetsen gebruiken;
</item>
<item> er is geen <tt>UNDELETE</tt>, dus <em>bedenk je tweemaal</em> 
voordat je iets verwijdert;
</item>
<item> in aanvulling op de <tt>&lt; &gt; &gt;&gt;</tt> van DOS, heeft Linux
<tt>2&gt;</tt> om foutmeldingen om te leiden (stderr); bovendien
wordt met <tt>2&gt;&amp;1</tt> stderr naar stdout omgeleid, en 
<tt>1&gt;&amp;2</tt> leidt stdout om naar stderr;
</item>
<item> Linux heeft nog een wildcard: de <tt>[]</tt>. Gebruik: <tt>[abc]*</tt>
komt overeen met bestanden die beginnen met een a, b, c; <tt>*[I-N1-3]</tt> 
komt overeen met bestanden die eindigen op
I, J, K, L, M, N, 1, 2, 3;
</item>
<item> <tt>lpr</tt> &lt;bestand&gt; drukt een bestand af in de achtergrond.
Gebruik <tt>lpq</tt> voor het controleren van de status van de afdrukwachtrij;
gebruik <tt>lprm</tt> voor het verwijderen van een bestand uit de afdrukwachtrij;
</item>
<item> er is geen op DOS lijkend <tt>RENAME</tt>; dat wil zeggen dat
<tt>mv *.xxx *.yyy</tt> niet zal werken. Een op REN lijkend commando is 
te vinden op <url url="ftp://metalab.unc.edu/pub/Linux/utils/file">;
</item>
<item> gebruik <tt>cp -i</tt> en <tt>mv -i</tt> om te worden gewaarschuwd
wanneer een bestand zal worden overschreven.
</item>
</itemize>
</p>
</sect2>
</sect1>

<sect1><heading>Programma's uitvoeren: Multitasking en Sessies</heading>

<p>

Om een programma uit te voeren, typ je net als onder DOS de naam ervan in.
Als de directory (Sectie <ref id="Directories" name="Gebruik van directory's">)
waarin het programma is opgeslagen in het PATH is opgenomen (Sectie <ref id="System Initialisation" name="Systeem initialisatiebestanden">), zal het programma
worden opgestart. Uitzondering: in tegenstelling tot DOS, zal een programma
in de huidige directory niet worden uitgevoerd, tenzij de directory in het
PATH is opgenomen. Je kunt hieraan ontsnappen: als <tt>prog</tt> je programma
is, typ dan <tt>./prog</tt>.

Zo ziet een typische commandoregel eruit:

<tscreen><verb>
$ commando [-s1 [-s2] ... [-sn]] [par1 [par2] ... [parn]] [< invoer] [> uitvoer]
</verb></tscreen>

waar de <tt>-s1</tt>, ..., <tt>-sn</tt> staan voor programma-switches.
<tt>par1</tt>, ..., <tt>parn</tt> zijn de programma parameters. Je kunt
verscheidene commando's op de commandoregel aanroepen:

<tscreen><verb>
$ commando-1 ; commando-2 ; ... ; commando-n
</verb></tscreen>

Dat is alles over het draaien van programma's, maar het is eenvoudig een stap
verder te gaan. E&eacute;n van de belangrijkste redenen om Linux te gebruiken
is dat het een multitasking os is--- het kan verscheidene programma's
tegelijkertijd draaien (van nu af aan, processen).
Je kunt processen in de achtergrond opstarten en gewoon door blijven werken. 
Bovendien staat Linux toe dat je meerdere sessies hebt lopen:
het is alsof je veel computers tegelijk aan het werk zet!

<itemize>

<item> Druk op &lt;ALT-F1&gt; ... &lt;ALT-F6&gt; om naar sessie 1..6 onder de
virtuele console over te schakelen
</item>
<item> Typ <tt>su - &lt;loginnaam&gt;</tt> voor het starten van een
nieuwe sessie onder dezelfde v.c. zonder de huidige v.c. te verlaten.
Voorbeeld: <tt>su - root</tt>. Dit komt bijvoorbeeld van pas als je een
taak uit moet voeren waarvoor alleen de root-gebruiker permissie heeft.
</item>
<item> Typ voor het be&euml;indigen van een sessie <tt>exit</tt>. 
Als er gestopte jobs zijn (zie verderop), krijg je een waarschuwing.
</item>
<item> Voeg een ampersand '<tt>&amp;</tt>' aan het einde van de
commandoregel toe voor het in de achtergrond opstarten van een proces:

<tscreen><verb>
$ prognaam [-switches] [parameters] [< invoer] [> uitvoer] &
[1] 123
</verb></tscreen>

de shell identificeert het proces met een jobnummer (b.v. <tt>[1]</tt>; zie
hieronder), en met een PID (Proces Identificatie Nummer; 123 in ons voorbeeld).
</item>
<item> Typ <tt>ps ax</tt> om te bekijken hoeveel processen er zijn. 
Hiermee krijg je als uitvoer een lijst met de thans draaiende processen.
</item>
<item> Typ <tt>kill &lt;PID&gt;</tt> voor het killen (be&euml;indigen)
van een proces. Wellicht dat je het eens nodig hebt als je niet weet hoe
je een proces op de juiste wijze moet laten eindigen...
Tenzij je root bent, kun je andermans processen niet killen.
Soms kan een proces alleen worden be&euml;indigd met <tt>kill -SIGKILL
&lt;PID&gt;</tt>.

Bovendien laat de shell je een proces stoppen of tijdelijk uitstellen,
een proces naar de achtergrond sturen, en een proces vanuit de achtergrond
naar de voorgrond brengen. In deze context, worden processen ``jobs'' genoemd.
</item>
<item> Typ <tt>jobs</tt> om te zien hoeveel jobs er zijn. Hier worden de
jobs ge&iuml;ndentificeerd door een jobnummer, niet via een PID.
</item>
<item> Druk op &lt;CTRL-C&gt; om een in de voorgrond draaiend proces te
stoppen (dit werkt niet altijd).
</item>
<item> Druk op &lt;CTRL-Z&gt; om een in de voorgrond draaiend proces uit te
stellen (idem).
</item>
<item> Typ <tt>bg &lt;%job&gt;</tt> voor een uitgesteld proces naar de
achtergrond te sturen (het wordt een job).
</item>
<item> Voor het naar de voorgrond brengen van een job typ je 
<tt>fg &lt;%job&gt;</tt>. Voor het naar de voorgrond brengen van de laatste
job die naar de achtergrond is gestuurd, typ je eenvoudigweg <tt>fg</tt>.
</item>
<item> Typ voor het killen van een job <tt>kill &lt;%job&gt;</tt> 
waarbij &lt;job&gt; gelijk kan zijn aan 1, 2, 3,...
</item>
</itemize>

Met deze commando's kun je tegelijkertijd een disk formatteren, een boel
bestanden zippen, een programma compileren en een archief uitpakken en nog
steeds de prompt tot je beschikking hebben. Probeer dit eens met Windows,
enkel om het verschil in performance te zien (als het niet crasht, uiteraard).
</p>
</sect1>

<sect1><heading>Programma's op Remote computers uitvoeren</heading>

<p>

Voor het uitvoeren van een programma op een remote computer met de naam
<tt>remote.machine.edu</tt>:

<tscreen><verb>
$ telnet remote.machine.edu
</verb></tscreen>

Start na het inloggen je favoriete programma. Onnodig te zeggen dat je een
shell-account op de remote computer nodig hebt.

Als je X11 hebt, kun je zelfs een X-applicatie op een remote computer
uitvoeren en het op je X scherm weergeven.
Stel dat <tt>remote.machine.edu</tt> de remote X-computer is en
<tt>local.linux.box</tt> je Linux-computer. Om een X-programma vanaf
<tt>local.linux.box</tt> dat zich bevindt op
<tt>remote.machine.edu</tt> uit te voeren, doe je het volgende:

<itemize>

<item> start X11 op, start een <tt>xterm</tt> of equivalente terminal emulator,
en typ dan:

<tscreen><verb>
$ xhost +remote.machine.edu
$ telnet remote.machine.edu
</verb></tscreen>
</item>
<item> typ na het inloggen:

<tscreen><verb>
remote:$ DISPLAY=local.linux.box:0.0
remote:$ prognaam &
</verb></tscreen>

(in plaats van <tt>DISPLAY...</tt>, moet je mogelijk opgeven: <tt>setenv DISPLAY
local.linux.box:0.0</tt>. Dit is afhankelijk van de remote shell.)
</item>
</itemize>

En ziedaar! Nu zal <tt>prognaam</tt> op <tt>remote.machine.edu</tt> worden
opgestart en op je computer worden weergegeven. Probeer dit echter niet via een
modem, aangezien dit zo langzaam is dat het niet meer werkbaar is.
Bovendien is dit een grove en onveilige methode:
lees alsjeblieft de ``Remote X Apps mini-HOWTO'' op <url
url="http://www.linuxdoc.org/HOWTO/mini/Remote-X-Apps.html">.
</p>
</sect1>
</sect>

<sect><heading>Gebruik van directory's<label id="Directories"></heading>
<sect1><heading>Directory's: Opmerkingen vooraf</heading>

<p>

We hebben tussen bestanden onder DOS/Win en Linux verschillen gezien. 
Wat betreft directory's is de root directory onder DOS/Win <tt>&bsol;</tt>,
onder Linux is het <tt>/</tt>. Evenzo worden geneste directory's  
onder DOS/Win gescheiden door een <tt/&bsol;/
onder Linux door een <tt>/</tt>. Voorbeelden van directorypaden:

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

Zoals gebruikelijk is <tt>..</tt> de parent directory en <tt>.</tt> de 
huidige directory.
Onthoud dat het systeem je niet toelaat overal waar je maar wil 
<tt>cd</tt>, <tt>rd</tt>, of <tt>md</tt> uit te voeren. 
Iedere gebruiker heeft zijn of haar
zaakjes in een directory genaamd `home', gegeven door de systeembeheerder;
op mijn PC bijvoorbeeld, is mijn homedir <tt>/home/guido</tt>.
</p>
</sect1>

<sect1><heading>Directory permissies<label id="Directories Permissions"></heading>

<p>

Ook directory's hebben permissies. Wat we in paragraaf <ref
id="Permissions" name="Permissies en Eigenaarschap"> hebben gezien, geldt
ook voor directory's (user, group, en other). 
Voor een directory betekent <tt>rx</tt> dat je met <tt>cd</tt>
naar die directory kunt gaan, en <tt>w</tt> betekent dat je een
bestand in de directory of de directory zelf kunt verwijderen
(overeenkomstig de permissies van het bestand uiteraard).

Om bijvoorbeeld te voorkomen dat andere gebruikers in
<tt>/home/guido/text</tt> rond gaan snuffelen:

<tscreen><verb>
$ chmod o-rwx /home/guido/text
</verb></tscreen>
</p>
</sect1>

<sect1><heading>
Directory's: Commando's vertalen<label id="Directories: Trans">
</heading>

<p>

<tscreen><verb>
DIR:            ls, find, du
CD:             cd, pwd
MD:             mkdir
RD:             rmdir
DELTREE:        rm -rf
MOVE:           mv
</verb></tscreen>
</p>

<sect2><heading>Voorbeelden</heading>

<p>

<tscreen><verb>
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 - zie opmerking             $ cd
        idem                            $ cd ~
        idem                            $ 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 -rf temp/trash
C:\GUIDO>RD NEWPROGS                    $ rmdir newprogs
C:\GUIDO>RD \PROGS\TURBO                $ rmdir /progs/turbo
</verb></tscreen>

Opmerkingen:

<itemize>

<item> bij gebruik van <tt>rmdir</tt>, moet de te verplaatsen directory
leeg zijn. Gebruik <tt>rm -rf</tt> voor het verwijderen van een directory
met gehele inhoud (op eigen risico).
</item>
<item> het teken `<tt>&tilde;</tt>' is een verkorte vorm voor de naam van je
homedirectory.
De commando's <tt>cd</tt> en <tt>cd ~</tt> zullen je naar je homedirectory
laten terugkeren van waar je je ook bevindt; het commando <tt>cd ~/tmp</tt>
brengt je naar <tt>/home/je_home/tmp</tt>.
</item>
<item> <tt>cd -</tt> ``annuleert'' de laatste <tt>cd</tt>.
</item>
</itemize>
</p>
</sect2>
</sect1>
</sect>

<sect><heading>Floppy's, Harddisks, en dergelijke <label id="Floppies"></heading>

<p>

Er zijn onder Linux twee manieren om devices te beheren: op de manier van DOS
en op de manier van Unix. Maak je keuze.
</p>

<sect1><heading>Devices beheren zoals DOS het doet</heading>

<p>

In de meeste Linux distributies is de Mtools suite opgenomen, 
een set commando's welke perfect equivalent is aan de 
DOS tegenhanger, maar waarvan de commando's met een `m' beginnen:
d.w.z., <tt>mformat</tt>, <tt>mdir</tt>, <tt>mdel</tt>, <tt>mmd</tt>, 
enzovoort.
Ze kunnen zelfs lange bestandsnamen behouden, maar niet de bestandspermissies.
Als je Mtools configureert door het wijzigen van een bestand genaamd
<file>/etc/mtools.conf</file> (een voorbeeld is in de distributie opgenomen),
kun je ook de DOS/Win partitie, de CD-ROM en de Zip-drive benaderen.
Voor het formatteren van een nieuwe disk is het <tt>mformat</tt>
commando echter niet geschikt. Als root zal je het volgende commando
van te voren uit moeten voeren:
<tt>fdformat /dev/fd0H1440</tt>.

Je kunt bestanden op de diskette niet benaderen met een commando zoals bv
<tt>less a:file.txt</tt>! Dit is het nadeel van het benaderen van disks op
de wijze van DOS.
</p>
</sect1>

<sect1><heading>Devices beheren zoals Unix het doet</heading>

<p>

UNIX heeft een andere manier om met devices om te gaan. 
Er zijn geen aparte volumes zoals A: of C:; een disk, of het nu een diskette
is of wat dan ook, wordt onderdeel van het lokale bestandssysteem via een
bewerking genaamd ``mounting''. Wanneer je met de diskette klaar bent,
moet je het ``unmounten'' voordat je de diskette uit het station haalt.

Het fysiek formatteren van een disk is een ding, er een bestandssysteem
op maken is weer iets anders. Het DOS commando
<tt>FORMAT A:</tt> doet beiden, maar onder Linux zijn er twee aparte
commando's voor. Zie hiervoor hoe je een diskette formatteert, het aanmaken
van een bestandssysteem gaat zo:

<tscreen><verb>
# mkfs -t ext2 -c /dev/fd0H1440
</verb></tscreen>

In plaats van <tt>ext2</tt> kun je <tt>dos</tt>, <tt>vfat</tt> (aanbevolen) of
andere formaten gebruiken. Zodra de disk is voorbereid, mount je het met het
commando:

<tscreen><verb>
# mount -t ext2 /dev/fd0 /mnt
</verb></tscreen>

waarbij je het juiste bestandssysteem opgeeft als je geen gebruik maakt van
<tt>ext2</tt>. Nu kun je de bestanden op de diskette adresseren door gebruik
te maken van <tt>/mnt</tt> in plaats van A: of B:.
Voorbeelden:

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

Als je klaar bent, <em>moet</em> je voordat je de disk eruit haalt
het unmounten met het commando

<tscreen><verb>
# umount /mnt
</verb></tscreen>

Uiteraard hoef je de commando's <tt>fdformat</tt> en <tt>mkfs</tt> 
alleen te gebruiken voor ongeformatteerde disks, niet op voorheen gebruikte
disks. Als je station B: wilt gebruiken, refereer je in de voorbeelden
hiervoor ernaar met <tt>fd1H1440</tt> en <tt>fd1</tt> in plaats van
<tt>fd0H1440</tt> en <tt>fd0</tt>.

Onnodig te zeggen dat wat voor diskettes geldt ook voor andere devices geldt;
bijvoorbeeld, wellicht dat je een andere harddisk of CD-ROM station wilt
mounten. Zo mount je een CD-ROM:

<tscreen><verb>
# mount -t iso9660 /dev/cdrom /mnt
</verb></tscreen>

Dit was de ``offici&euml;le manier om je disks te mounten, maar er is een
andere manier. Aangezien het wat lastig is root te moeten zijn voor het mounten
van een diskette of CD-ROM, kan gebruikers worden toegestaan ze op deze
wijze te mounten:

<itemize>

<item> doe als root het volgende:

<tscreen><verb>
# mkdir /mnt/floppy ; mkdir /mnt/cdrom
# chmod 777 /mnt/floppy /mnt/cd*
# # zorg ervoor dat het 't juiste CD-ROM device is
# chmod 666 /dev/hdb ; chmod 666 /dev/fd*
</verb></tscreen>
</item>
<item> voeg aan <file>/etc/fstab</file> de volgende regels toe:

<tscreen><verb>
/dev/cdrom      /mnt/cdrom  iso9660 ro,user,noauto          0       0
/dev/fd0        /mnt/floppy vfat    user,noauto             0       0
</verb></tscreen>
</item>
</itemize>

Mount nu een DOS diskete en een CD-ROM:

<tscreen><verb>
$ mount /mnt/floppy
$ mount /mnt/cdrom
</verb></tscreen>

<file>/mnt/floppy</file> en <file>/mnt/cdrom</file>
kunnen nu door iedere gebruiker worden benaderd. 
Als dit je wat uitmaakt, denk er dan aan dat het iedereen toestaan op deze
manier disks te mounten een gapend beveiligingslek is.

Twee handige commando's zijn <tt>df</tt>, welke informatie geeft over gemounte
bestandssystemen, en <tt>du dirnaam</tt> welke de door de directory in beslag
genomen diskruimte rapporteert.
</p>
</sect1>

<sect1><heading>Backup maken<label id="Backing Up"></heading>

<p>

Er zijn verscheidene packages om je te helpen, maar het minste wat je kunt
doen voor een multi-volume backup (als root) is:

<tscreen><verb>
# tar -M -cvf /dev/fd0H1440 dir_to_backup/
</verb></tscreen>

Zorg ervoor dat er een geformatteerde diskette in het station is en dat je
er nog verscheidene bij de hand hebt.
Voor het terugzetten doe je de eerste diskette in het diskettestation en geef
je op:

<tscreen><verb>
# tar -M -xpvf /dev/fd0H1440
</verb></tscreen>
</p>
</sect1>
</sect>


<sect><heading>En hoe zit het met Windows?</heading>

<p>

Het ``equivalent'' van Windows is het grafische systeem X Window System. In
tegenstelling tot Windows of de Mac, werd X11 niet voor eenvoudig gebruiksgemak
of voor een fraaie weergave ontworpen, maar slechts om te voorzien in
grafische mogelijkheden voor UNIX werkstations.
Dit zijn de belangrijkste verschillen:

<itemize>

<item> terwijl Windows er in de gehele wereld hetzelfde uitziet, geldt dit
niet voor X11: het is veel beter te configureren. 
X11's algehele look wordt weergegeven door een keycomponent genaamd
``window manager'', waarin je een brede keuze hebt:
<tt>fvwm</tt>, een basis maar mooi en geheugeneffici&euml;nt,
<tt>fvwm2-95</tt>, <tt>Afterstep</tt>, <tt>WindowMaker</tt>, 
<tt>Enlightenment</tt>, en nog heel wat meer. De w.m. wordt gewoonlijk
aangeroepen vanuit <tt>.xinitrc</tt>;
</item>
<item> je w.m. kan zo worden geconfigueerd zoals een venster onder Windows
fungeert: je klikt erop en het verschijnt op de voorgrond.
Een andere mogelijkheid is dat het naar de voorgrond wordt verplaatst als
de muis erover beweegt (``focus''). Ook kan het plaatsen van vensters
op het scherm automatisch of interactief zijn: als een vreemd frame in
plaats van je programma verschijnt, klik dan met de linkermuis op de plaats
waar je wilt dat het tevoorschijn komt;
</item>
<item> de meeste features kunnen worden aangepast door het wijzigen van
&eacute;&eacute;n of meer configuratiebestanden.
Lees de docs van je w.m.: het configuratiebestand kan b.v. zijn
<tt>.fvwmrc</tt>, <tt>.fvwm2rc95</tt>, <tt>.steprc</tt>, enz. Een
voorbeeld configuratiebestand is meestal wel te vinden in
<file>/etc/X11/window-manager-name/system.window-manager-name</file>;
</item>
<item> X11 applicaties zijn geschreven met behulp van speciale library's
(``widget sets''); aangezien er verscheidene beschikbaar zijn, zien de
applicaties er anders uit. De meest fundamentele applicaties zijn degenen die
gebruik maken van de Athena widgets (2--D look; <tt>xdvi</tt>,
<tt>xman</tt>, <tt>xcalc</tt>); anderen maken gebruik van Motif
(<tt>netscape</tt>), anderen gebruiken nog steeds
Tcl/Tk, Qt, Gtk, XForms, of wat je ook maar hebt. Bijna al deze library's
voorzien in ruwweg dezelfde look en feel als Windows;
</item>
<item> de feel kan helaas verwarrend zijn. Als je bijvoorbeeld met behulp
van de muis een regel tekst selecteert en de
&lt;BACKSPACE&gt; indrukt, verwacht je dat de regel zal verdwijnen, nietwaar?
Met op Athena gebaseerde applicaties werkt dit niet, maar dit werkt wel zo
met andere widget sets;
</item>
<item> hoe schuifbalken en het wijzigen van de grootte werkt is afhankelijk
van de w.m. en de widget set.
Tip: als je bemerkt dat de schuifbalken niet zo werken als je verwacht,
probeer dan de middelste knop of de twee knoppen samen om ze te verplaatsen;
</item>
<item> applicaties hebben standaard geen ikoon, maar ze kunnen er meerdere
hebben. De meeste w.m. hebben een menu wat je kunt openen door op de desktop
te klikken (``root
window''); onnodig te zeggen dat het menu kan worden aangepast. 
Voor het wijzigen van de opmaak van het root
window gebruik je <tt>xsetroot</tt> of <tt>xloadimage</tt>;
</item>
<item> het klembord kan slechts tekst bevatten, en gedraagt zich vreemd.
Zodra je tekst hebt geselecteerd, is het al naar het klembord gekopieerd:
verplaats je naar elders en druk voor het plakken op de middelste knop.
Er is een applicatie genaamd <tt>xclipboard</tt>, welke in meerdere
klembordbuffers voorziet;
</item>
<item> slepen en neerzetten is een optie, en is alleen beschikbaar als je
X11 applicaties en/of een w.m. gebruikt dat dit ondersteunt.
</item>
</itemize>

Met dit te hebben gezegd is er goed nieuws voor je. Er zijn projecten die
zich richten op een zelfde look en feel en het fungeren van X11 als Windows.
Gnome, <url url="http://www.gnome.org">, en KDE, 
<url url="http://www.kde.org">, boezemen eenvoudigweg ontzag in.
Zeer waarschijnlijk maakt je distributie van &eacute;&eacute;n of beiden
gebruik. Je zal geen spijt meer hebben van je Windows desktop!
</p>
</sect>

<sect><heading>Aanpassen van het systeem</heading>
<sect1><heading>
Systeem Initialisatie Bestanden <label id="System Initialisation"></heading>

<p>

Twee belangrijke bestanden onder DOS zijn <tt>AUTOEXEC.BAT</tt> en
<tt>CONFIG.SYS</tt>, die tijdens de systeemstart worden gebruikt om het
systeem te initialiseren, een aantal omgevingsvariabelen, zoals PATH en
FILES in te stellen, en mogelijk een programma of batchbestand op te starten.
Daar bovenop heeft Windows het beruchte register---&eacute;&eacute;n van de
slechtste idee&euml;n ooit in de computerwetenschap.

Onder Linux zijn er heel veel initialisatiebestanden te vinden, waar
je van een aantal maar beter af kunt blijven totdat je exact weet wat je
aan het doen bent; ze zijn te vinden in de
<file>/etc</file> directory. Alle configuratie kan worden gedaan door het
wijzigen van gewone tekstbestanden. Als je alleen 
het PATH en andere omgevingsvariabelen hoeft in te stellen, of je de
loginberichten wilt wijzigen of bij het inloggen automatisch een programma
op wilt laten starten, kijk dan eens naar de volgende bestanden:

<tscreen><verb>
BESTANDEN                             OPMERKINGEN

/etc/issue                            instellen bericht voor inloggen
/etc/motd                             instellen bericht na inloggen
/etc/profile                          instellen $PATH en andere variabelen,enz
/etc/bashrc                           instellen aliassen en functies, enz
/home/je_home/.bashrc                 instellen van je aliassen + functies
/home/je_home/.bash_profile   of
/home/je_home/.profile                instellen omgeving + starten van
                                      programma's
</verb></tscreen>

Als het laatste bestand voorkomt (het is een verborgen bestand), zal het na
het inloggen worden ingelezen, en de commando's die erin staan zullen worden
uitgevoerd.

Voorbeeld---kijk naar dit <tt>.bash_profile</tt> bestand:

<code>
# Ik ben commentaar
echo Omgeving:
printenv | less   # equivalent aan commando SET onder DOS
alias d='ls -l'   # eenvoudig te begrijpen wat een alias is
alias up='cd ..'
echo "Ik herinner je eraan dat het pad gelijk is aan "$PATH
echo "Vandaag is het `date`"  # gebruik de uitvoer van het commando 'date'
echo "Prettige dag, "$LOGNAME
# Het volgende is een "shell functie"
ctgz() # Toon de inhoud van een .tar.gz archief.
{
  for file in $*
  do
    gzip -dc ${file} | tar tf -
  done
}         
# einde .profile
</code>

<tt>&dollar;PATH</tt> en <tt>&dollar;LOGNAME</tt>, je raadde het goed,
zijn omgevingsvariabelen.
Er zijn nog veel anderen om mee te experimenteren; bijvoorbeeld, LMP
voor apps als <tt>less</tt> of <tt>bash</tt>.

Door deze regel in je <file>/etc/profile</file> te plaatsen zal grofweg
worden voorzien in het equivalent van
<tt>PROMPT $P$G</tt>:

<tscreen><verb>
export PS1="\w\\$ "
</verb></tscreen>
</p>
</sect1>

<sect1><heading>Programma initialisatiebestanden</heading>

<p>

Onder Linux kan praktisch alles naar behoeften worden aangepast. 
Voor de meeste programma's zijn er &eacute;&eacute;n of meer 
initialisatiebestanden waar je wat mee kunt, vaak als een
<tt>.prognaamrc</tt> in je home-dir. De eerste die je daarvan wellicht zal
willen wijzigen zijn:

<itemize>

<item> <tt> .inputrc</tt>: gebruikt door <tt/bash</tt> voor het defini&euml;ren
van key bindings;
</item>
<item> <tt> .xinitrc</tt>: gebruikt door <tt>startx</tt> voor het initialiseren
van het X Window System;
</item>
<item> <tt> .fvwmrc</tt>: in gebruik door de window manager <tt>fvwm</tt>. 
</item>
<item> <tt> .joerc, .jstarrc</tt>: in gebruik door de editor <tt>joe</tt>;
</item>
<item> <tt> .jedrc</tt>: in gebruik door de editor <tt>jed</tt>;
</item>
<item> <tt> .pinerc</tt>: in gebruik door de mailreader <tt>pine</tt>;
</item>
<item> <tt> .Xdefault</tt>: in gebruik door diverse X-programma's.
</item>
</itemize>

Je komt deze allemaal en nog anderen vroeg of laat tegen, LMP.
Misschien dat ik je kan interesseren voor de Configuratie HOWTO,
<url url="http://www.linuxdoc.org/HOWTO/Config-HOWTO.html">?
</p>
</sect1>
</sect>


<sect><heading>Netwerken: begrippen</heading>

<p>

Niet alleen is ``Dialup Networking'' onder Linux beschikbaar, maar het
is ook nog eens stabieler en sneller. De naam hiervan is ``PPP'', het
protocol dat wordt gebruikt voor het maken van een verbinding met
het Internet met behulp van modems. Het enige wat je hiervoor nodig
hebt is een utility waarmee kan worden gebeld en de verbinding tot
stand kan worden gebracht.

Om je mail vanaf de server van je ISP op te halen, heb je een tool genaamd
``email fetcher'' nodig welke het POP protocol gebruikt; wanneer de mail is
opgehaald, zal het lijken alsof het direct naar je Linux-box werd bezorgd.
Vervolgens gebruik je een MUA (Mail User Agent) zoals <tt>pine</tt>, 
<tt>mutt</tt>, <tt>elm</tt> of een van de vele anderen om het te beheren.

Terwijl de dialer onder Windows automatisch wordt aangeroepen wanneer je
een Internet applicatie start, gaat het bij Linux net andersom: je belt
eerst, en vervolgens start je de applicatie op. 
Een ding genaamd <tt>diald</tt> voorziet in het gebruikelijke functioneren.
Het installeren en configureren van dialup networking was &eacute;&eacute;n
van de moeilijkste taken onder Linux, maar dit is niet meer zo:
raadpleeg alsjeblieft de Configuratie HOWTO.

Als laatste, iets over ``Network neighborhood'': je kunt je Linux-box
als Windows NT/9x in een lokaal netwerk met Windows computers laten verschijnen.
Het magische woord is Samba: niet de levende Braziliaanse dans, maar een
implementatie van het SMB-protocol voor Linux.
Ga hiervoor naar <url url="http://samba.anu.edu.au/samba">.
</p>
</sect>

<sect><heading>Iets over programmeren</heading>
<sect1><heading>Shell Scripts: .BATch bestanden <label id="Shell Scripts"></heading>

<p>

Als je gewend was .BATch bestanden aan te maken als verkorte opdrachten voor
lange opdrachtregels (ik deed dit veel), kan dit doel worden bereikt door
de passende alias regels in <tt>profile</tt> of <tt>.bash_profile</tt>
in te voegen. Maar als je gecompliceerdere .BATch bestanden gebruikte,
dan zal je de scripttaal die beschikbaar is door de shell weten te 
waarderen: het is zo krachtig en goed als de oude QBasic, zo niet beter.
Het bevat variabelen, structuren zoals while, for, case, if... then...
else, en heel veel andere mogelijkheden: het kan een goed alternatief zijn
voor een ``echte'' programmeertaal.

Voor het schrijven van een script---het equivalent van een .BATch bestand
onder DOS---hoef je slechts een standaard ASCII-bestand met de instructies
te schrijven, het op te slaan, en het vervolgens uitvoerbaar te maken
met het commando <tt>chmod +x &lt;scriptfile></tt>.
Typ de naam ervan in, om het uit te laten voeren.
</p>

<p>Een waarschuwing. De systeem editor wordt <tt>vi</tt> genoemd, en mijn
ervaring is dat nieuwe gebruikers het erg moeilijk in 't gebruik vinden.
Ik ga niet uitleggen hoe je het kunt gebruiken; raadpleeg alsjeblieft
Matt Welsh's boek of zoek naar een tutorial op het net.
Ik volsta met hier te zeggen dat:

<itemize>
<item>je een `i' intikt en dan je tekst, om tekst in te voegen;</item>
<item>je &lt;ESC&gt; dan `x' intikt, om tekens te verwijderen;</item>
<item>je typt  &lt;ESC&gt; dan <tt>:q!</tt>, om <tt>vi</tt> zonder opslaan
te verlaten;</item>
<item>typ &lt;ESC&gt; dan <tt>:wq</tt>, om op te slaan en te verlaten.</item>
</itemize>
</p>

<p>Een goede editor voor beginners is <tt>joe</tt>: start het programma door
<tt>jstar</tt> in te tikken.
je krijgt dezelfde key bindings als in de DOS/Win editor. 
<tt>jed</tt> in WordStar
of IDE mode is zelfs beter. Raadpleeg paragraaf <ref id="Programs"
name="Waar kun je applicaties vandaan halen"> om erachter te komen hoe je 
aan deze editors kunt komen.</p>

<p>Het schrijven van scripts onder <tt>bash</tt> is zo'n veelomvattend onderwerp
dat hiervoor een volledig boek nodig zou zijn, en ik zal het onderwerp 
hier niet verder uitdiepen.
Ik geef je slechts een voorbeeld van een shellscript, 
van waaruit je enkele basisregels kunt halen:

<code>
#!/bin/sh
# sample.sh
# Ik ben commentaar
# verander de eerste regel niet, deze moet hier aanwezig zijn
echo "Dit systeem is: `uname -a`" # gebruik de uitvoer van het commando
echo "Mijn naam is $0" # ingebouwde variabelen
echo "Je gaf me de volgende $# parameters: "$*
echo "De eerste parameter is: "$1
echo -n "Wat is je naam? " ; lees je je_naam
echo merk het verschil op: "hi $je_naam" # omsloten door "
echo merk het verschil op: 'hi $je_naam' # omsloten door '
DIRS=0 ; FILES=0
for file in `ls .` ; do
  if [ -d ${file} ] ; then # als het bestand een directory is
    DIRS=`expr $DIRS + 1`  # DIRS = DIRS + 1
  elif [ -f ${file} ] ; then
    FILES=`expr $FILES + 1`
  fi
  case ${file} in
    *.gif|*jpg) echo "${file}: grafisch bestand" ;;
    *.txt|*.tex) echo "${file}: tekstbestand" ;;
    *.c|*.f|*.for) echo "${file}: bronbestand" ;;
    *) echo "${file}: gewoon bestand" ;;
  esac
done
echo "er zijn ${DIRS} directory's en ${FILES} bestanden"
ls | grep "ZxY--%%WKW"
if [ $? != 0 ] ; then # exit code van laatste commando
  echo "ZxY--%%WKW niet gevonden"
fi
echo "genoeg... typ 'man bash' als je meer info wilt."
</code>
</p>
</sect1>

<sect1><heading>C </heading>

<p>

Onder UNIX is de systeemtaal C, hou ervan of haat het. Er zijn tevens nog
heel wat andere talen (Java, FORTRAN, Pascal, Lisp, Basic, Perl, awk...) 
beschikbaar.

Aangenomen dat je bekend bent met C, zijn hier een aantal richtlijnen voor
degenen die verwend zijn met Turbo C++ of &eacute;&eacute;n van de DOS varianten. Linux's C
compiler wordt <tt>gcc</tt> genoemd en het mist alle toeters en bellen waar
gewoonlijk de DOS tegenhangers van vergezeld gaan:
geen IDE, on-line help, ge&iuml;ntegreerde debugger, enz.
Het is slechts een grove commandoregel compiler, erg krachig en effici&euml;nt.
Voor het compileren van je standaard <tt>hello.c</tt> geef je op:

<tscreen><verb>
$ gcc hello.c
</verb></tscreen>

waarmee een uitvoerbaar bestand genaamd <tt>a.out</tt> zal worden aangemaakt.
Geef het uitvoerbare bestand een andere naam met

<tscreen><verb>
$ gcc -o hola hello.c
</verb></tscreen>
</p>

<p>Om een library aan het programma te koppelen, voeg je de switch 
-l&lt;libname&gt; toe. Bijvoorbeeld, om de math library te linken:

<tscreen><verb>
$ gcc -o mathprog mathprog.c -lm
</verb></tscreen>
</p>

<p>(De <tt>-l&lt;libname&gt;</tt> switch forceert <tt>gcc</tt> de library 
<tt>/usr/lib/lib&lt;libname&gt;.so</tt> te koppelen; dus <tt>-lm</tt> koppelt 
<tt>/usr/lib/libm.so</tt>).</p>

<p>Als je programma uit verschillende bronbestanden bestaat, zul je gebruik
moeten maken van de utility <tt>make</tt>. Laten we ervan uitgaan dat je een
expression parser hebt geschreven: het bronbestand heet <tt>parser.c</tt> en 
&num; bestaande uit twee header bestanden, <tt>parser.h</tt> en
<tt>xy.h</tt>. Dan wil je gebruik maken van de routines in <tt>parser.c</tt>
in een programma, stel <tt>calc.c</tt>, welke op zijn beurt bestaat uit
&num; <tt>parser.h</tt>. Wat moet je nu doen om <tt>calc.c</tt>
te compileren?</p>

<p>
Je zal een zogenoemde <tt>Makefile</tt> moeten schrijven, die de
compiler laat weten wat de afhankelijkheden tussen sources en object
bestanden zijn. In ons voorbeeld:


<code>
# Dit is Makefile, gebruikt om calc.c te compileren
# Druk waar aangegeven op de <TAB> toets!

calc: calc.o parser.o
<TAB>gcc -o calc calc.o parser.o -lm
# calc rekent op twee objectbestanden: calc.o en parser.o

calc.o: calc.c parser.h
<TAB>gcc -c calc.c
# calc.o rekent op twee bronbestanden

parser.o:  parser.c parser.h xy.h
<TAB>gcc -c parser.c
# parser.o rekent op drie source bestanden

# einde Makefile.
</code>

Bewaar dit bestand als <tt>Makefile</tt> en typ <tt>make</tt> om je
programma te compileren; sla het alternatief op als
<tt>calc.mak</tt> en typ <tt>make -f calc.mak</tt>, en natuurlijk LMP.
Je kunt wat hulp krijgen over de C-functies die in man pages worden
behandeld, in sectie 3, bijvoorbeeld:

<tscreen><verb>
$ man 3 printf
</verb></tscreen>

Gebruik voor het opsporen van fouten in je programma's <tt>gdb</tt>.
<tt>info gdb</tt> om te leren hoe je het kunt gebruiken.

Er zijn heel veel library's beschikbaar; onder de eersten die je wellicht
wilt gebruiken bevinden zich 
<tt>ncurses</tt> (tekstmode effecten), en <tt>svgalib</tt> (console
graphics). Veel editors kunnen als IDE fungeren; <tt>emacs</tt> en <tt>jed</tt>,
bijvoorbeeld, hebben als feature syntax highlighting, automatisch inspringen,
enzovoort. Haal als alternatief het package
<tt>rhide</tt> op vanaf <url
url="ftp://metalab.unc.edu:/pub/Linux/devel/debuggers/">. Het is een
Borland IDE-kloon, en de kans bestaat dat het je bevalt.
</p>
</sect1>

<sect1><heading>X11 Programmeren</heading>

<p>
Als je er wat voor voelt om met X11 programmering aan de slag te gaan
(zo moeilijk is het niet), bestaan er verscheidene library's waarmee het
schrijven van X11 programma's een makkie is.
De belangrijkste te bezoeken sites zijn die van GTK+, <url
url="http://www.gtk.org">, and Qt, <url url="http://www.troll.no">. Gtk+ is
een op C gebaseerde widget set oorspronkelijk ontworpen voor het grafische
pakket De GIMP (<url url="http://www.gimp.org">), en het wordt gebruikt in
de Gnome omgeving. Kdeveloper is gebaseerd op de op C++ gebaseerde Qt, die
door KDE wordt gebruikt. Zeer waarschijnlijk zal je &eacute;&eacute;n van
deze library's gebruiken.

Een aantal van de beste tools voor visueel programmeren zijn Kdevelop voor Qt,
<url url="http://www.kdevelop.org">, en Glade voor GTK+, <url
url="http://glade.pn.org">. Deze pagina geeft meer informatie: <url
url="http://www.free-soft.org/guitool/">.
</p>

<sect2><heading>Multi-Platform Programmering</heading>

<p>
Zou het niet aardig zijn als je code zou kunnen schrijven die onder Linux
<em>en</em> Windows naadloos compileerde met gebruik van <tt>gcc</tt>?
Tijdens dit schrijven zijn er een aantal widget sets die een meer of
minder stabiele multi-platform programmering mogelijk maken.
Zover als het de stabiliteit als volledigheid echter betreft, zou ik
zeggen dat de keuze is beperkt tot praktisch &eacute;&eacute;n:
FLTK, de Fast Light Tool Kit <url url="http://www.fltk.org">. 
Het is verbazingwekkend klein, snel en stabiel. Het heeft tevens een
semi-visuele builder genaamd Fluid.
</p>
</sect2>
</sect1>
</sect>


<sect><heading>De resterende 1&percnt;</heading>

<p>

Veel meer dan 1&percnt;, eigenlijk...
</p>


<sect1><heading>Draaien van DOS/Windows Apps</heading>

<p>

Ja, tot op zekere hoogte kun je DOS en Windows applicaties onder Linux
draaien! Er zijn twee tamelijk goede emulators: Dosemu (<url
url="http://www.dosemu.org">) en Wine (<url url="http://www.winehq.com">).
De laatste wordt bij iedere release veel beter en de lijst met uit te voeren
applicaties wordt steeds groter. Zelfs Word en Excel draaien eronder!
</p>
</sect1>

<sect1><heading>Gebruik van tar en gzip</heading>

<p>

Onder UNIX zijn een aantal veel gebruikte applicaties voor het archiveren
en comprimeren van bestanden.
<tt>tar</tt> wordt gebruikt om archieven te maken---het is als
<tt>PKZIP</tt> of <tt>Winzip</tt> maar comprimeert niet, het maakt alleen
archieven. Typ voor het maken van een archief:

<tscreen><verb>
$ tar cvf <archive_name.tar> <file> [file...]
</verb></tscreen>

Voor het extraheren van bestanden uit een archief:

<tscreen><verb>
$ tar xvf <archive_name.tar> [file...]
</verb></tscreen>

Voor het tonen van de inhoud van een archief:

<tscreen><verb>
$ tar tf <archive_name.tar> | less
</verb></tscreen>

Met <tt>compress</tt>, welke verouderd is en niet meer gebruikt zou moeten
worden, of <tt>gzip</tt>:

<tscreen><verb>
$ compress <file>
$ gzip <file>
</verb></tscreen>

waarmee een gecomprimeerd bestand met de extensie <tt>.Z</tt> wordt aangemaakt
(<tt>compress</tt>) of <tt>.gz</tt> ( voor <tt>gzip</tt>). Deze programma's
kunnen slechts &eacute;&eacute;n bestand tegelijkertijd comprimeren.
Decomprimeren:

<tscreen><verb>
$ compress -d <file.Z>
$ gzip -d <file.gz>
</verb></tscreen>

LMP.

Er zijn ook nog de utility's <tt>unarj</tt>, <tt>zip</tt> en 
<tt>unzip</tt> (PK??ZIP
compatibele). Bestanden met de extensie <tt>.tar.gz</tt> of
<tt>.tgz</tt> (gearchiveerd met <tt>tar</tt>, en vervolgens gecomprimeerd
met <tt>gzip</tt>) zijn ook zeer algemeen in de UNIX-wereld net als .ZIP 
bestanden onder DOS.
Zo kun je de inhoud van een <tt> .tar.gz</tt> archief weer laten geven:

<tscreen><verb>
$ tar ztf <file.tar.gz> | less
</verb></tscreen>
</p>
</sect1>

<sect1><heading>Applicaties installeren <label id="Install"></heading>

<p>

Ten eerste: het installeren van packages is het werk van root. De meeste
Linux applicaties worden als <tt>.tar.gz</tt> archief gedistribueerd, die
vaak bestaat uit een directory met waarschijnlijk de naam <tt>pkgname/</tt>, 
waarin de bestanden en/of subdirectory's staan. Het is een goede gewoonte 
om deze packages vanuit de directory <tt>/usr/local</tt> te installeren met 
het commando:

<tscreen><verb>
# tar zxf <archive.tar.gz>
</verb></tscreen>


en het README of INSTALL bestand te lezen. In de meeste gevallen worden
de bronbestanden van de applicatie gedistribueerd, wat inhoudt dat je het moet
compileren om de uitvoerbare bestanden aan te maken;
vaak is het al voldoende om <tt>make</tt> en daarna <tt>make install</tt> in 
te tikken. Uiteraard heb je hiervoor de <tt>gcc</tt> of <tt>g++</tt>
compiler nodig.</p>

<p>Andere archieven moeten worden uitgepakt vanuit <file>/</file>; dit is het
geval met de <tt>.tgz</tt> archieven van Slackware.
In andere archieven bevinden zich bestanden, maar dan zonder subdirectory
- pas op dat je de boel niet verknoeit!
Bekijk altijd de inhoud van het archief voordat je het installeert.</p>

<p>De Debian en Red Hat distributies hebben hun eigen archief formaat;
respectievelijk, <tt>.deb</tt> en <tt>.rpm</tt>. De laatste wint een brede
acceptatie; om een <tt>.rpm</tt> package te installeren, tik je in:

<tscreen><verb>
# rpm -i package.rpm
</verb></tscreen>
</p>
</sect1>

<sect1><heading>Tips waar je niet zonder kunt</heading>

<p>

<bf>Terugscrollen</bf>: het indrukken van &lt;SHIFT + PAG UP&gt; (de grijze
toets) maakt dat je een paar pagina's terug kunt scrollen, afhankelijk van 
de hoeveelheid van het videogeheugen.
</p>

<p><bf>Resetten van het scherm</bf>: als je met <tt>more</tt> of <tt>cat</tt>
een binair bestand bekijkt, dan kan het gebeuren dat je scherm vol met rommel
staat. Om dit te herstellen, tik dan blind <tt>reset</tt> in of de volgende
reeks met tekens: <tt>echo CTRL-V ESC c RETURN</tt>.</p>

<p><bf>Het plakken van tekst</bf>: in console, zie hieronder; in X, klik
en sleep om de tekst in een <tt>xterm</tt> window te selecteren, druk dan
de middelste muisknop in (of de twee muisknoppen samen als je een twee-knops
muis hebt) om de tekst te plakken. Er is ook een <tt>xclipboard</tt>
(helaas, alleen voor tekst); laat je niet in de war brengen door de zeer
trage response.</p>

<p><bf>Gebruik van de muis</bf>: als je <tt>gpm</tt>, een mousedriver voor de
console, hebt ge&iuml;nstalleerd, dan kun je klikken en slepen om tekst te
selecteren, en vervolgens (op een andere plaats) de rechtermuisknop indrukken
om de geselecteerde tekst te plakken. Dit werkt ook door in de ene VC tekst te
selecteren en deze in een andere VC te plakken.</p>

<p><bf>Meldingen van de kernel</bf>: kijk als root in <tt>/var/adm/messages</tt> of
<tt>/var/log/messages</tt> om te zien wat de kernel je te melden heeft,
inclusief de meldingen bij het opstarten. 
Het commando <tt>dmesg</tt> is ook handig.
</p>
</sect1>

<sect1><heading>Waar vind ik applicaties<label id="Programs"></heading>

<p>

Als je je afvraagt of je je oude en vertrouwde DOS/Win applicatie door
een Linux applicatie kunt vervangen, raad ik je aan eens naar de belangrijkste
Linux software opslagplaats te surfen:
<url url="ftp://metalab.unc.edu/pub/Linux">. Andere goede
startplaatsen zijn de ``Linux Applications and Utilities Page'' <url
url="http://www.xnet.com/~blatura/linapps.shtml">, de ``offici&euml;le'' Linux
page <url url="http://www.linux.org">, en <url url="http://freshmeat.net">.
</p>
</sect1>

<sect1><heading>Een aantal dingen die je niet kon doen</heading>

<p>

Linux kan verschrikkelijk veel dat onder DOS/Windows omslachtig, moeilijk
of onmogelijk was. Hier is een beknopte lijst om de smaak te pakken te
krijgen:

<itemize>

<item> <tt>at</tt> maakt het mogelijk programma's op bepaalde tijden
uit te voeren:
</item>
<item> <tt>awk</tt> is een eenvoudige maar krachtige taal om gegevensbestanden
te manipuleren (en niet alleen dat). 
Als bijvoorbeeld <tt>data.dat</tt> je uit meerdere velden bestaande
gegevensbestand is, drukt

<tscreen><verb>
$ awk '$2 ~ "abc" {print $1, "\t", $4}' data.dat
</verb></tscreen>

de velden 1 en 4 van iedere regels in <tt>data.dat</tt> af waarvan het
tweede veld de string ``abc'' bevat.
</item>
<item> <tt>cron</tt> is nuttig voor het periodiek uitvoeren van taken,
op opgegeven datum en tijd. Typ <tt>man 5 crontab</tt>.
</item>
<item> <tt>file &lt;bestandsnaam&gt;</tt> vertelt je wat <tt>bestandsnaam</tt>
voor een soort bestand is
(ASCII-tekst, uitvoerbaar bestand, archief, enz.);
</item>
<item> <tt>find</tt> (zie tevens sectie <ref id="Directories: Trans"
name="Directory's: Commando's vertalen">) is &eacute;&eacute;n van de
krachtigste en handigste commando's.
Het wordt gebruikt om naar bestanden te zoeken die voldoen aan verscheidene
karakteristieken en waarop acties kunnen worden uitgevoerd. Algemeen gebruik
van <tt>find</tt> is:

<tscreen><verb>
$ find <directory> <expressie>
</verb></tscreen>

&lt;expressie&gt; bevat zoekcriteria en acties. Voorbeelden:

<tscreen><verb>
$ find . -type l -exec ls -l {} \;
</verb></tscreen>

zoekt naar alle bestanden welke symbolische koppelingen zijn en geeft aan
waarnaar ze verwijzen.

<tscreen><verb>
$ find / -name "*.old" -ok rm {} \;
</verb></tscreen>

zoekt naar alle bestanden die overeenkomen met het patroon het verwijdert ze,
waarbij eerst om bevestiging wordt gevraagd.

<tscreen><verb>
$ find . -perm +111
</verb></tscreen>

zoekt naar alle bestanden waarvan de permissies overeenkomen met 111 
(uitvoerbaar bestand).

<tscreen><verb>
$ find . -user root
</verb></tscreen>

zoekt naar alle bestanden die aan root toebehoren. Heel veel mogelijkheden
hier---LMP.
</item>
<item> <tt>grep</tt> zoekt naar tekstpatronen in bestanden. Bijvoorbeeld,

<tscreen><verb>
$ grep -l "geology" *.tex
</verb></tscreen>

toont de *.tex bestanden waarin het woord ``geology'' voorkomt. Een variant
op grep genaamd <tt>zgrep</tt> werkt op gzipped bestanden. LMP;
</item>
<item> <bf>reguliere expressies</bf> zijn complex maar het is een zeer krachtige
manier om zoekbewerkingen op tekst uit te voeren. Bijvoorbeeld:
<tt>^a[^a-m]X{4,}txt$</tt> komt overeen met een regel welke begint met een
`a', gevolgd door een willekeurig teken behalve die in het interval a-m,
gevolgd door 4 of meer `X' tekens en eindigt op `txt'.
Reguliere expressies gebruik je met geavanceerde editors,
<tt>less</tt>, en vele andere applicaties. <tt>man grep</tt> voor
een introductie.
</item>
<item> <tt>script &lt;script_file&gt;</tt> dumpt de inhoud van het scherm
in een scriptbestand genaamd <tt>script_file</tt> totdat je het commando
<tt>exit</tt> geeft. Handig voor het opsporen van fouten;
</item>
<item> <tt>sudo</tt> maakt het gebruikers mogelijk een aantal van de
taken van root uit te voeren (b.v. het formatteren en mounten van disks;LMP);
</item>
<item> <tt>uname -a</tt> geeft je info over je systeem;
</item>
<item> <tt>zcat</tt> en <tt>zless</tt> zijn handig voor het doorbladeren
en omleiden van met gzip gecomprimeerde bestanden zonder ze te 
decomprimeren. Bijvoorbeeld:

<tscreen><verb>
$ zless textfile.gz
$ zcat textfile.gz | lpr
</verb></tscreen>
</item>
<item> De volgende commando's komen vaak van pas: <tt>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.</tt> LMP.
</item>
</itemize>
</p>
</sect1>

<sect1><heading>UNIX oefenen onder DOS/Win</heading>

<p>

Geloof het of niet, er zijn prima tools die voorzien in een op UNIX lijkende
omgeving onder DOS/Windows! Een daarvan is de Djgpp suite (<url
url="http://www.delorie.com/djgpp/">) voor DOS, en Cygwin (<url
url="http://www.cygnus.com/cygwin">) is een complexere port voor Win32. 
In beiden zijn dezelfde GNU ontwikkelaars tools en utility's als Linux
opgenomen; je krijgt echter niet dezelfde stabiliteit en performance.

Probeer Djgpp als je de smaak van Linux te pakken wilt krijgen. Download
en installeer de volgende bestanden (tijdens dit schrijven, is de laatste
versie 2.0.2):
<tt>djdev202.zip, bnu281b.zip, bsh1147b.zip, fil316b.zip, find41b.zip,
grep22b.zip, gwk303b.zip, lss332b.zip, shl112b.zip.</tt>. In installatie
instructies is voorzien, en je kunt assistentie vinden op
<url url="news:comp.os.msdos.djgpp">.
</p>

<p>In het bijzonder is het gebruik van <tt>bash</tt> onder DOSWin een
opluchting. Om het op je juiste wijze te configureren, wijzig je het
meegeleverde bestand <tt>BOOT.BAT</tt> om je installatie weer te
geven, plaats deze bestanden dan in je home-directory (in de 
Windows partitie) in plaats van degene waarin is voorzien:

<tscreen><verb>
# dit is _bashrc

LS_OPTIONS="-F -s --color=yes"
alias cp='cp -i'
alias d='ls -l'
alias l=less
alias ls="ls $LS_OPTIONS"
alias mv='mv -i'
alias rm='rm -i'
alias u='cd ..'
</verb></tscreen>

<tscreen><verb>
# dit is _bprof
if [ -f ~/_bashrc ]; then
  . ~/_bashrc
fi
PS1='\w\$ '
PS2='> '
CDPATH="$CDPATH:~"
# stuff for less(1)
LESS="-M-Q"                     # lange prompt, stil
LESSEDIT="%E ?lt+%lt. %f"       # wijzig eerste regel
VISUAL="jed"                    # editor
LESSCHARSET=latin1              # toon geaccentueerde letters
export PS1 PS2 CDPATH LS_OPTIONS LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET
</verb></tscreen>
</p>
</sect1>

<sect1><heading>Algemene extensies en daaraan gerelateerde programma's</heading>

<p>

Je komt mogelijk heel wat soorten bestandsextensies tegen. Uitgezonderd de
meer exotische extensies
(d.w.z. fonts, enz.), tref je hier een lijst van aan:

<itemize>

<item> <tt>1 ... 8</tt>: man pages. Lees ze met
<tt>groff -Tascii -man &lt;file.1&gt;</tt>.
</item>
<item> <tt>arj</tt>: archief aangemaakt met <tt>arj</tt>.
</item>
<item> <tt>dvi</tt>: uitvoerbestand geproduceerd met TeX (zie hieronder).
<tt>xdvi</tt> om het te bekijken; <tt>dvips</tt> om het om te zetten in
een PostScript <tt>.ps</tt> bestand.
</item>
<item> <tt>gz</tt>: archief gemaakt met <tt>gzip</tt>.
</item>
<item> <tt>info</tt>: info bestand (soort alternatief van man pages). Haal
hier <tt>info</tt> voor op.
</item>
<item> <tt>lsm</tt>: Linux Software Map bestand. Het is een gewoon ASCII
bestand met de beschrijving van een package.
</item>
<item> <tt>ps</tt>: PostScript bestand. Haal voor het bekijken of afdrukken
<tt>gs</tt> op en optioneel <tt>ghostview</tt> of <tt>gv</tt>.
</item>
<item> <tt>rpm</tt>: Red Hat package. Je kunt het op ieder systeem installeren
met de package manager <tt>rpm</tt>.
</item>
<item> <tt>taz, tar.Z</tt>: archief aangemaakt met <tt>tar</tt> en
gecomprimeerd met <tt>compress</tt>.
</item>
<item> <tt>tgz, tar.gz</tt>: archief gemaakt met <tt>tar</tt> en
gecomprimeerd met <tt>gzip</tt>.
</item>
<item> <tt>tex</tt>: tekstbestand voor TeX, een krachtige zetsysteem.
Het package <tt>tex</tt> is in diverse distibuties beschikbaar.
</item>
<item> <tt>texi</tt>: texinfo bestand, kan zowel TeX als info bestanden
produceren (cp. <tt>info</tt>). Haal <tt>texinfo</tt> op.
</item>
<item> <tt>xbm, xpm, xwd</tt>: grafisch bestand.
</item>
<item> <tt>Z</tt>: archief aangemaakt met <tt>compress</tt>.
</item>
</itemize>
</p>
</sect1>

<sect1><heading>Bestanden converteren</heading>

<p>

Als je tekstbestanden tussen DOS/Win en Linux uit moet wisselen, wees je
dan bewust van het ``einde regel'' probleem. Onder DOS eindigt iedere
regel tekst op een CR/LF (dat is een ASCII 13 + ASCII 10), onder Linux
op een LF. Als je een DOS tekstbestand onder Linux wijzigt, zal iedere
regel zeer waarschijnlijk op een vreemd--uitziend `M' teken eindigen;
een Linux tekstbestand zal onder DOS verschijnen als een kilometers lange
enkele regel zonder alinea's. Er zijn een aantal tools, <tt>dos2unix</tt> en
<tt>unix2dos</tt>, om de bestanden te converteren.

Als je bestanden bestaande uit alleen tekst geaccentueerde tekens bevat,
zorg er dan voor dat ze onder Windows (met Notepad/Kladblok) zijn
aangemaakt en niet onder gewoon DOS; anders zullen alle
geaccentueerde tekens zijn verknald.
</p>
</sect1>

<sect1><heading>Vrij verkrijgbare Office Suites</heading>

<p>

Ja, je kunt voor niks krijgen wat anders heel veel geld zou kosten!

StarOffice (<url url="http://www.sun.com/staroffice">.) is thans de
enige keuze, alhoewel Koffice in de pijplijn zit (<url
url="http://www.koffice.org">). StarOffice is groot en traag, maar hoe dan
ook erg goed; het biedt heel veel functionaliteit die niet in Microsoft
Office is te vinden. Het kan bovendien Word en Excel bestanden inlezen,
alhoewel de conversie niet altijd perfect is.

Een ander goed package is Corel WordPerfect, een vrij verkrijgbare uitgave
die voor download beschikbaar is. Moet ik nog meer zeggen? Haal het op:
<url url="http://www.corel.com">.
</p>
</sect1>
</sect>

<sect><heading>Voor het moment, het einde <label id="The End"></heading>

<p>

Gefeliciteerd! Je hebt nu een klein beetje van UNIX begrepen en bent zover
om ermee beginnen te werken. Denk eraan dat je kennis van het systeem nog
steeds beperkt is en dat ervan je wordt verwacht meer met Linux te oefenen
om het comfortabel te kunnen gebruiken. Maar als het enige dat je moest doen
een boel applicaties te verkrijgen en ermee beginnen te werken, dan is alles
wat ik hierin heb opgenomen voldoende.

Ik ben er zeker van dat je Linux met plezier zal gaan gebruiken en er meer
over zal gaan leren -- iedereen doet dit.
Ik wed ook dat je nooit meer naar DOS/Win terug zal keren! Ik hoop dat ik
duidelijk ben geweest en de 3 of 4 lezers een goede dienst heb bewezen.
</p>

<sect1><heading>Copyright</heading>

<p>

Copyright (c) door Guido Gonzato, <tt>ggonza at tin.it</tt>. Dit document
mag alleen onder de voorwaarden en condities uiteengezet in de LDP
Licentie op <url url="http://www.linuxdoc.org/COPYRIGHT.html"> worden
gedistribueerd, behalve dat dit document niet in gewijzigde vorm mag
worden gedistribueerd zonder toestemming van de auteur.

Raadpleeg alsjeblieft de Linux Documentatie Project homepage, 
<url url="http://www.linuxdoc.org">, als je vragen hebt.
</p>
</sect1>

<sect1><heading>Disclaimer</heading>

<p>
Dit document wordt zoals het is geleverd. Ik heb er veel moeite voor
gedaan het zo accuraat mogelijk te schrijven, maar je gebruikt de
informatie hierin op eigen risico. In geen geval zal ik verantwoordelijk
kunnen worden gesteld voor enige schade voortvloeiend uit het gebruik
van dit werk.

Veel dank aan Matt Welsh, de auteur van ``Linux Installation and Getting
Started'', aan Ian Jackson, de auteur van ``Linux frequently asked questions
with answers'', aan Giuseppe Zanetti, de auteur van het boek ``Linux'', aan
alle mensen die me aanbevelingen mailden, en vooral aan Linus Torvalds
en GNU die ons Linux gaven.

Feedback is welkom. Neem gerust contact met me op voor verzoeken,
aanbevelingen, flames, enz.

Veel plezier met Linux en in 't leven,

Guido   <tt>=8-)</tt>
</p>
</sect1>
</sect>
</article>
</linuxdoc>