Difference between revisions of "Faq unix"

From Cncz
Jump to: navigation, search
(begin gemaakt met updaten pagina)
Line 1: Line 1:
 +
[nl]
 +
=C&CZ's niet vaak genoeg gestelde vragenlijst.=
 +
==met antwoorden!==
  
-----------------------------------------------------------------------
+
Questions and answers in English only.
 
+
[/nl]
C&CZ's Veelgestelde Vragenlijst.
+
[en]
met antwoorden!
+
=C&CZ's Not Frequently Enough asked questions=
 
+
==with answers!==
 
+
[/en]
versie 0.11
 
laatste verandering : 05-009-2000
 
 
 
Correspondentie: <postmaster@sci.kun.nl>
 
-----------------------------------------------------------------------
 
Voor meer info, zie:
 
http://www.sci.kun.nl/cncz/documentation
 
  
0. Over deze FAQ
 
----------------
 
1  Hoe kom ik aan dit document?
 
2  Er is bijgedragen door?
 
 
1 UNIX shells
 
-------------
 
1  Wat is een shell?
 
2  Voorbeelden van shells.
 
3  Wat is Man?
 
4  Hoe kunnen manuals geprint worden?
 
5  Hoe start en stop ik een shell?
 
6  Typische UNIX cmdline interface voor alle shells.
 
7  Wat is de 'environment' en wat is Standaard Input/Output?
 
8  Wat is Input/Output Redirection?
 
9  Hoe kan ik meer commando's op 1 regel geven?
 
10  Hoe kan ik een programma niet-interactief laten lopen?
 
11  Wat is filename expansion en wildcard?
 
12  Hoe kan ik een regel verlengen?
 
13  Wat zijn 'Here Documents'?
 
14  Wat is Command Substitution?
 
15  Hoe start een shell; welke input scripts worden gebruikt.
 
16  Variabelen.
 
17  Hoe vindt een shell een commando.
 
18  Wat is een shell script.
 
19  Features csh (boven sh).
 
20  Features bash (over csh).
 
21  Welke terminals worden ondersteund?
 
22  Hoe kan ik mijn prompt veranderen?
 
 
2 Email en News
 
---------------
 
1  Internet? Wat is dat?
 
2  Wat betekent email?
 
3  Hoe werkt email?
 
4  Hoe zien emailadressen eruit?
 
5  Wat zijn domeinen?
 
6  (verwijderd, te oud)
 
7  Wat is een mailinglist?
 
8  Wat zijn nieuwsgroepen?
 
9  Welke zijn er zoal?
 
10  Hoe is de etiquette bij electronische post?
 
11  Zijn er speciale termen in nieuwsgroepen die ik moet weten?
 
12  Welke nieuwslezers zijn er zoal beschikbaar?
 
13  Hoe start je nn op, en waar vind ik hulp over nn?
 
14  Ik heb nn opgestart; wat zie ik nu op het sherm?
 
15  Help! Nog 655781 artikelen in 1781 nieuwsgroepen! Wat nu?
 
16  Wat is het idee achter nn?
 
17  Hoe sla ik oninteressante berichten over?
 
18  Hoe gooi ik overtollige nieuwsgroepen weg?
 
19  Hoe post ik een bericht?
 
20  Wat staat er allemaal in de header van een bericht?
 
21  Hoe kan ik artikelen automatisch laten kiezen?
 
22  Kan ik zelf een nieuwsgroep maken?
 
 
3 Etcetera
 
----------
 
1  Wat zijn er een boel 'vreemde' toetsen.
 
2  Hoe kan ik mijn bestanden ontoegankelijk maken voor anderen?
 
3  Help, ik ben een file op Unix kwijt! Kan ik die terug krijgen?
 
  
 +
Last modified: 2018-03-21
  
 +
For questions: <postmaster@science.ru.nl>
 
-----------------------------------------------------------------------
 
-----------------------------------------------------------------------
0  Over deze FAQ
+
Further reference:
=================
+
http://wiki.science.ru.nl/cncz/documentation
  
 +
==About this FAQ==
  
0.1  Hoe kom ik aan dit document?
+
https://wiki.science.ru.nl/cncz/index.php?title=Faq_unix
----------------------------------
 
- Vanaf overal:
 
http://www.sci.kun.nl/cncz/documentation/localdoc/cncz.faq
 
- Voor Unix systemen in (o.a.) het sci.kun.nl domein:
 
het bestand: /usr/src/local/doc/cncz.faq
 
  
0.2  Er is bijgedragen door:
+
===Contributors===
-----------------------------
 
  
Patrick Atoon       <patricka@cs.kun.nl>
+
Patrick Atoon <patricka@cs.kun.nl>
Kees Keijzers       <keesk@sci.kun.nl>
+
Kees Keijzers <keesk@science.ru.nl>
Jos Alsters         <josal@sci.kun.nl>
+
Jos Alsters <josal@science.ru.nl>
Peter van Campen <Peter.vanCampen@sci.kun.nl>
+
Peter van Campen <Peter.vanCampen@science.ru.nl>
 +
Simon Oosthoek      <S.Oosthoek@science.ru.nl>
  
 +
==UNIX shells==
  
-----------------------------------------------------------------------
 
1  UNIX Shells
 
===============
 
  
 +
===What is a shell?===
  
1.1 Wat is een shell?
+
The shell is a program that interprets the user's commands and executes them on the Operating System.
---------------------
+
There are many kinds of shells, which have different interpreted languages in which to write commands.
  
- een programma dat commando's van de gebruiker vertaalt naar
+
A shell can be used interactively, a human user typing commands on a terminal prompt, or in a shellscript. The shellscript is also called a batch file. A shell script that asks for human input can only be run from an interactive shell.
het Operating System (UNIX). (Een modernere versie van zo'n
 
user-interface is niet karakter- maar grafisch georienteerd: de
 
window systemen.) Er bestaan verschillende van deze shells die
 
ieder een andere set commando's begrijpen en kunnen vertalen. Elk
 
heeft zijn eigen voor- en nadelen.
 
- met de commando's die de shell kent, kan een programma gemaakt
 
worden: een shellscript (vergelijk een bat-file onder DOS).
 
  
 +
===Examples of shells===
  
1.2 Voorbeelden van shells:
+
On the linux machines you can use the shells:
---------------------------
 
  
aanwezig op de C&CZ machines:
+
- /bin/sh : the default "Bourne" compatible shell, on Ubuntu, this is /bin/dash
- sh: de AT&T vader van alle shells, Bourne Shell, SUN supported.
+
- /bin/dash: a light-weight Bourne/POSIX compatible shell.
- csh: de Berkeley Moeder, Bill Joy, SUN supported.
+
- /bin/bash: the Bourne Again Shell. A full fledged linux shell and the default.
- bash: de GNU opvolger van sh/csh/..., Brian Fox, Public Domain.
+
- /bin/zsh : the last shell you'll ever need, very configurable
- ksh: Korn Shell, de System V opvolger van sh, SUN supported.
+
- /bin/tcsh: a csh compatible shell. We strongly advise not to use this for scripts!
- /usr/lib/rsh: Restricted Shell, SUN supported.
 
- tcsh: een csh opvolger, ontwikkeld vanuit de Berkeley csh source
 
  door verschillende auteurs, Public Domain.
 
  
sh en csh zullen vervangen worden door ksh: Korn Shell.
+
Note that there are shells for microsoft windows, e.g. cmd.exe and powershell. Recently the bash shell is becoming available on windows as well.
  
NIET aanwezig op de C&CZ machines in een standaard zoekpad:
+
===What is *man*===
- zsh: de shell met de meeste features/bugs/etc., oorspronkelijk
 
  door Paul Falstad <pf@ttisms.com>. Aanvullingen door vele
 
  anderen, Public Domain.
 
  
Merk op dat met 'Public Domain' bedoeld wordt dat SUN de shell niet
+
Most commands have a manual page, you can invoke the manual page by giving the command: man "command" in an interactive shell.
support en dat de source code beschikbaar is. Bijv. 'bash' valt
 
onder het copyright van de Free Software Foundation.
 
  
1.3 Wat is Man?
 
---------------
 
  
Van vrijwel alle commando's en begrippen zijn direct op het systeem
+
=====================================================================
handleidingen (manuals) in de engelse taal beschikbaar. Deze kunnen
+
TODO:
worden opgeroepen worden met het commando 'man'.  Zo is de
 
handleiding van het commando 'man' te vinden met:
 
  
 
'man commandonaam' bijv. 'man man'
 
'man commandonaam' bijv. 'man man'

Revision as of 12:47, 21 March 2018

C&CZ's Not Frequently Enough asked questions

with answers!


Last modified: 2018-03-21

For questions: <>


Further reference: http://wiki.science.ru.nl/cncz/documentation

About this FAQ

https://wiki.science.ru.nl/cncz/index.php?title=Faq_unix

Contributors

Patrick Atoon <> Kees Keijzers <> Jos Alsters <> Peter van Campen <> Simon Oosthoek <>

UNIX shells

What is a shell?

The shell is a program that interprets the user's commands and executes them on the Operating System. There are many kinds of shells, which have different interpreted languages in which to write commands.

A shell can be used interactively, a human user typing commands on a terminal prompt, or in a shellscript. The shellscript is also called a batch file. A shell script that asks for human input can only be run from an interactive shell.

Examples of shells

On the linux machines you can use the shells:

- /bin/sh  : the default "Bourne" compatible shell, on Ubuntu, this is /bin/dash - /bin/dash: a light-weight Bourne/POSIX compatible shell. - /bin/bash: the Bourne Again Shell. A full fledged linux shell and the default. - /bin/zsh : the last shell you'll ever need, very configurable - /bin/tcsh: a csh compatible shell. We strongly advise not to use this for scripts!

Note that there are shells for microsoft windows, e.g. cmd.exe and powershell. Recently the bash shell is becoming available on windows as well.

What is *man*

Most commands have a manual page, you can invoke the manual page by giving the command: man "command" in an interactive shell.


=========================================================

TODO:

'man commandonaam' bijv. 'man man'


Verder wordt een lijst met sleutel woorden (keywords) bijgehouden die te doorsoeken is met de '-k' optie van 'man'. Alle beschikbare handleidingen die gaan over mail zijn te vinden met het commando:

wn4> man -k mail

1.4 Hoe kunnen manuals geprint worden?


Soms is het handiger om de inhoud van man op papier te hebben. Printen is eenvoudig door enkele eenvoudige environment variabelen te zetten;

Bijv. in de csh shell de manual van het commando 'nn' afdrukken op de 'mondriaan' postscript printer:

wn4> setenv TROFF groff wn4> setenv TCAT 'lpr -m -Pmondriaan' wn4> man -t nn

Bijv. in de bash shell de manual van het commando 'man' afdrukken op de locale postscript printer 'alwlpr':

wn4$ export TROFF=groff wn4$ export TCAT='lpr -m -Palwlpr' wn4$ man -t nn


1.5 Hoe start en stop ik een shell?


- de initiele shell (die bij inloggen actief is) wordt door de systeembeheerder gegeven. (Bij C&CZ is dat csh: heeft genoeg maar niet te veel mogeljkheden.) Welke shell je hebt, kun je achterhalen met het de volgende commando:

wn4> finger loginnaam

- werkend in de initiele shell, kun je een andere shell starten door de naam in te tikken: bash/sh/csh. deze shell kan gestopt worden met commando: exit, logout of ^D (= control D). Omdat ^D ook een end of file teken is, werden in het verleden vaak vergissingen gemaakt. Daarom is door C&CZ ^D afgezet voor logout. - de initiele shell wordt gestopt bij logout.


1.6 Typische UNIX cmdline interface voor alle shells:


Voor alle shells is de opbouw van de commandoregel in principe gelijk:

prompt: COMMANDO -optie-1 -optie-2 ... de rest ... ======= -------- -------- -------- -- ----

prompt: is datgene wat de shell op het scherm zet, wachtend op input. dit is vrij te kiezen (configureerbaar) d.m.v. csh: set prompt="...." in .login of .cshrc bash: PS1="....." in .bashrc Voorbeelden van prompts: $

machinenaam> (b.v. wn4>) loginnaam> (b.v. josal>) commandonummer machinenaam> (b.v. 12 wn4>) commandonummer homedirectory-pad> (b.v. 12 /home/cncz/josal>)

COMMANDO is het programma dat wordt uitgevoerd. sommige shells hebben sommige cmd's ingebouwd: echo, kill, time, test, en sommige cmd's zijn alleen maar ingebouwd aanwezig: logout, alias, history, exec, etc. Niet-ingebouwde commando's moeten eerst van disk gehaald worden en staan dus niet permanent in het geheugen. De uitvoering daarvan kost dus meer tijd. opties (soms -, --, + of niets!) en 'de rest' horen bij het specifieke commando

Voorbeelden:

wn4> rm -i *.dvi

De prompt is 'wn4>', het commando is 'rm' met de optie '-i' en de rest bestaat uit het argument '*.dvi'. Dit commando zal alle files met een naam die eindigen op '.dvi', maar er eerst om vragen (dit bepaalt de optie '-i', zie 'man rm')

15 wn4:/home/cncz/josal> lpr -m -Poceps paper.dvi test.dvi

De prompt is hier '15 wn4:/home/cncz/josal>', het commando is 'lpr', er zijn twee opties, '-m' en '-Poceps' en de rest wordt gevormd door twee filenamen 'paper.dvi' en 'test.dvi'. Het commando zal die twee files afdrukken op de printer 'oceps' (aangegeven door de optie -P) en na afloop een mail terugsturen met printerinformatie (de optie -m).


1.7 Wat is de 'environment' en wat is Standaard Input/Output?


Een commando/programma loopt in een 'standaard' opzet:

Environment ----------------------+ | V +-----------+ | | ---> StdOut (scherm) StdIn (toetsenbord) ---> | Programma | | | ---> StdErr (scherm) +-----------+

De omgeving (environment) moet goed gezet worden, voordat het commando gegeven wordt. B.v.: de prompt kan eerst gezet worden. Standaard komt input van toetsenbord gaan output en foutboodschappen naar het scherm.


1.8 Wat is Input/Output Redirection?


Dit is wijziging van bron/bestemming van standaard input/output. Voorbeelden:

- CMD .... > filenaam (Output Redirection) Als de file al bestaat, wordt deze overschreven. Errors blijven wel naar scherm gaan - CMD .... >> filenaam (Output Redirection) Als de file al bestaat, wordt de nieuwe output er achteraan gezet. - CMD .... < input-bestand (Input redirection) - CMD .... << EEN-OF-ANDERE-STRING (Input redirection, Here Documents) (zie ook Here Documents) - CMD-1 ... | CMD-2 ... | CMD-3 ... (Pipes) Output van CMD-1 wordt input van CMD-2, etc


1.9 Hoe kan ik meer commando's op 1 regel geven?


Plaats ; tussen de commando's: - CMD-1 .... ; CMD-2 ....


1.10 Hoe kan ik een programma niet-interactief laten lopen?


Door & achter commando, loopt het in de background:

- CMD .... &


1.11 Wat is filename expansion en wildcard?


- CMD pu?? -> CMD punt of/en punk of/en push ... (Filename Expansion) Elk ? moet 1 karakter worden

- CMD pu* -> CMD pu of/en punk of/en push ... (wildcard)

  • mag elk aantal karakters worden

- CMD pu[0-9] -> CMD pu0 of/en pu1 of/en pu2 ...

- CMD pu'*' -> CMD pu* (Quoting) De * is onderdeel van de naam en niet een wildcard

- CMD pu"*" -> CMD pu* (Quoting)

- CMD "pu*" -> CMD pu* (Quoting)

- CMD pu\* -> CMD pu* \ : Neem volgende karakter letterlijk

- CMD *$A.tex wild card en $A variabele invullen

- CMD '*$A'.tex quoting: geen wild card en $A variabele niet invullen

- CMD *$A.tex geen wild card en $A variabele wel invullen

Er is een belangrijk verschil tussen UNIX en DOS bij de behandeling van de wildcard (* en ?): in DOS wordt dit afgehandeld door het programma/cmd dat gestart wordt. Elk programma/cmd moet deze truc dus kennen. Bij UNIX wordt het afgehandeld door de shell. Voordeel is dat de programma's/commando's er dus geen weet van hoeven te hebben. Nadelen zijn er ook:

DOS: copy *.dvi *.dvx resulteert in 1 op 1 copieen (copy werkt regel voor af): copy file1.dvi file1.dvx copy file2.dvi file2.dvx UNIX: cp *.dvi *.dvx resulteert in chaos want shell expandeert eerst: cp file1.dvi file2.dvi ....... file1.dvx file2.dvx...........


1.12 Hoe kan ik een regel verlengen?


Door aan einde regel \ te plaatsen. Volgende regel wordt aangesloten. Voorbeeld: wn4> CMD pu\ nt resulteert in wn4> CMD punt


1.13 Wat zijn 'Here Documents'?


(Zie ook I/O redirection). Een voorbeeld, aan de hand van het commando wc (word count). wn4> wc input1 input2 input3 input4 ^D (= end of file (eof)) 4 4 28 wn4>

^D betekent 'end of file' (eof), hiermee owrdt het eind van de input doorgegeven aan het proramma 'wc'.

Dit werkt prima in interactieve mode. Als we een script willen schrijven waarin wc gebruikt wordt, en dat niet on-line gedraaid wordt, is het niet mogelijk om die input te geven. Er zijn dan 2 mogelijkheden:

Gebruik maken van input redirection d.m.v. een file (bijv. abc) die klaargezet wordt. Het script heet 'programma':

wn4> cat abc: input1 input2 input3 input4 wn4> cat programma echo "Dit is een test van input omleiding" wc < abc echo "Einde test" wn4>

Of gebruik maken van zg. "Here Documents"

wn4> cat programma echo "Dit is een test van Here Documents" wc << Einde-Invoer input1 input2 input3 input4 Einde-Invoer wn4>

Het invoer voor het programma wc eindigt dus zodra de tekst achter de '<<' gevonden wordt.


1.14 Wat is Command Substitution?


- CMD-1 `CMD-2`

CMD-1 wordt uitgevoerd met als argumenten de output van CMD-2.

Voorbeeld, om het bestand 'Notulen' een andere naam te geven met een extensie van de huidige datum en tijd:

wn4> date +%y%m%d-%H:%M 930730-12:44 wn4> mv Notulen Notulen.930730-12:44

Dat kan echter ook eenvoudiger zonder de output van het date commando over te tikken:

wn4> mv Notulen Notulen.`date +%y%m%d-%H:%M`

Het commando 'date +%y%m%d-%H:%M' wordt uitgevoerd en het resultaat wordt in het 'mv' commando gebruikt.


1.15 Hoe start een shell; welke input scripts worden gebruikt:


- sh: leest .profile bij inloggen, daarna de CMD's - csh: leest .cshrc en .login bij inloggen, daarna de CMD's, leest .logout bij uitloggen - bash: leest ontzettend veel, o.a. .bashrc (Lees de handleiding ....)

a) Door C&CZ wordt als eerste regel in .cshrc gezet:

source /system.cshrc

Daardoor wordt de file /system.cshrc gelezen bij het starten van csh. In deze file staan settings die voor iedereen geldig zijn. Deze regel dus niet verwijderen.

b) Hetzelfde geldt voor de eerste regel in .profile van sh:

/system.profile

c) In de directorie /usr/skel staan voorbeelden van startup files. Als je je eigen files verknoeid hebt, kun je hier `verse' halen. Omdat het onmogelijk is deze files zo te maken dat ze voor iedereen (met elk soort terminal b.v.) geschikt zijn, zijn ze een compromis dat bruikbaar is. Voor bash staat er (nog) niets.


1.16 Variabelen:


Worden aangeroepen met een $. Voorbeeld in csh:

wn4> set a=tien wn4> echo $a tien wn4>

Er zijn twee 'soorten': 'locale' shell variabelen en 'environment' variabelen. Locale variabelen worden alleen binnen de shell gebruikt. De 'environment' variabelen worden doorgegeven aan alle programma's die de shell opstart. Meestal wordt afgesproken: environment variabelen in hoofdletters, locale in kleine letters.

Voorbeelden in sh:

definitie locale variabele:

wn4> TERM=vt100

maak TERM een environment variabele: nu weten alle programma's (b.v. de editor vi) welke terminal ik heb.

wn4> export TERM

maak een environment variabele PRINTER met daarin de naam van de gebruikte printer. Printer programma's als lpr, lpq en lpc zien dit en behoeven dan niet meer de -P optie!

wn4> PRINTER=oceps; export PRINTER

lpr print nu automatisch naar de Oceps printer.

In bash gaat alles identiek, alleen kan het laatste voorbeeld korter genoteerd worden:

wn4> export PRINTER=oceps

Csh heeft aparte commando's voor locale ('set') en environment ('setenv') variabelen! Ook het toekennen van waarden gaat verschillend, zet de locale variabele 'term' op 'vt100':

wn4> set term=vt100

Zet de environment variabele 'TERM' op 'vt100':

wn4> setenv TERM vt100

Het is nog ingewikkelder, sommige locale variabelen worden apart behandeld (bijv. term en path): wanneer de locale variabele 'term' op 'vt100' gezet wordt, zet csh de bijbehorende environment variabele 'TERM' ook op 'vt100'..... (zie de handleiding van csh)

Enkele opmerkingen:

- Het commando 'printenv' geeft overzicht van environment variabelen.

- voor alle shells geeft 'set' een overzicht van locale variabelen.

- begrenzen van een naam van een variabele gaat d.m.v. accolades:

wn4> GELD=weinig wn4> echo ${GELD}waarde weinigwaarde wn4>

- veel variabelen hebben een speciale betekenis voor de shell: HOME, PATH, CDPATH, MAIL, PS1, prompt, status, history, filec, etc. (Zie hiervoor de shell handleidingen).

- soms zijn variabelen handig/nodig voor andere programma's: TERM, PRINTER, DISPLAY, MORE, EDITOR, term, etc. (Zie hiervoor de handleidingenvan de diverse programma's).

- variabelen zijn te vullen vanuit 'het toetsenbord' (stdin):

Voorbeeld voor bash en sh:

wn4> echo -n "Tik wat in: " ; read variabele dit is variabele wn4> echo $regel dit is variabele

Voorbeeld voor csh:

wn4> echo -n "Tik wat in: " ; set regel=$< dit is variabele wn4> echo $regel dit is variabele


1.17 Hoe vindt een shell een commando:


De shell kan een commando vinden aan de hand van:

- een absolute naam, een naam die met een '/' begint:

wn4> /usr/ucb/vi wn4> /usr/local/datasearch/bin/telgids

- een relatieve naam, een naam die niet begint met een '/', maar wel een '/' bevat:

wn4> bin/testprogramma wn4> ../petervc/bin/backup-photon

- een commando of programma naam. Om te weten wat er dan opgestart moet worden, gebruikt de shell de waarde va de PATH (sh en bash) of path (csh) environment variabele. Deze moet een lijst van directories bevatten waarin de naam van het betreffende commando opgezocht kan worden:

wn4> vi wn4> telgids wn4> testprogramma

De lijst wordt in volgorde afgewerkt en het eerst gevonden programma wordt opgestart. Omdat er een Unix programma met de naam 'test' bestaat, en wanneer je zelf een programma maakt met ook de naam 'test', bepaalt de volgorde van de directories in de path variabele welk programma gebruikt zal worden!

De huidige directory ('.') moet ook in het path staan wil een commando in de huidige directorie gevonden worden (dit in tegenstelling tot MSDOS bijv.)

Je kunt het path meestal het beste veranderen door het aan de voor- of achterzijde uit te breiden met de gewenste directorie(s):

Voor sh/bash:

wn4> PATH=$PATH:$HOME/bin

Voor csh:

wn4> path=(/usr/local/X11R5/bin $path)


1.18 Wat is een shell script:


- een script is een bestand met shell commando's, dat de shell leest en uitvoert. - als argument van de shell: bash bash-script - of als gewoon commando: chmod +x new-cmd ; new-cmd - eerste regel is belangrijk:

  1. !/bin/csh of #!/usr/local/gnu/bin/bash anders een sh script!

- $1, $2, $3 ... zijn de argumenten meegegeven aan het script.


1.19 Features csh (boven sh):


- Job control: ^Z : stopt een programma. bg : laat het huidige programma in de achtergrond doorlopen. fg %nummer : zet het achtergrondprogramma met dit nummer in de voorgrond. (fg: neem current programma daarvoor (met + in de joblist). jobs : geeft een lijst van alle programma's in voor en achtergrond. ^Z : stoppen van de foregroundjob. - History mechanisme: set history=100 : onthoudt de laatste 100 cmd's history 25 : geeft een lijst van de laatste 25 cmd's. !! : voer het vorige cmd nog een keer uit. maar: wn3> ls wn3> latex pi!!.tex ---> latex pils.tex !33 : voer cmd met nummer 33 nog een keer uit. !lat : voer het laatste cmd uit dat met 'lat' begon. dus als ! in een filenaam: in commando vervangen door \! ^twx^tex^ : voer het vorige cmd uit, maar vervang twx door tex (In csh is er geen andere mogelijkheid voor commandline editing, in bash wel.) - Filename completion: set filec : zet filename completion aan. latex vers<ESC> : maak de naam vers volledig indien mogelijk. latex vers^D : laat de mogelijkheden voor volledig maken zien. voorbeeld: stel er zijn de 2 bestanden verslag.dotcursus.13.2.93.tex verslag.dotcursus.19.3.93.tex latex vers<ESC> geeft: latex verslag.dotcursus.1 daarna 3 of 9 intikken en weer <ESC> maakt het commando af. Nadeel: je moet de namen van de bestanden kennen (anders weet je niet of 3 of 9 te tikken). latex vers^D geeft in eerste instantie het zelfde maar geeft meteen de (in dit geval 2) vervolgmogelijkheden, waarvan er weer 1 (tik 3 of 9) gekozen moet worden. - 'User home directory completion': ~josal/.cshrc -> /home/cncz/josal/.cshrc ~jos^D -> zoek de gebruiker wiens loginnaam met 'jos' begint en maak, indien mogelijk de naam af. (dit duurt erg/te lang op de sci.kun.nl machines) - Aliases: alias dir ls -l : vervang het commando 'dir' steeds door 'ls -l', dus wn4> dir --> wn4> ls -l wn4> dir *.tex --> wn4> ls -l *.tex wn4> echo dir --> wn4> echo dir alias cd 'cd \!* ; set prompt="\! $cwd> "' - Heeft rekenmogelijkheden: set a=10 ; @ a = 5 + $a ; echo $a - Variabelen kunnen lijsten aan: set lijst=(een twee drie vier vijf); echo $lijst[4]; shift lijst; echo $lijst[4]


1.20 Features bash (over csh):


- Command Line Editing a la Emacs/Jove of Vi. - Alle 'leuke' dingen die sh wel heeft maar csh niet.... - Mogelijkheid tot functies (kan de SUN sh ook). - (Veel) betere file/command completion. - Commandsubstitution in een vorm van $(head $(ls *.tex)) - Ingebouwde hulp.


1.21 Welke terminals worden ondersteund?


Staan in /etc/termcap Er zijn problemen te verwachten met andere terminals dan adm3a, vt100/102, X-terminals, SUN-stations.


1.22 Hoe kan ik mijn prompt veranderen?


Dat hangt natuurlijk van het type shell af, enkele voorbeelden kunnen e.e.a. verduidelijken:

- sh, maak de prompt tot iets met de naam van de machine erin, bijv. 'wn3 >'

wn4> PS1="`hostname` >"

- csh, maak een prompt met daarin het history nummer en de machine naam, bijv. '15 wn3>'

wn4> set prompt="\! `hostname`>"

- bash, maak een prompt met het history nummer, machine naam en de huidige directory, bijv: '8 wn3:~/doc/punt '

wn4> PS1="\# \h:\w "

De huidige directory kan ook in csh in de prompt gezet worden:

wn4> set prompt="\! `hostname`:${cwd}> "

Alleen moet er dan wel nog een alias voor het 'cd' commando opgenomen worden, zodat de prompt na het veranderen van de directory aangepast wordt:

wn4> alias cd 'chdir \!*; set prompt="\! `hostname`:${cwd}> "'



2 Email en News

===

2.1 Internet? Wat is dat?


Je hoort regelmatig mensen praten over "het Internet". Maar wat is dat netwerk nou eigenlijk? Het Internet bestaat uit een heleboel computers die aan elkaar gekoppeld zijn via een (snel) netwerk. Het principe is simpel; aan elke computer die aan Internet hangt kun je een stel nieuwe computers vastmaken die daarmee ook aan 'Het Internet' hangen.

2.2 Wat betekent email?


Via het Internet kunnen mensen berichten uitwisselen, met elkaar praten, een spelletje spelen, kortom contact maken. Email staat voor "electronic mail", electronische post, dit in tegenstelling tot "snail mail", de gewone post. Bij email tik je een bericht in, geeft aan naar wie het moet, en voila, binnen korte tijd komt het aan bij de geadresseerde. Vaak gebeurt dit binnen enkele seconden, vandaar de term "snail mail" (slakkenpost) voor de normale post.


2.3 Hoe werkt email?


Het idee bij email is hetzelfde als bij normale post; je geeft aan naar wie het toe moet, schrijft het bericht, en verstuurt het. Er zijn een heleboel programma's beschikbaar die email kunnen versturen. Voorbeelden zijn "pine", "netscape", "mail", "mh", "xmh" en "mailtool". Daarnaast zijn er nog een heleboel Public Domain programma's binnen te halen die nog weer veel meer mogelijkheden bieden. De programma's werken allemaal op hetzelfde principe: een bericht dat verstuurd moet worden, wordt naar een centrale computer hier op de universiteit gestuurd, en die probeert dan het bericht af te leveren bij degene voor wie het bedoeld is.


2.4 Hoe zien emailadressen eruit?


Een voorbeeld van een emailadres is dat van Jos Alsters: "". Het bestaat uit twee delen; zijn loginnaam: "josal", en het domein waar hij te bereiken is: "sci.kun.nl". De twee delen zijn gescheiden door een "@", spreek uit als "at" [et]. Het maakt bij emailadressen meestal niet uit of je ze met hoofdletters of niet spelt.


2.5 Wat zijn domeinen?


Een domein is een cluster computers die bij elkaar horen. De computers "rood.sci.kun.nl", "joet.sci.kun.nl" en "wn1.sci.kun.nl" horen bijvoorbeeld allemaal tot hetzelfde domein "sci.kun.nl".

Als je mail verstuurt naar iemand, is het vaak niet nodig precies de computer te specificeren, maar is het voldoende om zijn domein te noemen. Simpel gezegd is er namelijk vaak 1 computer die voor een heel domein de email verzorgt.

Aan het domein van iemand kun je al een beetje aflezen waar hij zich bevindt. Op onze universiteit wordt ernaar gestreefd de domeinen uit drie delen te laten bestaan, maar veel andere instanties volgen die regel ook. Stel dat er een nieuw domein zou moeten komen, genaamd "natuurkunde", dan zou dat dus niet "natuurkunde.sci.kun.nl", maar eerder "natuurkunde.kun.nl" genoemd worden.

Hieronder zijn een paar voorbeelden van eindes van emailadressen:

.sci.kun.nl De B-faculteiten van de KUN (SCIence) .cs.kun.nl Informatica (Computing Science) .uci.kun.nl Het UCI. .kun.nl De KUN .uva.nl De Universiteit van Amsterdam .nl Nederland .be Belgie .ca Canada .au Australie .jp Japan .edu Een Amerikaanse universiteit (EDUcational institute) .com Een Amerikaans bedrijf (COMpany) .mil Een Amerikaanse militaire instelling .gov Een Amerikaanse overheidsinstelling (GOVernment)

Een belangrijk emailadres om te weten is "postmaster". Op elke domein hoort er een "postmaster" te zijn. Je kunt die persoon aanspreken als jouw mail naar iemand nooit aankomt, als je ergens problemen mee hebt, als je last hebt van iemand uit zijn domein. Onze postmaster heet "", en een mailtje naar hem zal ongetwijfeld terechtkomen bij iemand van C&CZ.

2.6 (verwijderd, te oud)


2.7 Wat is een mailinglist?


Een mailinglist is een soort email-discussie, die per email wordt verstuurd naar de mensen die op de lijst staan. Je kunt je opgeven voor zo'n lijst bij degene die de lijst bijhoudt (de administrator). Iedereen die deelneemt aan de disussie stuurt zijn bericht naar de administrator, en die zorgt ervoor dat iedereen die op de lijst staat, ook dat bericht toegestuurd krijgt. Dit betekent vaak dat je bergen post in je mailbox zult krijgen.

Hoe vind je uit welke mailinglists er zijn? Welke lists er precies allemaal zijn is niet uit te vinden, meestal kom je ze tegen `van horen zeggen'. Als je door je nieuws bladert lees je soms iets over zo'n mailinglist. Daarnaast zijn er de nieuwsgroepen die onder bit.list-serv te vinden zijn, dit zijn kopieen van mailinglists.


2.8 Wat zijn nieuwsgroepen?


Newsgroepen zijn een openbare vorm van de mailinglists. In nieuwsgroepen wordt gediscussieerd, gepraat, gescholden, overlegd en gebabbeld over vanalles en nogwat. Mensen van over de hele wereld kunnen een bericht posten in zo'n nieuwsgroep, en dat bericht kan dan over de hele wereld worden gelezen. Alle nieuwsgroepen hebben een naam, en die naam zegt ook meteen iets over het thema van de nieuwsgroep. De -stilzwijgende- afspraak is dat het in een nieuwsgroep alleen maar over dat thema gaat, berichten die in een andere nieuwsgroep thuishoren worden niet gewaardeerd.


2.9 Welke zijn er zoal?


Teveel om op te noemen. Er zijn zo'n 1800 nieuwsgroepen, maar dat aantal is dynamisch, omdat iedereen een nieuwe nieuwsgroep op mag richten, als hij daar de behoefte toe voelt. Er zit vanalles tussen. Verzin een thema, en er is een nieuwsgroep over.

Gelukkig zit er enige logica achter de namen van de nieuwsgroepen, zodat je er nog enigszins wijs uit kunt komen. De nieuwsgroepen hangen aan elkaar als een soort boom, die naar onder toe steeds specifieker wordt.

De naam van een nieuwsgroep ziet er bijv. als volgt uit:

"comp.os.linux".

De nieuwsgroep gaat over "comp(uters)", om preciezer te zijn gaat het over "o(perating )s(ystems)", in het bijzonder over "linux". Op een soortgelijke manier hebben de andere nieuwsgroepen hun naam gekregen.

Hier zijn een paar voorbeelden van nieuwshierarchien, met wat uitleg:

alt. Alt-nieuwsgroepen kunnen zomaar door iedereen worden aangemaakt, simpelweg door erheen te posten. Hierdoor kunnen er onder alt. enorme onzin groepen onstaan. Er hangen echter ook een paar interessante groepen onder, die de sprong naar een `officieel erkende' naam nog niet durven te nemen.

bionet. Deze nieuwshierarchie bevat groepen die interessant zouden kunnen zijn voor biologen.

comp. Computers. Elke, zichzelf respecterende computer met dito gebruikers heeft een eigen groep (eventueel met subgroepen, al naar gelang de mate van zelfrespect) onder "comp.sys.". Zo ook elke computertaal ("comp.lang."), operating system ("comp.os") en wat niet al meer.

kun. Dit is een locale nieuwshierarchie, die de rest van de wereld - als het goed is - niet kan lezen. Eronder hangen "kun.misc", waar het over vanalles en nogwat gaat, "kun.cncz", waarin mededelingen van C&Cz geplaatst worden en "kun.test", waarin je proefballonnetjes kunt oplaten.

news. Deze hierarchie houdt zich bezig met het Netnews. Interessant is de groep "news.newusers"; deze is speciaal voor vragen van mensen die nog met vragen zitten over news. Bovendien wordt daar regelmatig een FAQ (Frequently Asked Questions) gepost, met daarin antwoorden op de meest gestelde vragen van mensen.

nlnet. Dit is een Nederlandse hierarchie. Als het goed is, is ook deze groep alleen binnen Nederland leesbaar, met als gevolg dat alle conversatie gewoon in het Nederlands plaats vindt. Nieuwsgroepen zijn bijvoorbeeld:

nlnet.announce Hierin worden belangrijke aankondigingen gedaan over interessante symposia, etc. nlnet.misc Een babbelgroep waar enorm veel berichten op gepost worden. Heel af en toe komen er ook interessante disussies in. nlnet.taal Voor alle vragen op taalgebied. Is de "ij" een letter of niet? Houd Van Dale en het Groene Boekje bij de hand. nlnet.markt Hier wordt spul te koop aangeboden. nlnet.muziek Hierin gaat het over muziek in Nederland

rec. Recreational. Wat de mens in zijn vrije tijd zoal bezighoudt. Denk aan alle soorten muziek, sport, tv, noem maar op.

soc. Social. Ongeveer elke cultuur op aarde heeft een eigen groep onder "soc.culture." waarin het over die cultuur gaat. Omdat de hele wereld daar kan posten wordt "soc.culture.netherlands" ook wel gebruikt door Nederlanders in het buitenland met heimwee om op de hoogte te blijven.

talk. Hier wordt gepraat, net als in andere nieuwsgroepen.


2.10 Hoe is de etiquette bij electronische post?


De omgangsvormen bij elektronische post zijn heel anders dan bij normale omgang met mensen of briefwisselingen. Dit komt voornamelijk door het verschil in de tijd dat het bericht de ander bereikt, en de afstand tussen de twee personen.

Bij een normale conversatie zou je het wel uit je hoofd laten om iemand uit te schelden; immers, voor je het weet heb je een vuist in je gezicht. Bij email is dat natuurlijk veel makkelijker, en loop je dat risico niet. Bovendien is email snel, behoorlijk anoniem en makkelijk vervalsbaar. Psychologisch onderzoek heeft uitgewezen dan mensen bij email opener, maar ook directer en extremer zijn dan bij normale eye-to-eye gesprekken.

De hele nieuwshierarchie is vrij anarchistisch, en er is geen politie die toezicht houdt op het gedrag in de nieuwsgroepen. Dit betekent dat je vrij bent om te doen wat je wilt, zolang je daar andere mensen niet al te zeer op hun tenen trapt. Het kan natuurlijk ook voorkomen dat jij flink op je tenen getrapt wordt. Probeer in dat geval eerst het bericht met een flinke korrel zout te nemen. Helpt dat niet, waarschuw die persoon even dat, als hij niet oppast, je verdere stappen zult ondernemen. Als ook dat niet helpt, doe dan je beklag bij de "postmaster" op het domein van die persoon.

Er zijn ook wat richtlijnen bij het posten:

- Houd de regellengte korter dan ongeveer 75 tekens. Als mensen op een bericht van je reageren, nemen ze vaak een gedeelte over en zetten er dan tekens voor, voor de duidelijkheid. De meeste mensen die News lezen hebben een scherm van 80 tekens breed, en regels die te breed zijn zorgen voor een zeer moeilijk te lezen bericht.

- Als je ergens op reageert, neem dan niet het hele bericht over, maar alleen de interessante passages.

- Denk eraan dat iedereen kan zien dat het bericht van de KUN komt. Doe dus geen dingen die de KUN in een kwaad daglicht stellen.

- Veel mensen hebben een ondertekening met een tekeningetje of een spreuk. Laat die ondertekening niet groter worden dan drie tot vijf regels.

- Post in de stijl van de nieuwsgroep. De manier om jezelf verre van populair te maken is natuurlijk het posten van een controversiele mening in een nieuwsgroep.

- Als een nieuwsgroep je niet bevalt heeft het meestal weinig zin om daarover in die nieuwsgroep te gaan klagen. De mensen in die nieuwsgroep zijn blijkbaar wel tevreden met de gang van zaken daar. Staak je ambities als wereldverbeteraar, en ga op zoek naar een interessantere nieuwsgroep.


2.11 Zijn er speciale termen in nieuwsgroepen die ik moet weten?


Er zijn een paar email en News specifieke termen die wel interessant zijn om te weten:

UseNet Het wereldwijde netwerk waarmee de 1,6 miljoen computers met elkaar verbonden zijn.

NetNews De verzameling nieuwsgroepen en alle berichten erin.

Smiley Een smiley is een gekanteld mini-gezichtje zoals de standaard smiley: ":-)". Van links naar rechts zie je de oogjes, een neus en een lachend mondje. Smileys zijn er in honderden soorten en maten: :-(, 8-), :->, etc. Er is zelfs een groot smiley-boek te vinden.

Flame Een flame is een bericht waarin iemand verbaal `geroosterd' wordt. Uitgescholden dus. Het flamen is door sommigen verheven tot een kunst, waarbij de kunst is om in zo beschaafd mogelijke termen de ander volledig voor paal te zetten. Maar ook standaard gescheld valt hieronder. Alleen de moedigsten der aarde durven een stap te zetten in "alt.flame".

FAQ Frequently Asked Questions. Omdat in bepaalde nieuwsgroepen vaak dezelfde vragen worden gesteld, wordt er meestal een FAQ bij- gehouden met antwoorden op die vragen. Heel erg nuttig als je niet weet waar de nieuwsgroep precies over gaat, of als je meer over het onderwerp wilt weten.

IMHO "In My Humble Opinion", naar mijn bescheiden mening.

RTFM Deze term krijg je vaak om je oren geslingerd als je naar een ding vraagt wat ergens prachtig gedocumenteerd is. Het staat voor "Read The Fortran/Fucking Manual": lees de handleiding maar.

  • en _ Door ergens "*" of "_" omheen te zetten kun je het benadrukken.

"Ik vind dat je dat echt _niet_ kunt maken!". Sommige nieuws- lezers laten de om-"*"-de tekst in boldfont, en de om-"_"-de tekst in italics zien.

followup Een bericht wat op een ander bericht reageert in een nieuwsgroep heet een followup.

reply Ongeveer hetzelfde als een followup, met het verschil dat een reply naar de verzender van het originele bericht gaat, en niet naar de nieuwsgroep.

crossposten Als je berichten naar meerdere nieuwsgroepen tegelijk stuurt, heet dat crossposten.

.sig De "signature", de ondertekening van iemand.

Verder worden nieuwsgroepen vaak afgekort met hun beginletters: s.c.n. staat bijvoorbeeld voor soc.culture.netherlands.


2.12 Welke nieuwslezers zijn er zoal beschikbaar?


Alsof er al niet genoeg nieuwsgroepen waren, zijn er ook nog eens een heleboel programma's waarmee je het kunt lezen. Voorbeelden zijn netscape, rn, xrn, nn, messages, tin, trn. Omdat ik van de andere nieuwslezers niet veel weet, zal ik het alleen maar hebben over nn.


2.13 Hoe start je nn op, en waar vind ik hulp over nn?


Het opstarten van nn is heel simpel:

.........................................................................

1 wn4: ~> nn .........................................................................

Als dit de eerste keer was dat je nn opstartte, gaat het programma nu een paar bestanden aanmaken die het nodig heeft. Om precies te zijn: een bestand "~/.newsrc", met daarin alle nieuwsgroepen, en een directory "~/.nn", waarin wat interne dingetjes opgeslagen worden.

Hulp over nn is makkelijk te krijgen met behulp van "man nn" of "xman nn". Die handleiding is wel heel erg groot! Simpeler is het om de <?>-toets te drukken als je hulp nodig hebt. Bij nn kun je die vrijwel overal tikken.

Als nn om enge dingen begint te vragen waar je liever geen antwoord op wilt geven, kun je <control-G> tikken, en dan verdwijnt de vraag.


2.14 Ik heb nn opgestart; wat zie ik nu op het sherm?


Als je nn opstart, krijg je iets te zien als dit:

.........................................................................

Newsgroup: nlnet.misc Articles: 14 of 29/8

a Hans Oey 27 >>>>>X terminals versus PC's b Arjan de Bruin 70 [9] >Male chauvinist pigs (was<>exhibitionisme))) c Jos Horsmeier 12 Tonke Dragt: Torenhoog en mijlenbreed. d Jos Horsmeier 31 Jan Jitzes onnoemelijke g<> Smileys (blurgh)) e Dude 28 >>>>nlnet faq / CVF: nlnet.we<>n voor de faq. f Johan Wevers 18 >>>Jos vs Johan (was Re: Jan<>melijke gezeur)

-- 22:02 -- SELECT -- help:? -----All----- .........................................................................

De bovenste regel verklapt dat deze nieuwsgroep "nlnet.misc" heet, en dat er 14 artikelen in deze nieuwsgroep nog niet gelezen zijn. Het gedeelte "of 29/8" betekent dat er in totaal 29 nieuwe berichten zijn in 8 gesubscribede nieuwsgroepen.

Daaronder volgen aan aantal regels met artikelen. Per regel staat er:

- de letter waarmee het artikel te selecteren is - de naam (of het pseudoniem) van de schrijver van het artikel - De lengte van het artikel in regels - Soms staat er een getal tussen rechte haken achter; nn heeft dan alle artikelen die ook dezelfde titel hebben samengevoegd. - De titel van het artikel; hierbij geeft het aantal ">"-tekens aan hoeveel referenties - dus het hoeveelste antwoord op het originele artikel - dit artikel is. Als de titel te lang is voor het scherm wordt er een gedeelte vervangen door "<>".

Met de toetsen <shift-"<"> en <shift-">"> is het mogelijk door alle titels in een nieuwsgroep heen te bladeren, dit kan ook gewoom met <spatiebalk>, waarbij je automatisch naar de volgende nieuwsgroep springt als er niet meer artikelen zijn.


2.15 Help! Nog 655781 artikelen in 1781 nieuwsgroepen! Wat nu?


Zo snel mogelijk nn weer verlaten met <shift-Q>.

Je kunt nu de "~/.newsrc" file gaan editen en in die file alle ":" achter nieuwsgroepen veranderen in "!". ":" staat namelijk voor "subscribed", en "!" voor unsubsribed. Alle interessante nieuwsgroepen verander je dan weer terug in een ":".

Met vi zou dat als volgt gaan:

.........................................................................

1 wn4: ~> vi ~/.newsrc

%s/:/!/

(Verander bij alle interessante nieuwsgroepen de "!" in een ":")

x

.........................................................................


Als je nu weer nn opstart, zul je veel minder berichten in veel minder nieuwsgroepen hebben.


2.16 Wat is het idee achter nn?


Het idee achter nn is dat je de nieuwsgroepen die je interessant vindt selecteert. Elke volgende keer dat je nn opstart zul je dan die nieuws- groepen te zien krijgen, als daar nieuwe berichten in staan. Door berichten te lezen, zal nn ze de volgende keer niet meer laten zien, zodat je steeds alleen de nieuwste berichten te zien krijgt. Natuurlijk kun je de oude berichten (mits ze niet te oud zijn) nog altijd terugzoeken.

Nn zal je elke nieuwsgroep waarop je gesubsribed bent voorshotelen, waarna je er met de spatiebalk doorheen kunt wandelen. Je krijgt dan alle titels van berichten te zien, en als je er een paar wilt lezen, dan tik je de letter die voor dat bericht staat in. De regel zal dan reverse worden weergegeven, ten teken dat hij geselecteerd is. Als je de nieuwsgroep verlaat, gaat nn kijken of je artikelen geselecteerd had, en zo ja, zal hij ze laten zien. Als je met de nieuwsgroep klaar bent, gaat nn naar de volgende nieuwsgroep, waar het verhaal zich herhaalt.

Als je denkt "ik lees deze nieuwsgroep later wel een keer", kun je <shift-N> doen, van "Next newsgroup". Als je denkt "pfoei wat veel, daar wil ik niet doorheenbladeren, maar ik wil ze ook niet meer te zien krijgen" dan kun je het beste <shift-X> doen, van Catch-up. Alle artikelen worden dan als gelezen gemarkeerd, en je krijgt de volgende nieuwsgroep te zien.


2.17 Hoe sla ik oninteressante berichten over?


Aan de titels kun je vaak niet zien of het bericht interessant is. Normaliter blader je door berichten met <spatiebalk>; die wandelt eerst door het hele bericht, en gaat als dat nodig is naar het volgende bericht. Als je aan de kop van een bericht al ziet dat het niet interessant is, kun je met <n> naar het volgende bericht.

Als je denkt: "dit hele bericht, en alles wat erop zal volgen is vast niet interessant", kun je de <k>-toets gebruiken: "kill". Het bericht en alle followups worden dan als gelezen gemarkeerd en overgeslagen. Als je het onderwerp voorlopig niet meer te zien wilt krijgen moet je <shift-K> doen; dan wordt gevraagd voor hoelang je het niet te zien wilt krijgen. De eerstvolgende paar dagen krijg je die berichten dan niet te zien.


2.18 Hoe gooi ik overtollige nieuwsgroepen weg?


De eerste methode die we hebben gebruikt, vanuit vi, is natuurlijk een omweggetje dat werk spaarde. Zo af en toe komen er nieuwe groepen bij, die je dan automatisch te zien krijgt. Je kunt deze groepen unsubscriben met <shift-U>.

Ook de andere weg kan bewandeld worden; als je een nieuwsgroep ineens toch wel interessant vindt, kun je erheen gaan (<shift-G>, de naam intypen eventueel met behulp van <spatiebalk> en <?>) en dan <shift-U> doen. Als de groep ge-unsubscribed was, zal nn vragen "Resubscribe to ...?".


2.19 Hoe post ik een bericht?


Tot nu toe ging alles nog over het lezen van berichten. Maar je wilt natuurlijk zelf ook dingen posten! Nn maakt onderscheid tussen vier dingen:

followup Terwijl je een bericht leest, wil je erop antwoorden in de nieuwsgroep. Als je <f> drukt, zal nn je vragen of je het originele artikel wilt includen, en zal je favoriete editor (die je kunt zetten met de environment variable EDITOR in de shell) opstarten, waarna je naar hartelust kunt gaan typen. Verlaat je editor alsof je het bericht wilt wegschrijven, en nn zal vragen of je het wilt posten. <return> is dan voldoende om het bericht te versturen.

reply Je wilt op het bericht dat je leest antwoorden naar de schrijver ervan. Druk de <r> en het zal net als bij de followup gebeuren.

mail Dit kun je gebruiken om een leuk bericht door te sturen naar iemand anders. <m> start een procedure als hierboven.

posten Alle vorige methodes gaan uit van een oud bericht. Maar je kunt natuurlijk ook een totaal nieuw bericht versturen. Om dit te doen tik je in nn ":post". Nn zal vragen om de newsgroup, de distribution, de keywords en een summary. Als je geen antwoord op een van die vragen weet, kun je het beste gewoon <return> drukken, dat werkt goed. Alleen bij "newsgroups" natuurlijk niet...


2.20 Wat staat er allemaal in de header van een bericht?


In headers kunnen de meest vreemde dingen staan, die min of meer begrepen kunnen worden door nieuwslezers en mailprogramma's. Hieronder de meest voorkomende:

From: Van wie komt het bericht? Subject: Het onderwerp Keywords: Enkele sleutelbegrippen Summary: Een korte, eenregelige samenvatting Distribution: Hier kun je local, nlnet of world invullen. Followup-to: Hier de nieuwsgroep(en) waarnaar followups moeten Reply-to: Het mailadres waar replies heen moeten References: Artikel ID's. Meestal veel te veel.


2.21 Hoe kan ik artikelen automatisch laten kiezen?


Nn heeft verschillende tools om vanuit de shell de nieuwsgroepen en berichten een beetje te manipuleren. Bijvoorbeeld:

nngrab Selecteer nieuws op keywords nngrep Selecteer nieuws op nieuwsgroep namen nncheck Laat zien hoeveel artikelen er te lezen zijn nntidy Maakt de ~.newsrc file netjes. nnpost Posten vanuit de shell, hetzelfde als :post in nn.

Verder kun je met behulp van de ~/.nn/INIT file een heleboel dingen instellen, zoals bijvoorbeeld de volgorde van de nieuwsgroepen, hoe je standaard mailtjes eruit zien, of je automatisch een ondertekening wilt hebben.

Ook kun je met de KILL file artikelen, of zelfs artikelen van specifieke personen al van tevoren selecteren of weggooien. Hierover kun je meer lezen in de handleiding van nn, met "man nn".

Als nn het ooit niet doet, kan dat misschien liggen aan de files die hij bijhoudt in ~/.nn/. Het weggooien van alle files behalve de INIT en KILL file kan dan wel eens helpen.


2.22 Kan ik zelf een nieuwsgroep maken?


Er zijn al genoeg nieuwsgroepen, dus de kans dat je een nieuwe wilt maken is vrij klein. Maar stel dat je er toch een wilt maken. De eenvoudigste manier om dat te doen is om door iets te posten naar "alt.<jouw favoriete naam>". Dan wordt de nieuwsgroep automatisch aangemaakt. Bedenk wel dat de hele "alt."-hierarchie door sommige domeinen helemaal niet wordt overgenomen. Dus het kan goed dat de helft van de wereld die nieuwe nieuwsgroep niet te zien zal krijgen.

Je kunt ook proberen een officiele nieuwsgroep te maken. Daarvoor is een officieel protocol opgesteld, dat precies voorschrijft hoe en wat je moet doen. Kijk daarvoor in "news.newusers", daar staat dat vast in de FAQ uitgelegd. Heel simpel uitgelegd komt het op het volgende neer:

- Post een RFD (Request For Discussion) voor de nieuw te maken nieuwsgroep. Leg daarin uit waarom die nieuwsgroep er moet komen volgens jou. Als je na minimaal een of twee maanden discussie nog steeds van mening bent dat de nieuwsgroep er moet komen, ga dan verder met de volgende stap.

- Post een CFV (Call For Votes). Je legt weer uit wat de nieuwsgroep is, en geeft mensen minimaal een of twee maanden de tijd om hun stem bij jou uit te brengen. De nieuwsgroep zal worden aangemaakt als er minstens vijftig mensen gestemd hebben, en meer dan 2/3 van de mensen voor de aanmaak was.

- Als de nieuwsgroep dit allemaal overleefd heeft, kun je hem aanmelden bij de instantie die nieuwsgroepen aanmaakt.

Nogmaals, de getallen en termijnen die hier genoemd zijn, zijn zo uit de duim gezogen, maar staan netjes vermeld in "news.newusers". Ze staan hier om te laten zien dat het aanmaken van een nieuwsgroep niet zo een-twee-drie gaat.


3) Etcetera

=

3.1 'Vreemde' toetsen:


In Unix (de meeste programma's zullen dit 'begrijpen'): ^U - verwijder laatste regel ^W - verwijder laatste woord ^D - EOF, exit Omdat de dubbele functie tot vergissingen leidde, is de exit-functie door C&CZ afgezet. ^V - Volgend karakter letterlijk nemen. ^R - Druk commando regel nog een keer af. ^Z - Stop lopend programma, keer terug naar shell. ^C - Breek lopend programma af. ^\ - Breek lopend programma af, maak een core dump naar disk. ^S/^Q - stop/start output

Csh/bash: ^I/TAB - Command/Filename completion (Bash) <ESC>/^D - Filename completion (Csh)

Escape karakters: | --- |--|WN3|


----- ---- ----- ---- | ---

|PC-thuis|--|modem|----tel.net----|PABX|--|modem|--|CITS|--|


----- ---- ----- ---- | ---

|--|WN2| | ---

Kermit: ^\^C Als b.v. vanaf huis met Kermit ingelogd: dit geeft controle terug aan thuis-PC. Log-in blijft wel open! Met het kermit 'connect' commando wordt de verbinding weer opgepakt. Cits: ^^x Dit geeft controle terug aan Cits. Log-in blijft wel open! Intikken van een '?' geeft een lijst met mogelijke commando's. Let op: met '^^' wordt bedoeld <control> 'hoedje'... Een 'return' op een lege regel pakt de verbinding weer op. Telnet: ^] Ook nu valt de controle terug op het telnet commando. Een '?' geeft de mogelijkheden. Een 'return' op een lege regel pakt de verbinding weer op. Rsh: ~^Z Controle wordt overgenomen door de locale shell. De remote shell staat 'stil' in de achtergrond. Dus d.m.v. 'fg rsh' wordt controle weer teruggegeven aan de remote shell.


3.2 Hoe kan ik mijn bestanden ontoegankelijk maken voor anderen?


Daarvoor is zowel op Unix als op MSDOS met PC-NFS het 'chmod' commando. (Het bekijken van de protecties gaat met 'ls -lg' ook op MSDOS!) Chmod heeft een aantal varianten om de 'bitjes' te zetten:

H:> ls -lg bestandje -rwxr-xr-x groep eigenaar 112 bestandje

||| -> eigenaar ||| -> groep ||| -> wereld H:>

Dus de protectie van directories en bestanden worden steeds door 3 'bitjes' gegeven: rwx met de 'waardes' 4,2,1

Het chmod commando wordt als volgt gebruikt:

wn4> chmod u=rwx,g=rx,o= bestandje wn4> ls -lg bestandje -rwxr-x--- groep eigenaar 112 bestandje

Nu is het bestand alleen schrijfbaar voor de eigenaar, en lees en executeerbaar voor de eigenaar en de groep. De rest mag niets.

Ander voorbeeld:

H:> chmod g=,o= geheim H:> ls -lg geheim -rwx------ groep eigenaar 12 geheim

Nu kan alleen de eigenaar het bestand lezen, wijzigen en executeren. Alle anderen kunnen niets.

Ook kun je in chmod expliciet de bitjes opgeven, in octale notatie, zoiets als:

wn4> chmod 700 bestandje wn4> ls -lg bestandje -rwx------ groep eigenaar 112 bestandje

Hiermee is het bestand alleen nog te lezen, schrijven en executeren door de eigenaar.

wn4> chmod 444 bestandje wn4> ls -lg bestandje -r--r--r-- groep eigenaar 112 bestandje

Nu is het bestand nog alleen nog te lezen door iedereen.

Verder zie 'man chmod' en 'man ls' op Unix, voor PC-NFS staat e.e.a. in de manual.

Bijbehorend is de umask variabele: deze maskeert bitjes die niet vanzelf aan moeten gaan voor nieuwe bestanden: Als de umask 022 is dan zullen de bitjes van de eigenaar niet beinvloed worden, het '2' bitje (schrijven) voor de groep en de wereld wordt afgezet voor een nieuw bestand. Ook dit is weer waar voor zowel MSDOS als Unix. Onder MSDOS met PC-NFS zet men het umask als volgt:

C:> net umask 077

Dit zet alle toegang tot nieuwe bestanden voor anderen dan de eigenaar af. Onder Unix gaat het bijna identiek:

wn4> umask 022

Nu zijn voor alle nieuwe bestanden de 'schrijf bitjes' uit.

Tenslotte: de protectie van de directorie is ook belangrijk! Het verwijderen van een file is een directorie operatie! Dus al heb ik op de file zelf geen rechten, als ik wel mag schrijven op de directorie kan ik het bestand gewoon verwijderen!


3.3 Help, ik ben een file op Unix kwijt! Kan ik die terug krijgen?


Zie http://www.sci.kun.nl/cncz/procedures/backups.html