File: network.xml

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 (474 lines) | stat: -rw-r--r-- 18,718 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
<chapter id="network-chapter">
<title>Communiceren met anderen</title>

<blockquote>
<attribution>Chuq Von Rospach</attribution>
<literallayout>
"One basic notion underlying Usenet is that it is a cooperative."

Having been on Usenet for going on ten years, I disagree with
this. The basic notion underlying Usenet is the flame.
</literallayout></blockquote>

<para>
Moderne &unix; besturingssystemen zijn er erg goed in met andere
computers of netwerken te communiceren. Twee verschillende
&unix; computers kunnen op veel verschillende manieren informatie
met elkaar uitwisselen. In dit hoofdstuk wordt geprobeerd het te
hebben over hoe je profijt kunt hebben van deze krachtige netwerkmogelijkheid.
</para>

<para>
We zullen proberen elektronische mail, Usenet news, en verscheidene
basisutility's van &unix; die voor de communicatie worden gebruikt te bespreken.
</para>

<sect1 id="network-electronicmail"><title>Electronische Mail</title>
<para>
Een van de populairste standaardmogelijkheden van &unix; is elektronische
mail. Hiermee wordt je het gebruikelijke gedoe bij het zoeken naar een
envelop, een stuk papier, een pen, een postzegel en de brievenbus
bespaard en in plaats daarvan krijg je te maken met het zoeken naar
oplossingen met behulp van de computer.
</para>

<sect2 id="network-sendingmail"><title>Versturen van mail</title>
<para>
Het enige wat je hoeft te doen is het intikken van 
<cmdsynopsis><command>mail</command><arg><replaceable>gebruikersnaam</replaceable></arg></cmdsynopsis> <indexterm><primary>mail</primary></indexterm>
en je bericht te typen.
</para>

<para>
Stel bijvoorbeeld dat ik een mail wil sturen naar gebruiker <literal>sam</literal>:
</para>

<para>
<screen>
<prompt>/home/larry# </prompt><userinput>mail sam</userinput>
<computeroutput>Subject: </computeroutput><userinput>De gebruikersdocumenatie
Test alleen even het mailsysteem.
EOT</userinput>
<prompt>/home/larry# </prompt>
</screen>
</para>

<para>
Het programma <application>mail</application> is erg simpel. 
Net als <command>cat</command>, accepteert het invoer vanaf de standaardinvoer, 
&eacute;&eacute;n regel tegelijkertijd, totdat het op een aparte regel een 
end-of-text (&eof;) teken op een regel tegenkomt. Dus om mijn bericht te 
verzenden had ik op de return toets moeten drukken en vervolgens &eof;.
</para>

<para>
<command>mail</command> is de snelste manier om mail te versturen, en het is erg
nuttig wanneer het wordt gebruikt in combinatie met pipe-symbolen en 
omleiding. Als ik bijvoorbeeld het bestand <filename>report1</filename>
naar "Sam" had willen sturen, dan zou ik de opdracht 
<command>mail sam &lt; report1</command>
hebben kunnen geven, of zou ik zelfs uit hebben kunnen voeren:
"<command>sort report1 | mail sam</command>".
</para>

<para>
De keerzijde van het gebruik van <application>mail</application> echter om mail te zenden betekent
een zeer grove editor.
Je kan een regel niet meer wijzigen zodra je de return
toets hebt ingedrukt! Dus raad ik je aan, mail te verzenden met
(wanneer je geen gebruikt maakt van een pipe of omleiding) 
de mailmodus van Emacs<indexterm><primary>Emacs</primary></indexterm>.
Het wordt behandeld in de <xref linkend="emacs-mail-mode"/>.
</para>
</sect2>

<sect2 id="network-readingmail"><title>Lezen van mail</title>
<para>
<cmdsynopsis>
<command>mail</command>
  <arg><replaceable>gebruiker</replaceable></arg>
</cmdsynopsis>
</para>

<para>
Het programma <application>mail</application> biedt een onhandige manier om mail te lezen. Als
je <application>mail</application> intikt zonder enige parameters, krijg je het volgende te zien:
</para>

<para>
<screen>
<prompt>/home/larry# </prompt><userinput>mail</userinput>
<computeroutput>No mail for larry</computeroutput>
<prompt>/home/larry# </prompt>
</screen>
</para>

<para>
Ik ga mezelf wat mail sturen zodat ik wat met de mailreader kan spelen:
</para>


<para>
<screen>
<prompt>/home/larry# </prompt><userinput>mail larry</userinput>
<computeroutput>Subject: </computeroutput> <userinput>Frogs!
and toads!
EOT</userinput>
<prompt>/home/larry# </prompt><userinput>echo "snakes" | mail larry</userinput>
<prompt>/home/larry# </prompt><userinput>mail</userinput><computeroutput>
Mail version 5.5 6/1/90.  Type ? for help.
"/usr/spool/mail/larry": 2 messages 2 new
>N  1 larry                 Tue Aug 30 18:11  10/211   "Frogs!"
 N  2 larry                 Tue Aug 30 18:12   9/191  
&</computeroutput> 
</screen>
</para>

<para>
De prompt in het mailprogramma is een ampersand ("<literal>&amp;</literal>"). 
Er zijn een paar simpele opdrachten mee mogelijk, en als je een 
<literal>?</literal> intikt,
gevolgd door een druk op de <keycap>return</keycap>, zal het je een beknopt helpscherm geven.
</para>

<para>
De basisopdrachten voor <application>mail</application> zijn:

<itemizedlist>
	<listitem><para>[<option>t</option> <emphasis>berichtenlijst</emphasis>] Toon (of <emphasis>t</emphasis>yp) de berichten op het scherm.
</para></listitem>

<listitem><para>
[<option>d</option> <emphasis>berichtenlijst</emphasis>] Verwijder de berichten.
</para></listitem>

<listitem><para>
[<option>s</option> <emphasis>berichtenlijst</emphasis> <emphasis>bestand</emphasis>] Sla de berichten op in <emphasis>bestand</emphasis>.
</para></listitem>

<listitem><para>[<option>r</option> <emphasis>berichtenlijst</emphasis>] Beantwoord de berichten, dat wil zeggen,
begin met het samenstellen van een nieuw bericht naar de persoon die jou de 
weergegeven berichten zond.
</para></listitem>

<listitem><para>
[<option>q</option>] Verlaat het programma en sla alle berichten op die je niet
verwijderde in een bestand met de naam <filename>mbox</filename> in je homedirectory.
</para></listitem>
</itemizedlist>
</para>

<para>
Wat is een <emphasis>berichtenlijst</emphasis>? Het bestaat uit een lijst integers gescheiden
door spaties, of een bereik, zoals <literal>2-4</literal> (wat hetzelfde is als
"<literal>2 3 4</literal>"). Je kunt ook de gebruikersnaam van de zender invoeren, 
dus de opdracht <command>t sam</command> zou alle mail van Sam 
<emphasis>t</emphasis>ypen.
Als een berichtenlijst wordt weggelaten, wordt verondersteld dat het 't
laatste bericht zal zijn dat wordt weergegeven (of getypt).
</para>

<para>
Er zijn verscheidene problemen met de leesfaciliteiten van het 
<application>mail</application> programma. Ten eerste stopt het mailprogramma niet als een
bericht groter is dan je scherm! Je moet het opslaan en er later
<command>more</command> op toepassen.
Ten tweede heeft het niet zo'n goede interface voor oude
mail---voor als je mail wilt bewaren en het later wilt lezen.
</para>

<para>
	Emacs heeft ook een faciliteit voor het lezen van mail, genaamd 
	<literal>rmail</literal>, maar het wordt in dit boek niet behandeld. 
	Bovendien hebben de meeste Linux systemen verscheidene andere 
	mailreaders beschikbaar, zoals <application>elm</application>,
	<indexterm><primary>elm</primary></indexterm> of <application>pine</application><indexterm><primary>pine</primary></indexterm>.
</para>
</sect2>
</sect1>

<sect1 id="network-lookingpeople"><title>Zoeken naar mensen</title>
<sect2><title>De opdracht <command>finger</command></title>
<para>
Met de opdracht <command>finger</command> kun je informatie over andere
gebruikers op je systeem en over de gehele wereld verkrijgen.
Ongetwijfeld werd de opdracht <command>finger</command> benoemd 
gebaseeerd op de AT&amp;T advertenties mensen aansporend tot
"reach out and touch someone". Aangezien de
wortels van $unix; in AT&amp;T, liggen, was dit waarschijnlijk 
vermakelijk voor de auteur.

<cmdsynopsis>
  <command>finger</command> 
<arg>-slpm</arg> 
<arg><replaceable>gebruiker</replaceable></arg>
<arg><replaceable>@machine</replaceable></arg>
</cmdsynopsis>

De optionele parameters van <application>finger</application> kunnen 
een beetje verwarrend zijn. In werkelijkheid is het niet zo slecht. Je kunt vragen om
informatie over een lokale gebruiker ("sam"), informatie over een 
andere machine ("@lionsden"), informatie over een remote gebruiker 
("sam@lionsden"), en gewoon informatie over de lokale machine (niets).
</para>

<para>
Een andere leuke mogelijkheid is, dat als je vraagt om informatie over
een gebruiker en er geen accountnaam is exact gelijk aan waar je om vroeg,
het zal proberen een overeenkomst te vinden met de echte naam met wat
je opgaf. Dat zou betekenen dat als ik 
<command>finger Greenfield</command> opgaf, me zou worden verteld dat 
de accountnaam <literal>sam</literal> voor Sam Greenfield voorkomt.
</para>

<para>
<screen>
<prompt>/home/larry# </prompt><userinput>finger sam</userinput><computeroutput>
Login: sam                              Name: Sam Greenfield
Directory: /home/sam                    Shell: /bin/tcsh
Last login Sun Dec 25 14:47 (EST) on tty2
No Plan.</computeroutput>
<prompt>/home/larry# </prompt><userinput>finger greenfie@gauss.rutgers.edu</userinput><computeroutput>
[gauss.rutgers.edu]
Login name: greenfie                    In real life: Greenfie
Directory: /gauss/u1/greenfie           Shell: /bin/tcsh
On since Dec 25 15:19:41 on ttyp0 from tiptop-slip-6439
13 minutes Idle Time
No unread mail
Project: You must be joking!
No Plan.</computeroutput>
<prompt>/home/larry# </prompt><userinput>finger</userinput><computeroutput>
Login  Name              Tty  Idle  Login Time   Office  Office Phone
larry  Larry Greenfield  1    3:51  Dec 25 12:50
larry  Larry Greenfield  p0         Dec 25 12:51</computeroutput>
<prompt>/home/larry# </prompt> 
</screen>
</para>

<para>
De optie <option>-s</option> vertelt <application>finger</application>
om altijd de korte vorm weer te geven (wat je normaal gesproken krijgt 
wanneer je finger toepast op een machine) en de optie <option>-l</option>
vertelt het altijd gebruik te maken van de lange vorm, zelfs wanneer je 
finger toepast op een machine. De optie <option>-p</option> vertelt 
<application>finger</application> dat je <literal>.forward</literal>,
<literal>.plan</literal> of <literal>.project</literal> bestanden wilt zien, en
<option>-m</option> vertelt <application>finger</application> dat als je 
om informatie over een gebruiker vroeg, je alleen informatie krijgt over 
een accountnaam; probeer de naam niet te matchen met een echte naam.
</para>
</sect2>

<sect2 id="network-planandproject"><title>Plan en project</title>
<para>
Wat is een <literal>.plan</literal> en een <literal>.project</literal>
eigenlijk? Dit zijn bestanden die
worden opgeslagen in de homedirectory van de gebruiker die worden
weergegeven wanneer de opdracht finger wordt uitgevoerd.
Je kunt je eigen <literal>.plan</literal> of <literal>.project</literal>
bestanden aanmaken. De enige beperking is dat de eerste regel van een 
<literal>.project</literal> bestand wordt weergegeven.
<indexterm><primary>.plan</primary></indexterm>
<indexterm><primary>.project</primary></indexterm>
</para>

<para>
Bovendien moet iedereen uitvoerprivileges hebben in je homedirectory:
(<command>chmod a+x ~</command>) en iedereen moet de <literal>.plan</literal>
en <literal>.project</literal> bestanden kunnen lezen
(<command>chmod a+r ~/.plan ~/.project</command>).
</para>
</sect2>
</sect1>

<sect1 id="network-remotesystems"><title>Systemen op afstand gebruiken</title>
<para>

<cmdsynopsis>
<command>telnet</command>
<arg choice="plain"><replaceable>remote-systeem</replaceable></arg>
</cmdsynopsis>
<indexterm><primary>telnet</primary></indexterm>
</para>

<para>
De voornaamste wijze om een remote &unix;-systeem te gebruiken is via
<application>telnet</application>. <application>telnet</application> is 
gewoonlijk een tamelijk eenvoudig te gebruiken programma:
</para>

<para>
<screen>
<prompt>/home/larry# </prompt><userinput>telnet lionsden</userinput>
<computeroutput>Trying 128.2.36.41...
Connected to lionsden
Escape character is '^]'.

lionsden login:</computeroutput> 
</screen>
</para>

<para>  
Zoals je kunt zien, krijg ik een loginprompt voor het remote systeem
nadat ik de opdracht <command>telnet</command> heb aangeroepen.
Ik kan een gebruikersnaam
invoeren (zolang ik het wachtwoord maar weet!) en dat remote systeem
dan gebruiken op bijna dezelfde wijze alsof ik erachter zat.
</para>

<para>
De normale manier om uit <application>telnet</application>
te gaan is middels een <command>logout</command>
op het remote systeem, maar een andere manier is door het escape teken
in te tikken (zoals in het bovenstaande voorbeeld) wat gewoonlijk 
<keycap>Ctrl-</keycap> is.  Dit geeft me een nieuwe prompt gelabeld
<literal>telnet</literal>. Nu kan ik <command>quit</command> intikken en 
<keycap>Return</keycap> en dan zal de verbinding met het andere systeem 
worden verbroken en <application>telnet</application> worden be&euml;indigd.  
(Mocht je van gedachten veranderen, dan kun je eenvoudigweg de return
indrukken om terug te gaan naar het remote systeem.)
</para>

<para>
<informalfigure fload="0">
<graphic fileref="png-files/grote-X.png"></graphic>
</informalfigure>
Als je gebruik maakt van X, zorg dan voor een nieuwe <command>xterm</command>
voor het andere systeem waar we naartoe gaan. Gebruik de opdracht 
<command>xterm -title "lionsden" -e telnet lionsden &amp;</command>. 
Hierdoor zal een nieuw <application>xterm</application> venster worden 
gecre&euml;eerd dat automatisch <application>telnet</application> uitvoert.
(Als je zoiets vaak doet, zou je er een alias of shellscript
voor kunnen schrijven.)
</para>
</sect1>

<sect1 id="network-changingfiles"><title>Bestanden uitwisselen</title>
<para>
<cmdsynopsis>
<command>ftp</command> 
<arg choice="plain"><replaceable>remote-systeem</replaceable></arg>
</cmdsynopsis>
</para>

<para>
De normale manier om bestanden tussen &unix;-systemen te verzenden is met
behulp van <application>ftp</application>, wat staat voor 
<emphasis>file transfer protocol</emphasis>. Na het uitvoeren van de opdracht 
<command>ftp</command>, wordt je net als bij <application>telnet</application>
gevraagd op het remote systeem in te loggen. 
Nadat je dit hebt gedaan, krijg je een speciale prompt: een 
<literal>ftp</literal> prompt.
</para>

<para>
De opdracht <command>cd</command> werkt net als anders, maar dan op het remote systeem:
het wijzigt je directory op het <emphasis>andere</emphasis> systeem. Op vergelijkbare
wijze toont <command>ls</command> je bestanden op het remote systeem.
</para>

<para>
	De twee belangrijkste opdrachten zijn <command>get</command> en
	<command>put</command>. <command>get</command>
zal een bestand van het remote systeem naar het lokale systeem
transporteren en <command>put</command> zal een bestand op het lokale systeem
overbrengen naar het remote systeem. Beide opdrachten werken op de
directory waarin je lokaal <application>ftp</application> begon en en je huidige
remote directory (die je kon wijzigen met <command>cd</command>.
</para>

<para>
Een algemeen probleem met <application>ftp</application>
is het onderscheid tussen tekst en binaire bestanden.
<application>ftp</application> is een zeer oud protocol, en er waren 
ooit voordelen om te veronderstellen dat bestanden als tekstbestanden 
zouden worden getransporteerd. Een aantal versies van <application>ftp</application> gedraagt zich standaard zo, wat betekent dat elk programma dat wordt 
verzonden of ontvangen beschadigd raakt. Gebruik voor de zekerheid de opdracht
<command>binary</command> voordat je <command>get</command> of
<command>put</command> gebruikt.
</para>

<para>
	Gebruik de opdracht <command>bye</command> om
	<application>ftp</application> te verlaten.
</para>
</sect1>

<sect1 id="network-travellingweb"><title>Reizen op het web</title>
<para>
World Wide Web, of WWW, is een populair gebruik van Internet. Het bestaat
uit <emphasis>pages</emphasis>, elk geassocieerd met een eigen URL;
<emphasis>uniform resource locator</emphasis>.  
URL's bestaan uit een grappige reeks in de vorm
<literal>http://www.rutgers.edu/</literal>.  
Pages worden gewoonlijk geschreven in HTML
(<emphasis>hypertext markup language</emphasis>).
<indexterm><primary>URL</primary></indexterm>
<indexterm><primary>HTML</primary></indexterm>
<!--
\glossary{uniform resource locator}
\glossary{hypertext markup language} -->
</para>

<para>
HTML maakt het de schrijver van een document mogelijk bepaalde woorden
of fasen (of plaatjes) naar andere documenten elders op het Web te linken.
Wanneer een
gebruiker een document aan het lezen is, kan hij/zij snel naar een ander
gaan door op een trefwoord of een knop te klikken om vervolgens te worden
gepresenteerd op een ander document, mogelijk duizenden mijlen verderop.

<cmdsynopsis>
<command>netscape</command>
<arg><replaceable>url</replaceable></arg>
</cmdsynopsis>

<informalfigure float="0">
	<graphic fileref="png-files/grote-X.png"></graphic>
</informalfigure>
De populairste webbrowser onder Linux is <application>netscape</application>, een commerci&euml;le browser die wordt
verkocht (en weggegeven) door Netscape Communications Corporation.  
<application>netscape</application> draait alleen onder X.
</para>

<para>
<application>netscape</application> probeert zo eenvoudig mogelijk in het gebruik te zijn en
maakt gebruik van de Motif widget set om een zeer op Microsoft Windows
lijkende weergave weer te geven. De basisstrategie voor het gebruik van
<application>netscape</application> is dat onderstreepte blauwe woorden links zijn,
zoals dat met veel afbeeldingen is. (Je kunt erachter komen welke
plaatsen links zijn door erop te klikken.)
Door het met de linkermuisknop klikken
op deze woorden, zal je op een nieuwe pagina worden gepresenteerd.
</para>

<para>
Linux ondersteunt vele andere browsers, waaronder de oorspronkelijke
webbrowser <application>lynx</application>
<indexterm><primary>lynx</primary></indexterm>. 
<application>lynx</application> is een tekstbrowser; het
zal geen enkele afbeelding tonen waarmee het Web thans is verenigd; maar het
zal zonder X werken.
<indexterm><primary>lynx</primary></indexterm>

<cmdsynopsis>
<command>lynx</command>
<arg><replaceable>url</replaceable></arg>
</cmdsynopsis>

Het gebruik van <application>lynx</application> is iets moeilijker te leren, maar over het
algemeen zal het spelen met de pijltjestoetsen maken dat je er vaardigheid
in krijgt. Met de pijltjestoetsen naar boven en beneden verplaats je de cursor
tussen links op een gegeven pagina. Met de rechterpijltjestoets volg je de
huidige (opgelichte) link. Met de linkerpijltjestoets herlaad je de vorige
pagina. Om uit <application>lynx</application> te gaan, typ je <keycap>q</keycap>.
<application>lynx</application> heeft nog diverse andere toetsopdrachten; raadpleeg de manpage
voor meer.
</para>
</sect1>
</chapter>
<!--
% Local Variables: 
% mode: latex
% TeX-master: "guide"
% End:  -->