Copyright © 2001 Jan Keirse. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts and with no Back-Cover Texts being A copy of the license is included in the chapter entitled ``GNU Free Documentation License''.
Mischien kun jij ook helpen met de creatie van het uiteindelijke boek,
mail eens naar
mailto:jan.keirse@pandora.be met een hoofdstuk
dat jij hebt geschreven, een voorstel voor een toe te voegen programma
of gewoon maar een eenvoudige tip, alles is welkom.
Je vindt hier dus geen installatiehandleiding zoals in vele ander howto's en boeken over linux, daarvoor zijn er al genoeg howto's, je wordt verondersteld een draaiend linux of unix systeem te hebben voor je hieraan begint, een zeer minimale kennis van unix of dos zou handig zijn, maar is niet nodig.
Als je LATEX kent, heb ik liefst dat je de tekst onmiddellijk in LATEX schrijft. Hierbij zijn er enkele zaken waarmee je rekening moet houden:
\begin{quote}
\~\$ \unixcommand{commando options}\\
Output van het commando
\end{quote}
Als je geen LaTeX kent, zet de tekst dan in gewone ASCII, dan zet ik hem wel om.
Als je een commando beschrijft doe dit dan liefst als volgt:
Geef eerst een korte beschrijving van een aantal lijntjes.
Geef daarna een eenvoudige uitleg hoe je het commando gebruikt, zodat iedereen die kan begrijpen.
Geef daarna eventueel een voorbeeldje.
Als er configuratiebestanden voor het programma zijn, leg die dan hier uit, indien mogelijk.
Daarna volgt een lijst met alle mogelijke opties in manpage stijl.
Eens je een commando hebt beschreven, zend dit dan door naar mailto:jan.keirse@pandora.be, vermeld liefst ook waar je het commando in het boek zou plaatsen (welk hoofdstuk, part, section,...).
Het is aan te raden dat auteurs ook op de mailinglijst all staan, zodat ze steeds up-to-date tekst hebben en dus niet
werk doen dat onlangs al gedaan is.
Als je bezig bent met een lange beschrijving, laat mij dat dan ook weten, zodat anderen niet
beginnen met hetzelfde, ik vind het ook leuk om in zo'n geval nu en dan eens een mailtje te krijgen
met wat je al hebt, om mij een idee te kunnen vormen van wat er al gebeurd is.
Als je informatie wilt hebben voor je beschrijvingen, dan zijn hier enkele handige bronnen:
De directorystructuur in unix is tamelijk eenvoudig:
Er is een root directory: / .
In deze deze root directory bevinden zich een aantal standaard
directory's die in ieder unix systeem aanwezig zijn,
zoals /dev1. Directory's worden gescheiden door /,
niet door \ zoals in dos/windows.
Een voorbeeld van een directorynaam is dus: /usr/local/bin of
/home/jan. De directorynaam tux/progs is de subdir progs
van de dir tux die op zijn beurt een subdir is van de huidige
directory (ook geadreseerd als . of $pwd).
Een aantal vaste directory's zijn:
Om een partitie2 of schijf te mounten moet je de "device node" van die partitie of schijf weten. Device nodes zijn een soort referenties naar apparaten (eigenlijk eerder naar drivers, maar kom), en die vind je in /dev. Deze verschillen wel een beetje naargelang de UNIX/Linux versie waar je mee bezig bent.
De floppydrives zijn bereikbaar via `fd0' en `fd1', onder DOS respectievelijk A: en B:.
Voor de harddisks is wat meer uitleg vereist.
IDE IDE-apparaten (harddisk, maar bijvoorbeeld ook CD-ROM drives) hebben een naam die begint met `hd' gevolgd door een letter. Deze letters komen in een bepaalde volgorde. We beginnen met `a' voor de primary master, hierna komt `b' voor de primary slave. Hierna komen master en slave op de tweede controller, dan die op de derde, enzovoort.
Voorbeeldjes (om het duidelijk te maken):
SCSI SCSI apparaten worden op een gelijkaardige manier benoemd. De eerste SCSI hd (met scsi-id 0 dus) heet sda, daarna komt sdb, enzovoort.
Om de partities van een harde schijf te bereiken, neem je de naam van die schijf en plak je er een cijfertje achter. De 4 primaire partities zijn genummerd 1, 2, 3, 4, en de logische partities (dus partities die zich ïn" een extended partitie bevinden, worden genummerd vanaf 5).
Onder kernel 2.4 is er ook zoiets als `devfs'. Dan wordt de /dev directory op een andere manier beheerd, en zijn de entries erin ook anders (bvb. /dev/ide/ide0/disk0/part0 of zoiets, ik heb er geen ervaring mee). Dit is iets wat je echter niet *hoeft* te gebruiken, en het hangt dus af van de makers van je distributie welk systeem er gebruikt wordt.
Onder FreeBSD zijn de device-namen ad0, ad1, ... voor IDE schijven; da0, da1, ... voor SCSI schijven. ATAPI CD-ROM apparaten worden aangeduid met acd* (acd0, acd1, ...), SCSI CD-ROM apparaten met cd*. (In FreeBSD versies voor 4.0 dient met ad* te vervangen door wd* en acd* door wcd*.)
Onder OpenBSD en NetBSD is dit wd0, wd1, ... voor IDE schijven, en voor zowel IDE als SCSI CD-ROM drives gebruikt met cd*. SCSI schijven zijn sd*.
Onder FreeBSD worden slices aangeduid door `sx' na de device naam te zetten. BSD-style partitions worden dan aangeduid met een letter na deze slice-naam. Floppies en CD-ROMs zijn niet onderverdeeld in slices, daar is dit dus niet van toepassing. (Een floppy kan wel een BSD disklabel en dus een BSD filesystem bevatten, maar geen DOS-partities.) Onder OpenBSD en NetBSD gebeurt dit niet; deze gebruiken gewoon de disklabel die ze vinden op de eerste OpenBSD- of respectievelijk NetBSD-slice.
Na de naam van een harddisk-slice, een CD-ROM drive of een floppydrive komt een letter om de BSD-partitie, ofwel het hele apparaat aan te duiden. Hier hebben enkele letters een speciale betekenis:
Voor devices zonder partities (CD-ROM's, floppies) kan je a gebruiken om de schijf aan te duiden. FreeBSD aanvaardt hier ook c, de installer gebruikt bijvoorbeeld standaard /dev/acd0c om de eerste IDE CD-ROM drive in te stellen.
Ook hier enkele voorbeeldjes om het duidelijk te maken:
Ok, we weten nu al hoe onze partities heten, dus nu kunnen we ze mounten 3. Dit gebeurt met het mount commando, syntax:
~$ mount [opties] device mountpoint
device staat voor het apparaat of de partitie die je wil mounten, mountpoint geeft aan waar je de data wil zien. Dat is een directory die al moet bestaan, en normaal gezien leeg is. De inhoud van een niet ledige directory wordt na het mounten van een device `op' deze dir onzichtbaar (maar verdwijnt echter niet, als je het filesystem unmount kan je er terug aan.
Opties kunnen zijn:
Enkele voorbeelden:
~$ mount -t vfat /dev/hda1 /mnt/windows(Linux)
~$ mount -t msdos /dev/ad0s1 /mnt/windowsHet equivalent van het vorige voorbeeld, maar dan voor FreeBSD.
~$ mount -t cd9660 -r /dev/cd0a /mntOnder NetBSD en OpenBSD maakt dit commando dat je in /mnt de inhoud van de CD-ROM in de eerste CD-drive terugvindt.
~$ mount -t iso9660 -r /dev/hdc /cdromOnder Linux zorgt dit ervoor dat je in /cdrom de inhoud van de CD in de drive aangesloten op secondary master ziet. Je kan ook `mount -t iso9660 -o ro /dev/hdc /cdrom' gebruiken.
~$ mount -t vfat /dev/fd0 /floppyMount het DOS/Windows disketje in de eerste floppydrive (de tweede is fd1) onder de directory /floppy.
Als je de -t optie weglaat, wordt er een standaardwaarde geprobeerd. Recente Linux kernels proberen dan zelf uit te zoeken wat het type file system is.
Het configuratiebestand /etc/fstab bevat een aantal regels met filesystems die automatisch kunnen gemount worden. Deze zien er zo uit:
device dir fstype opts df fs_passno
Het eerste veld is het te mounten apparaat of de partitie, bvb. /dev/hda1.
Het tweede veld is het mountpoint (zoals bij het mount commando).
Het derde veld is het type filesystem, bvb. ufs (bsd), ext2 (linux), msdos, ...
Het vierde veld bevat een aantal opties. Hierin moet de manier van mounten vermeld staan, en eventueel opties die via -o doorgegeven worden aan het mount programma. Hier moet ook de optie `noauto' vermeld worden: dit zorgt ervoor dat het filesystem in kwestie niet automatisch gemount wordt door `mount -a' en bij de systeemstart.
Het vijfde veld heeft betrekking tot backups en het dump programma.
Het zesde veld bepaalt de volgorde waarin fsck (programma dat de integriteit van filesystems nagaat) de partities moet checken. Aan te raden is dit op 1 te zetten voor het / filesystem, 2 voor de andere filesystems.
Alle filesystems vermeld in /etc/fstab, behalve die met de noauto optie, worden bij het opstarten van het systeem automatisch gemount op de aangegeven mountpoints. Lijnen die beginnen met # worden als commentaar aanzien. Een paar voorbeelden zijn ook hier op hun plaats:
* Enkele voorbeeld /etc/fstab entries van een linux machine: # /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> /dev/hda2 / ext2 defaults,errors=remount-ro 0 1 /dev/hda5 none swap sw 0 0 proc /proc proc defaults 0 0 /dev/hda1 /boot ext2 rw 0 2 /dev/hda6 /usr ext2 rw 0 2 /dev/hda7 /tmp ext2 rw 0 2 /dev/hda8 /var ext2 rw 0 2 /dev/hda4 /home ext2 rw 0 2
Deze computer bevat dus een aantal ext2 partities. Ook zie je hier het gebruik van een aantal opties.
* Enkele voorbeeld /etc/fstab entries van een FreeBSD machine: # Device Mountpoint FStype Options Dump Pass# /dev/ad0s2b none swap sw 0 0 /dev/ad0s2a / ufs rw 1 1 /dev/ad0s2f /usr ufs rw 2 2 /dev/acd1c /cd cd9660 ro,noauto 0 0 /dev/ad0s5 /disks/fat msdos rw 0 0 # ad0s5 = eerste partitie in een extended (dos) partitie
Het plaatsen van regels voor vaak gebruikte filesystems in /etc/fstab heeft het voordeel dat je bijvoorbeeld niet telkens `mount -t cd9660 /dev/acd1c /cd' hoeft te typen, `mount /dev/acd1c' of `mount /cd' volstaat. Bij zo'n commando gaat mount zelf kijken in /etc/fstab voor de overige info.
Meer informatie: man mount, man fstab, man hier
Het probleem is dat er twee soorten links bestaan en dat er sterke verschillen zijn tussen de twee:
Voor een uitgebreidere uitleg kunt u terecht op http://www.cs.uu.nl/~piet/docs/unix.pdf op pagina 32.
Een programma kan zijn output standaard naar 3 zaken sturen:
Als je de output van 1 programma als input van een tweede wil gebruiken, maak je het best gebruik van het pipe-teken : `|'. Bijvoorbeeld:
~$ find / -type f | sort | headDe output van find (een verzameling bestandsnamen) wordt als input van sort (sorteren van input) gebruikt. De output van sort (gesorteerde verzameling bestandsnamen) wordt als input van head gebruikt (enkel de eerste 10 lijntjes weergeven). De output die de user krijgt is dus deze van head (10 bestandsnamen gesorteerd).
Je kan ook de output in een bestand steken. Dit doe je met het ` > '-symbool:
~$ find / -type f | sort | head > resultaatHet bestand resultaat bevat hier de 10 gesorteerde bestandsnamen. Er is een output naar het scherm van de gebruiker... tenzij er foutmeldingen gegenereerd zijn. Foutmeldingen komen immers niet op stdout, maar stderr, en zoals al gezegd, `|' redirect enkel stdout naar stdin. Om stderr op te vangen (bv in een bestand steken) moet je het cijfer `2' ervoor plakken. 2 is nl het nummer dat voor stderr staat.
~$ find / -type f 2 > foutmeldingen | sort | head > resultaatHet bestand foutmeldingen bevat de gegenereerde foutmeldingen. Je ziet dat de redirect staat bij find. Dit is omdat find de foutmeldingen (waarschijnlijk) zal genereren. Als je bij elk programma de foutmeldingen wil opvangen, gebruik je bijvoorbeeld:
~$ find / -type f 2 > findfouten | sort 2 > sortfouten | head > resultaat 2 > headfoutenDe files findfouten, sortfouten en headfouten bevat de foutmeldingen van de respectieve programmas.
Een handig-om-te-weten: met ` > ' maak je telkens een nieuw bestand aan. Dus
~$ find / -type f 2 > fouten | sort 2 > fouten | head > resultaat 2 > foutenHet bestand fouten zou hier dus enkel de foutmeldingen van `head' bevatten. Dit kan je omzeilen door ` >> ' te gebruiken. Die voegt zaken toe.
Soms wil je ook dat er niets verschijnt (geen output). Velen lossen dit op door:
~$ programma > /dev/nullHierdoor zal alles van stdout in /dev/null gestoken worden (/dev/null mag je gerust een bodemloze put noemen). Deze die weten dat foutmeldingen zullen verschijnen en ze niet willen zien maken daar vaak
~$ programma > /dev/null 2 > /dev/nullvan. Het kan echter iets korter:
~$ programma > /dev/null 2 > &1De `2 > &1' redirect de output van 2 (stderr) naar deze van 1 (stdout) die dus op zijn beurt naar /dev/null gestuurd wordt.
~$ cd directorynaamwaarbij directorynaam staat voor de dir waar naar je wilt verplaatsen. Er zijn 2 soorten van paden (want wat je opgeeft is eigenlijk een pad5) die je kan opgeven:
~$ pwd
/home/user
~$ cd Desktop
~$ pwd
/home/user/Desktop
~$ pwd
/home/user
~$ cd /etc
~$ pwd
/etc
Er zijn twee opties voor cd: -L zorgt ervoor dat cd altijd de symbolische namen van directory's gebruikte (als het om gelinkte dir's gaat). -R daarentegen zorgt ervoor dat cd de echte locatie's van directroy's gebruikt, als je dan naar een gelinkte dir cd't en dan cd .. doet kom je dus niet langer meer in de dir waar je vertrokken was.
Enkele voorbeelden:
~$ lsDeze informatie staat in de vorm
ripper jon mike
~$ ls -l
total 2
drwx-- 2 ripper lusers 35 Jun 25 18:52 ripper
drwx-- 2 jon lusers 35 Jun 25 11:52 jon
drwx-- 2 mike lusers 35 May 25 01:52 mike
~$ ls /etc/rc.d/init.d/n* -l
-rwxr-xr-x 1 root root 4006 Mar 13 23:14 /etc/rc.d/init.d/netfs
-rwxr-xr-x 1 root root 7206 Apr 27 22:47 /etc/rc.d/init.d/network
-rwxr-xr-x 1 root root 1412 Apr 5 20:22 /etc/rc.d/init.d/ntpd
arwxrwxrwx 6 eigenaar users 1024 maand dag tijd naam
Hierin is a
Daarna volgt een getal, dis is het aantal verwijzingen naar de inode waar ook deze verwijzing8 naar verwijst.
Daarna volgen de namen van de eigenaar en de groep
Dan volgt de bestandsgrootte in bytes.
Daarna volgen datum en tijd waarop het bestand in kwestie het laatst is gewijzigd.
En uiteindelijk volgt de naam van het bestand of de directory.
ls heeft een aantal opties:
~$ ls -C -bje kunt er ook de argumenten van ls aan geven en je kunt ook gewoon:
~$ ddraaien, wat het zelfde effect geeft.
~$ ls -l -bJe kunt ook hier gewoon de argumenten van ls gebruiken en hier kun je ook
~$ vdraaien, wat hetzelfde effect heeft.
~$ chown jan bestand
Verandert de eigenaar van bestand in jan.
Eventueel kun je na de naam van de eigenaar ook nog een . of : zetten en dan de naam van de nieuwe groep (zonder spaties tussen).
Opties zijn:
~$ chgrp users bestand
Verandert de groep waartoe bestand behoort in users.
Opties zijn:
Enkele voorbeelden:
~$ chmod ug+x programma
maakt het bestand programma uitvoerbaar voor de gebruiker en de personen uit dezelfde groep als het bestand.
~$ chmod g-rw bestand
Zorgt ervoor dat de personen uit de groep van het bestand niet langer lees en schrijftoegang hebben tot het bestand.
Interessant detail: als je een de permissions voor zowel ugo wil veranderen kun je die ugo vervangen door a9 of zelfs gewoon weglaten.
Er is nog een andere manier om de permities in te geven: namelijk met de numerieke voorstelling van de permissies. Deze manier heeft het voordeel dat ze over het algemeen sneller is, het nadeel is dat deze methode geen rekening houd met de reeds bestaande permissies, je kunt dus niet een permisie toevoegen of verwijderen aan/van de reeds bestaande permissies, je stelt ze volledig in.
Deze methode werkt als volgt: Elke soort permissie (bvb leestoegang voor others) komt overeen met een getal, om de permissies in te stellen tel je gewoon alle permissies die je wilt toekennen op:
vb.: Het bestand moet lees toegang hebben voor iedereen (4 + 40 +400 = 444), iedreen moet het bestand kunnen uitvoeren (444 + 1 + 10 + 100 = 555) en de eigenaar moet ook schrijftoegang hebben (555 + 200 = 755)
Om deze permissies in te stellen moet je het commando:
~$ chmod 755 bestandsnaamUitvoeren.
Opties van chmod zijn:
~$ cp bronbestand doelbestandDit kopiëert het bestand bronbestand naar het bestand doelbestand, je kunt hierbij ook directorynamen bijvoegen of bvb.:
~$ cp brondbestand doeldirectory/gebruiken om een bestand naar de directory doeldirectory te verplaatsen, het heeft daar dan dezelfde naam bronbestand.
Opties zijn:
Vaak wordt dd gebruikt om images te maken...
~$ dd if=/dev/fd0 of=$HOME/disk.img bs=1440k
Als je df uitvoert met de optie -h11 dan wordt det uivoert getoont in megabyte en gigabyte in plaats van in bytes, dit maak het veel leesbaarder.
Andere opties zijn:
Illustratief voorbeeld:
~$ ls -lJe ziet dat een symbolische link aangemaakt wordt door een argument `-s' mee te geven. De file die gecreëerd wordt is niet meer dan een verwijzing naar een andere file. Echter, een hardlink verwijst niet naar een andere file, maar naar een positie op de harde schijf. Het bestand README in het voorbeeld had vroeger 1 verwijzende file (daarom de `1'), maar met de nieuwe hardlink een tweede (daarom de `2').
total 224
-rw--- 1 userA lusers 223539 Jul 29 11:24 My_Posts
-rw--- 1 userA lusers 1687 Jul 29 10:51 My_Replies
~$ ls -al /usr/share/texmf/doc/tetex/README
-rw-r-r- 1 root root 1568 Jun 5 1999 /usr/share/texmf/doc/tetex/README
~$ ln -s /usr/share/texmf/doc/tetex/README hallo
~$ ls -l
total 224
-rw--- 1 userA lusers 223539 Jul 29 11:24 My_Posts
-rw--- 1 userA lusers 1687 Jul 29 10:51 My_Replies
lrwxrwxrwx 1 userA lusers 33 Jul 29 15:34 hallo -> /usr/share/texmf/doc/tetex/README
~$ rm hallo
~$ ln /usr/share/texmf/doc/tetex/README hallo
~$ ls -l
total 224
-rw--- 1 userA lusers 223539 Jul 29 11:24 My_Posts
-rw--- 1 userA lusers 1687 Jul 29 10:51 My_Replies
-rw--- 2 userA lusers 1568 Jun 5 1999 hallo
Opties zijn:
~$ mkdir dirnaam
Maakt een dir met de naam dirnaam.
Opties zijn:
~$ rm -r TestDirectory/Dit commando wist de directory met de naam TestDirectory en alle bestanden en directorys die er in zitten.
Het gebruik is supereenvoudig:
~$ sync
find . -name "*vis*"Zoekt naar alle bestanden in de huidige directory en al zijn subdirs naar bestanden die het woord 'vis' in hun naam hebben staan.
find $waar -exec $commando \;De optie -exec voert het daaropvolgende commando uit op elk gevonden bestand. Je maakt gebruik van {} om het bestand aan te duiden, en \; om het commando te beëindigen.
Bijvoorbeeld:
~$ find /home -ctime 7 -exec tar Avf /mnt/backup/home-backup.tar \;
Dit zorgt ervoor dat elk bestand in /home dat de laatste week gewijzigd was (of aangemaakt) aan een tar-file wordt toegevoegd.
find $waar -type $typeDe optie -type zorgt ervoor dat find enkel bestanden van dat type weerheeft, bvb -type d voor directories (of f voor gewone bestanden of l voor links).
De manpages zijn onderverdeeld in 9 categorien die verdeeld zijn over een zelfde aantal directory's:
/man1 | User programs
/man2 | System Calls
/man3 | Library Calls
/man4 | Special Files
/man5 | File Formats
/man6 | Games
/man7 | Miscellaneous
/man8 | System Administration
/man9 | Additional chapter
Info-pages zijn geschreven in een speciale versie van TEX, hierdoor zijn ze meestal ook in dvi en ps versie te verkrijgen op het internet, en zijn ze dus meer dan man-pages ook geschikt om af te drukken (druk wel enkel de info pages af die je echt op papier nodig hebt, want ze kunnen een groot aantal pagina's omvatten!)
~$ mv --help
Geeft bijvoorbeeld een tamelijk korte lijst uitleg van het commando mv , meestal bevatten deze helpberichten een (al dan niet volledige) lijst van 'command line options' en een korte beschrijving van het programma. Dit is vooral handig als je snel nog eens een optie wilt terugzoeken die je vergeten was, of snel wilt weten waarvoor het commando dient.
Het gebruik van aspell is zeer simpel. Eerst moet je wel aspell configureren zodat hij `Dutch' als taal neemt. Dat doe je door een file `.aspell.conf' aan te maken (of /etc/aspell.conf) met daarin:
master dutch
Dan kan je een txt-file op fouten controleren door
~$ aspell -c diefile
te typen. Aspell zal dan interactief mogelijke fouten aanduiden en vragen of je die al dan niet wilt verbeteren (en geeft daarbij uiteraard suggesties). Nu is dat gebruik niet gelimiteerd tot cli14. Veel programma's hebben een ingebouwde `spellingscorrectorfunctie' die niet meer is dan een omhulsel die aspell oproept.
Verder heeft aspell ook de mogelijkheid html-code en LaTeX-code op taalfouten te controleren, zodat ze niet bij elke html/LaTeX-syntax een foutmelding geeft.
~$ vi bestandsnaamDan wordt vi gestart en het bestand met de naam bestandsnaam wordt geopend, standaard staat vi in de command mode, je kunt nu (ondermeer) de volgende commando's gebruiken:
De volgende commando's werken in ex-mode, waarbij de dubbele punt vi in ex-mode brent.
Voor een meer uitbreide informatie over vim (een uitvoering van vi), zie: p.pageref
Eens je less gestart hebt, krijg je de inhoud van het bestand te zien. Dan kun je commando's uitvoeren: met de pijltjestoetsen bewegen, met spatie een scherm voorwaarts en met b een scherm achterwaarts scrollen, met q kun je het programma afsluiten, maar ook:
Je kan grep gebruiken op bestanden:
~$ grep -H /etc/rc.d/init.d/* halt
Dit toont de bestandsnaam (-H) en de string in dat bestand waarin hij de
tekst "halt" gevonden heeft.
Je kan grep gebruiken op stdin:
~$ lynx -source http://www.linuxtoday.com | grep title
Dit download de html-source van de index-pagina van linuxtoday en stuurt deze
source door naar de stdin van grep. Grep op zijn beurt zoekt dan deze source
af en kijkt of hij in een regel "title" tegenkomt. Als dat zo is, geeft hij
deze regel weer op het scherm.
Grep kent verschillende argumenten. Een handig argument is -A of -B.
Bijvoorbeeld:
~$ grep -B 5 /var/log/messages eth0
Dit geeft niet alleen de regels weer waarin eth0 staat, maar ook de 5 regels
daarvoor (wat handig is voor /var/log/messages omdat de zaken ervoor vaak
ook foutmeldingen zijn die je kunnen helpen met het oplossen van een
probleem).
Verder kan grep ook om met reguliere expressies, iets wat vele scriptfanaten zalig zullen vinden. Een reguliere expressie geef je in na het -E argument.
~$ head -lines=1 ~/bin/bashishZoals je ziet toont dit de eerste lijn van het bestand ~/bin/bashish, op die manier kun je zien dat het een shell script is.
#!/bin/sh
De mogelijke opties zijn
Je gebruikt iconv dus ongeveer als volgt:
~$ iconv -f ISO-8859-13 -t CYRILLIC tekstbestand
~$ wc /tux/progs.txtheeft bijvoorbeeld de uitvoer:
1544 13846 72120 progs.txt
Wat betekent dat het bestand progs.txt 72120 tekens bevat, die samen 13486
woorden en 1544 regels bevatten.
~$ tar xvzf bestand.tar.gz
Dit decomprimeerd
het archief bestand.tar.gz
xvzf
:
tar cvzf bestand.tar.gz directoryofbestand bestandofdirectory
Dit comprimeerd directoryofbestand en bestandofdirectory en alle subdirs, indien die aanwezig zijn in het bestand met de naam bestand.tar.gz.
tar xvf bestand.tar
Als je de z weglaat, dan plaatst tar de bestanden in een archief, maar comprimeerd dat niet, hierdoor neemt het archief meer plaats in, maar is het wel sneller.
opties:
Voorbeelden.:
~$ sleep 10s
~$ sleep 3m 10s
Je kunt sleep voor twee dingen erg nuttig gebruiken:
~$ sleep 1d ; haltDit commando zorgt ervoor dat je pc de volgende dag wordt afgesloten, je kunt dit bvb gebruiken als je pc op je kot staat en je in het weekend thuis nog iets moet van die pc afhalen, je hebt dan natuurlijk wel apm 20 nodig anders wordt enkel het os afgesloten, niet de pc (en je hebt een permanente internet verbinding nodig, of het zou kunnen kostelijk worden, behalve als je ook nog eens een sleep statement gebruikt om wvdial te activeren).
Een editor is een programma dat gebruikt wordt om niet opgemaakte tekstbestanden
(
ASCII, maar ook
UNICODE) te bewerken.
In tegenstelling tot een tekstverwerker biedt een editor dus geen mogelijkheid tot het opmaken van tekst,
ook kleur kan niet gebruikt worden, hoewel sommige editors de tekst in kleur weergeven, maar deze informatie wordt dan niet opgeslagen en is afhankelijk van de syntax, ze is met andere woorden gebaseerd op bvb een computertaal zoals C (of zelfs gewoon de mogelijke opties in een configuratiebestand).
Een editor wordt gebruikt voor programmeren, voor het schrijven van
shell scripts
(wat eigenlijk ook een vorm van programmeren is) voor het schrijven van
HTML en voor het schrijven van
systeembestanden
, ook andere dingen, zoals dit document (de opmaak gebeurt via code's die je ingeeft, je geeft zoals in html een vorm van commando's in en een ander programma verwerkt die dan, niet de editor) worden ingegeven in editors.
In het help venster kun je bewegen zoals in elke gewoon bestand, als
syntax highlighting aan staat22 zal het help bestand veel duidelijker zijn.
Doorheen het help bestand zijn cross-references aangebracht, deze zijn omgeven door |horizontale lijnen|, je kunt er naartoe gaan door er met de cursor 'op' te gaan staan en Ctrl-] te 'doen', als je op een Belgisch toetsenbord werkt, hoef je geen AltGr te gebruiken voor die ], gebruik gewoon de toets waar die op staat en vim doet het ook, meer nog, het zal niet lukken als je de AltGr toets wel gebruikt.
Met behulp van de toetsencombinaties Ctrl-t en Ctrl-o kun je terugkeren naar de plaats waar je laatst zo'n cross reference hebt gebruikt.
(moest je muis werken, via GPM of vanuit een xterm, dan kun je ook op een reference klikken, dat heeft het zelfde effect als Ctrl-])
Dit zou voldoende moeten zijn om je weg te vinden in de help functie, je zult deze waarschijnlijk vaak gebruiken als je zoals ik nogal vergeetachtig bent en nu en dan eens een bepaalde toetsencombinatie of een bepaald commando vergeten bent.
Om te beginnen zijn er de toetsen h, j, k en l, deze liggen alle vier naast elkaar en zijn het gemakkelijkst om respectievelijk naar links, boven, onder en rechts te gaan (denk eraan: op en neer in het midden, links en recht aan de buitenkant), als je voor het indrukken van één van deze toetsen een getal ingeeft zal de actie zoveel keer worden uitgevoert als het getal groot is.
Nog even ter herinnering, voor alle commando's in vim kun je een getal invoeren, waardoor dat commando evenveel keer als dat getal wordt uitgevoerd, dit kan handig zijn om bvb 5 regels te dalen.
Andere mogelijkheden om je te verplaatsen in een vim zijn:
Dit zijn zo ongeveer de belangerijkste manieren om je te verplaatsen in een bestand in vim. Nogmaals, vergeet niet dat je er een getal kun voorzetten om ze meerdere malen te laten uitvoeren.
In zoektermen kunnen een aantal speciale tekens gebruikt worden, die dan niet identiek gezocht worden, maar een invloed hebben op de zoekactie:
Op een plaats die je wilt markeren duw je op m en geeft onmiddelijk daarna een letter in, deze letter is het amrkeerteken, dit moet een letter zijn en dit is case sensitive26.
Om dan van gelijk waar in je bestand rechtstreeks naar die plaats te gaan moet je gewoon vanuit commando modus op ` duwen en dan de letter die overeen komt met de marker ingeven.
Met het commando :marks kun je alle markeringen in je bestand weergeven.
Door op v of V te drukken kom je in visual mode, je kunt nu met behulp van de pijltjestoetsen selecteren (je moet v indrukken aan de plaats waar je je selectie wil beginnen of eindigen).
Met behulp van Ctrl-v kom je ook in visual mode, maar dan wel een nog krachtigere versie, hiermee kun je namelijk rechthoeken selecteren, probeer het eens en je zult zien wat ik bedoel.
Als je per ongeluk in visual mode zou geraken kun je die altijd beëindigen met behulp van Ctrl-C.
Als je in visual mode bent kun je naar het andere eind van je selectie gaan met behulp van de toets o .
Eens je alle hebt geselecteerd geef je het commando in dat je wilt uitvoeren:
joe bestandsnaam
om het betand met de naam bestandsnaam te openen, je zit nu in indexjoe en kunt beginnen editen, je moet nie eerst naar een speciale modus gaan zoals bij vim. Met de pijltjestoetsen kun je bewegen en met Ctrl-KH krijg je een help schermpje. Daarin staat [^] voor Ctrl. 28
Je kunt nu de volgende commando's gebruiken:
Meer info volgt later (hoop ik ;-)
Ik zal eerlijk zijn, eigenlijk wist ik voordat ik begon aan deze tekst zelf
niet hoe ed werkte en met behulp van de man-pages heb ik het concept ook
niet echt begrepen, maar de GNU-infopages gaven me wel een duidelijk genoeg
uitleg om ed onder de knie te krijgen. Ik vind het persoonlijk geen
slecht idee om ed te leren, omdat je dan weer iets meer kunt en omdat je
er dan een idee van krijgt hoe men vroeger met unix moest werken, als je dat al
deed zul je nooit meer zeggen dat vi(m) ingewikkeld is!
Juist omdat ed zo'n ongewone manier van editten is, zal ik het stap voor stap uitleggen met een voorbeeld, op deze manier zou het eigenlijk zeer makkelijk moeten zijn ed te leren. Ik zal hierbij gebruik maken van de volgende 'conventies': $ stelt een unix prompt voor en # stelt commentaar voor, dit wordt niet ingegeven in je pc en verschijnt ook niet op het scherm. Al de rest is tekst die je in ed op je scherm krijgt, ofwel omdat je ze hebt ingegeven met je toetsenbord, ofwel omdat dat uitvoer van ed is.
~$ ed
# als je ed start, ben je in command modus,
# je kunt nu naar input mode gaan met behulp
# van een commando, omdat we een bestand willen
# aanmaken, zullen we eerst tekst toevoegen aan
# de buffer van ed, deze is nu nog leeg, omdat
# je ed niet hebt gestart met een bestandsnaam als
# argument en je ook nog geen tekst hebt ingegeven
#
# tekst toevoegen aan het eind van de tekst is 'appenden'
# je gebruikt hier dus voor de append modus, die je berijkt
# met het commando 'a' . Typ dus 'a' na de 'prompt' en druk
# op enter.
a
# je bent nu in de input modus en kunt een tekst ingeven.
Dit is de tekst die ik toevoeg aan de buffer.
Ze bestaat uit drie regels tekst.
Die wordt beeindigt door een punt op een apparte lijn.
.
#
# De punt op de laatste lijn sluit de input modus af
# hij wordt dus niet toegevoegt aan het einde van de
# Hij is te vergelijken met [ESC] in vi
#
# Nu wil je het bestand opslaan, de buffer wegschrijven
# naar een bestand, dit doe je met het commando w
# (van write natuurlijk)
w bestandsnaam
#
# waarbij je bestandsnaam natuurlijk vervangt door de gewenste
# bestandsnaam, bvb test
#
# ed zal na het opslaan tonen hoe groot het opgeslane bestand is,
# in bytes
135
#
# beeindig ed met het commando q (quit)
q
$
$ ls -l
total 5
-rw-r-r- 1 jan users 3500 Aug 19 20:51 ed.tex
-rw-r-r- 1 jan users 135 Aug 19 20:51 test
# zoals je kunt zien in de uitvoer van ls -l is de grootte van
# test inderdaad 135 bytes.
#
# We zullen nu het bestand opnieuw openen om er wijzigingen
# in aan te brengen, want dat moet je natuurlijk ook kunnen
# met een editor.
#
$ ed test
135
# als je ed start met een bestandsnaam, wordt dit bestand in de
# buffer geladen en wordt het aantal tekens (= bytes) afgedrukt
# We willen nu natuurlijk zien wat er in het bestand staat: dit
# doe je met het commando 'p', je moet hierbij ook aangeven welke
# regels je wilt tonen, ',' staat voor alle lijnen, '3,7' staat
# voor lijn drie tot zeven, de lijnen moet je voor het commando
# ingeven.
,p
Dit is de tekst die ik toevoeg aan de buffer.
Ze bestaat uit drie regels tekst.
Die wordt beeindigt door een punt op een apparte lijn.
# Op de eerste lijn staat 'de tekst die ik toevoeg aan
# de buffer, je voegt deze tekst echter niet toe, hij
# is al lang toegevoegt, je wilt deze fout natuurlijk
# verbteren, dit is het vervelendste aan ed, de manier
# waarop dit gebeurt is veel omslachtiger dan in screen-oriented
# editor.
# Eerst moet je naar de juiste regel gaan, nu is dit gemakkelijk
# het is de eerste, maar soms moet je wat tellen, best kun je dan
# nog eens lijnnummerp doen, waarbij je lijn nummer vervangt door
# het nummer dat je denkt dat het is, als controle.
# Je gaat naar de lijn door het nummer in te geven en dan
# op [enter] te duwen:
1
Dit is de tekst die ik toevoeg aan de buffer.
# Zoals je hebt gemerkt wordt de lijn nog eens afgedrukt.
# Je doet dit moet nu toevoeg vervangen door heb toegevoegd.
# dit doe je met het commando s (substitute):
s/toevoeg/heb toegevoegd
Dit is de tekst die ik heb toegevoegd aan de buffer.
# zoals je ziet wordt de nieuwe tekst afgedrukt op het scherm.
# Je kunt het bestand opnieuw opslaan:
w test
142
# En ed verlaten.
q
$
Dit voorbeeldje zou genoeg moeten zijn om je een idee te geven van hoe ed
werkt en om ervoor te zorgen dat je er zelfs iets mee kunt doen.
De uitleg was nogal uitgebreid zoals je hebt kunnen merken, dit was omdat ik
zeker wou zijn dat je alles begrijpt, de rest van de tekst over ed zal
weer meer in een pocket-reference stijl zijn. Normaal zou de voorgaande,
uitgebreide uitleg voldoende moeten zijn om de rest met slechts een kleine
toelichting te begrijpen.
Mischien vraag je je af of je aan de buffer van ed kan, terwijl het programma aan het draaien is. Dit kan je: in /tmp staan de bufferbestanden, ze hebben een naam van de vorm ed.*
Dit kan interessant zijn om te weten: als ed om 1 of andere manier abnormaal wordt beeindigt, heb je een kans dat dat bufferbestand er nog is en dat je werk dus niet verloren is, normaal wist ed wel het bufferbestand als het beëindigt wordt.
Natuurlijk zijn er ook een aantal command line options voor ed:
Dit is ongeveer alles dat er te vertellen is over ed, (ik heb tijdens het schrijven van de tekst splitvt gebruikt op mijn console-only systeem, met bovenaan de info pages van ed en onderaan vi (neen, niet ed), en ik heb slechts een minimaal aantal zaken weggelaten (ze waren me te ingewikkeld om uit te leggen), als je ze toch perse wilt weten kun je info ed opvragen en dan in 'menu' Regular expressions kiezen.
Ik hoop dat je nu een idee hebt van hoe men vroeger een tekst in unix typte, ik begrijp het systeem in ieder geval en hoewel ik het zou kunnen, ben ik toch wel blij dat VI iMproved mijn computer heeft verrijkt :-)
btw, ik heb trouwens ook ondekt dat ed waarschijnlijk nog altijd interressant kan worden gebruikt in shell scripts, met behulp van de hier niet vermelde regular expressions, op een manier die met screen oriented editors niet mogelijk zou zijn, hoewel ik ervan overtuigd ben dat de zelfde zaken met behulp van cat, grep, find, cut,... en wat redirection ook mogelijk moeten zijn, denk ik toch dat ze met ed gemakkelijker moeten zijn. Op dit gebied is ed dus nog altijd interessant, en is het mischien wel de moeite waard voor mensen die veel shell scripts schrijven om er eens mee te gaan experimenteren.
hoofd menu:
Esc menu ^P prev page ^K del char ^O end of lin ^Y adv word ^G^P prev buff ^G^V forward ^J carrg rtrn
^E command ^L del line ^G^K und char ^U mark ^Z replace ^G^X fmt parag ^G^R reverse ^H backspace
^T top of txt ^G^L und line ^F search ^X cut ^G^Z repl prmpt ^G^X fmt parag ^G^B append ^G GOLD
^B end of txt ^W del word ^G^F srch prmpt ^C copy ^G^C clear line ^A adv char ^G^D prefix
^N next page ^G^W und word ^D beg of lin ^V paste ^G^N next buff ^G^Y prev word ^R redraw
+---------------------+
| main menu |
| |
| a) leave editor |
| b) help |
| c) edit |
| d) file operations |
| e) redraw screen |
| f) settings |
| g) search/replace |
| h) miscellaneous |
| |
| press Esc to cancel |
+---------------------+
Dus zoals je ziet, alles wijst zichzelf uit. Het heeft zijn naam easy
niet zomaar.
LATEX schrijf je als LaTeX
in ascii, dus niet latex of Latex, maar meestal houd men daar geen rekening mee.
Naar schatting 50 % van alle boeken en 90 % van alle wetenschappelijke werken is opgemaakt in LATEX en dit heeft zo zijn redenen: LATEX32 is zodanig ontwikkeld
dat het niet zo zeer mooie, maar vooral duidelijk en aangenaam leesbare en goed gestructureerde werken zou af leveren.33
Bovendien is LATEX enorm geschikt voor het opmaken van wiskundige formules, want het is gebaseerd op het virtueel34 bugfree programma TEX dat speciaal gemaakt werkt voor het mogelijk maken van opmaak met een pc, op het eind van
de jaren 70 (dus nog voor de ibm pc).
Velen die voor het eerst in contact komen met LATEX vinden dat het ouderwetse brol is die ongebruiksvriendelijk is, maar zowat iedereen die erop doorgebeten heeft is er vol lof over, ik vind persoonlijk zelfs dat het hier gaat om een toonbeeld van gebruiksvriendelijkheid, ook al heeft het geen flashy GUI interface, dit is wel op voorwaarde dat je het systeem goed kent, anders wordt het een beetje vervelend (ik heb dat zonet ervaren, ik kreeg namelijk een eenvoudig tekentje als [^] in dit document, dat is dan weer het nadeel van LATEX, je moet voor alles commando's kennen en als je net zoals ik slechts een beginner bent, doet het nu en dan wel eens vervelend.
LATEX maakt gebruik van bestanden met de extentie .tex
. Het resultaat, de uitvoer is standaard .dvi
, maar kan met behulp van speciale programma's ook html, pdf of nog een ander formaat zijn, dvi kun je omzetten naar ps met dvips
, dvi bestanden kun je bekijken met xdvi
en in terminal modus met dvisvga
of tmview
(ik kon hier helaas geen homepage voor vinden, maar ik heb de auteur gemaild met een vriendelijk verzoek een homepage adres te geven indien hij er een heeft.
Als je de programmas wilt brengt een search op yahoo of een andere zoekmachine je al heel ver.)
In een LATEX document plaatst men commando's die de tekst opmaken. Elk (of toch bijna elk) commando begint met \, dit teken kan ook niet zomaar gebruikt worden,
indien je het toch wilt geruiken, geef dan $\backslash$ in.
Andere tekens die je niet zomaar kunt gebruiken zijn: $, &,%, #, _, {, }, ~,[^]. (Er zijn er nog meer, maar dit zijn de meest voorkomende).
Je kunt deze tekens verkrijgen met:
\$, \&, \%, \#, \_, \{, \}, \~, $\hat{}$
Een regel beëindig je met \\, een niewe paragraaf begin je door een regel open te laten. Meerdere spaties, tabs en meer dan één lege regels worden genegeerd, als je een lijn wilt overlaten zonder een nieuwe paragraaf te beginen, kun je het commando \newline ingeven.
Leuk om weten: met het commando \TeX{} voeg je TEX in en met \LaTeX{} voeg je LATEX in. LATEX spreek je uit als lei - tich (korte i zoals in zit)
of als lach-tich.
Commentaar voeg je in met % dan wordt de tekst niet weergegeven, ik geef bijvoorbeeld aan de top van de meeste van mijn tex bestanden aan wat ze bevatten.
Ieder LATEX tex bestand ziet er als volgt uit:
\documentclass{article, report, book of slide}
Commando's (dit gedeelte heet men de preamable).
\begin{document}
De inhoud van het document.
\end{document}
De commando's in de preamable geven info over de layout van het document, over auteur, titel en geven de mogelijk om extra info in te voegen
en LATEX uit te breiden.
Vlak na \documentclass kun je nog opties invoegen tussen [ en ] en gescheiden door komma's. De belangerijkste optie is a4paper die ervoor zorgt dat
er papier van het formaat a4 wordt gebruikt, andere mogelijkheden zijn a5paper, b5papaer, letterpaper;
andere veelgebruikte opties zijn 10pt,11pt,12pt (die de grote van de letters bepalen, standaard is 10pt), twocolumn zorgt ervoor dat het document in twee kolommen is in plaats van in een.
Tussen de { en } plaats je het type document:
In de preamable kun je ook nog \author{auteur \and eventuele tweede auteur} en \title{titel van het document} ingeven. Dan kun je in het document \maketitle ingeven om een titelpagina (of titel in article's en slide's) je kunt ook een table of contents invoegen met \tableofcontents.
%latexvoorbeeld.tex
\documentclass[a4paper]{article}
\usepackage{latexsym}
\usepackage[dutch]{babel}
\author{Jan Keirse}
\title{Een simpel LaTeX Voorbeeld}
\begin{document}
\maketitle
\tableofcontents
\chapter{ LaTeX voorbeeldjen}
Dit is een \emph{simpel} LaTeX voorbeeldjen.\\
\section{Dit is een sectie in het eerste hoofdstuk}
boem\\
\LaTeX{} is goed want:
\begin{itemize}
\item Het draait op alle pc's
\item Het is snel
\item Het is free
\item Het genereert mooie proffesioneel ogende en duidelijke, overzichtelijke documenten.
\item NOg onoemelijk veel meer redens.
\end{itemize}
\chapter{Tweede, lege hoofdstuk, dada}
Dat was het, I hope you like it
\end{document}
\tth_fileclose0x80e8468
Daarnaast zijn er ook een aantal programma's die hun config files elders opslaan, zoals TEX, KDE, GNOME,... Het programma locate kan vaak helpen bij het localiseren van die bestanden.
| extentie | Programma-info | Meer info... |
| .c | C sourcecode | gcc |
| .cpp | C++ sourcecode | g++ |
| .o | Object bestand | gcc/make |
| .sdw | StarOffice document | convertor-console reader? |
| .sh | Shell script | p.pageref |
| .tex | TEXof LATEXbestand | p.pageref |
| .vim | Vim script | p.pageref |
| Programma | Bestand(en) | Meer info... |
| Bash | /.bashrc | p.pageref |
| /.bash_history | ||
| Emacs | ~/.emacs | p.pageref |
| Fetchmail | ~/.fetchmailrc | p.pageref |
| Ftp | ~/.netrc | p.pageref |
| Pine | /.pinerc | p.pageref |
| Vim | ~/.vimrc | p.pageref |
| ~/.vim/ |
| Distributie | Locatie |
| SuSE (vroeger) | /sbin/init.d |
| /etc/rc.d (symlink) | |
| SuSE (nu) | /etc/init.d |
| /etc/rc.d (symlink) | |
| De Rest: normaalgezien | /etc/init.d |
| Programma | Bestand(en) | Meer info... |
| cron | /etc/crontab | ... |
| /var/cron/tabs | ||
| man | /usr/local/man | p.pageref |
| samba | /etc/smb.conf | ... |
Je installeert een rpm-file met het commando rpm -i rpm-file. Omdat dit niet veel zegt (output naar het scherm) is het handig om er de opties -v (verbose) en -h (hash-display) bij te plaatsen. Bijvoorbeeld:
~# rpm -ivh moonwalk-6.2.4-2.i386.rpm
moonwalk ####################
De 50 (hier 20) hashes tonen in welke mate de installatie voltooid is.
Er zijn 2 manieren op te upgraden.
~# rpm -Fvh moonwalk-6.2.4-2.i386.rpm
~# rpm -Fvh moonwalk-6.2.6-1.i386.rpm
moonwalk ####################
Je ziet dat hij de eerste keer moonwalk niet wou installeren. Dit is omdat moonwalk al geinstalleerd is, en wel met eenzelfde versie (dus niet ouder). De tweede keer werkt het wel : 6.2.6-1 is groter dan 6.2.4-2.
Je verwijderd software door het -e-argument mee te geven. Echter, nu werk je niet meer met een rpm-file als argument, maar met de softwaretitel. Bijvoorbeeld:
~# rpm -e moonwalk
Zoals je ziet wordt er geen melding gegeven. Dit is normaal. Als je werkelijk informatie wenst, kan je -vv gebruiken, maar dit zal meestal wel meer informatie geven dan dat je wenst.
Je wint informatie in over een package door eerst het argument -q mee te geven (query). Daarnaast geef je mee welke informatie je wenst. De meest courante zijn:
Verder moet je ook meegeven waarvan je informatie wenst (welke package). De meest courante zijn:
Zoals je al kan vermoeden, kan je maar 1 optie meegeven over _welke packages_ je wil queryen, maar wel meerdere over _wat_ je wil weten. Bijvoorbeeld:
~# rpm -qi moonwalk
~# rpm -qf /usr/bin/moonwalk -il
Elke package bevat informatie over de files die hij omvat. Dergelijke informatie is zeer handig om later de integriteit van je systeem te controleren. Grootte van de file, eigenaar, permissies, modificatie-tijd, md5sum, ... worden allemaal bijgehouden. Om de files van een package te verifieren gebruik je het -V-argument. Om aan te duiden welke packages je wil verifieren gebruik je dezelfde argumenten als deze van hierboven... Interpretatie van de output van deze commando's zijn te vinden in de man-page van RPM. Bijvoorbeeld:
~# rpm -V moonwalk
~# rpm -V -f /usr/bin/moonwalk
Vele packages zijn gesigneerd door hun maker (met PGP/GPG). Je kan dus deze packages controleren op fouten, kijken of ze werkelijk van die persoon zijn enzomeer... Hiervoor moet je het --checksig-argument meegeven. Bijvoorbeeld:
~$ rpm --checksig moonwalk-6.2.4-2.i386.rpm
Nog enkele argumenten die vaak voorkomen (in sommige gevallen):
Er zijn verschillende tools in omloop die voornamelijk dienen om eenvoudig
rpm's te installeren. Ikzelf heb weinig ervaring met deze, dus uitgebreid
kan ik er nog niet op voortgaan.
urpmi 37 handelt dependencies af door een lijst op te stellen van alle RPMs die beschikbaar zijn, en daar de dependencies op te zoeken. urpmi wordt gebruikt door RPMDrake, die eigenlijk een grafische front-end is van urpmi.
~$ kill -9 < PID >waarbij < pid > het process ID is van het programma dat je wilt 'killen', je kunt dit te weten komen met behulp van het programma ps.
~$ killall programmanaam
Stopt het programma dat zich aan linux voorstelt aan programmanaam (dit is niet perse het commando).
Je kunt ook
~$ su usernamedoen, zo log je in als een specifieke user.
su kun je verlaten met behulp van het commando exit.
Met de optie -p blijven alle environment variables behouden, ze worden dus niet veranderd naar die van de gebruiker, deze optie gebruiken is de handigste manier om onder su toegang te hebben tot de X-server, indien je die standaard hebt (het gaat ook met een setenv commando eens je al su hebt uitgevoerd).
Interessant detail: sommigen zeggen dat inloggen als gewone user en dan su gebruiken voor systeemadministratie veiliger is dan gewoon inloggen als root, ik weet niet of het waar is, maar zeker als je xterm's gebruikt in plaats van enkel eenconsole (zoals ik, ik vind dat handiger omdat je dan meer terminals hebt), is het handiger, omdat je dan bvb makkelijker een BitchX kunt starten, als root doe je dit namelijk best niet (want dat is wel zeer onveilig!)
~$ getent database [key ...]
De mogelijke databases zijn aliases, ethers, group, hosts, netgroup,
networks, passwd, protocols, rpc, services of shadow.
getent doet eigenlijk niet veel meer dan de nodige database greppen op een
bepaalde key, of gewoon compleet weergeven.
Voorbeeld:
~$ getent passwd root
root:x:0:0:root:/root:/bin/bash
~$ getent services ssh
ssh 22/tcp
Argumenten zijn:
De variabelen die locale kent staan vermeld in de manpage (man locale.
Enkele voorbeelden:
~$ locale -a | grep be
be_BY
be_BY.utf8
~$ locale -k LC_MESSAGES
yesexpr=``[^][yY]''
noexpr=``[^][nN]''
yesstr=``''
nostr=``''
messages-codeset=``ANSI_X3.4-1968''
Het gebruik is zeer eenvoudig: typ gewoon eens tload, als je niet onmiddelijk begrijpt wat er bedoeld wordt: start eerst tload, terwijl er niets anders draait, begin vervolgens een hele reeks zware programma's te starten, dan zul je het onmiddelijk begrijpen.
Syntax:
~$ tload [-V] [-s schaal] [-d vertraging] [tty]
Met de optie -a heeft het programma alle informatie weer die ze kent.
vb.:
~$ uname -aUitleg: ik zal telkens zeggen wat iedere uitvoer is en welke command line option je moet gebruiken om enkel deze info op te vragen (tussen haakjes).
Linux www.mylinux.local 2.2.14 #1 SMP Thu Feb 17 11:19:33 MST 2000 i586
Met zdump kan je zien hoe laat het is in een andere tijdzone. Dit doe je door simpelweg
~$ zdump < tijdzone >
te typen. Als je bijvoorbeeld wil weten hoe laat het is in New York (tijdzone is daar America/New_York ), dan type je
~$ zdump America/New_York
Als je niet weet welke tijdzone je moet nemen moet je tzselect gebruiken.
vb.:
~$ whoDe output spreekt voor zich: de username, op welke terminal hij is ingelogd en wanneer.
jan tty1 Aug 27 12:58
jan tty2 Aug 27 13:04
root tty3 Aug 27 13:07
Mogelijke opties zijn:
~$ idhierbij is uid=100(jan) het uid en de username (je kan deze opvragen met de optie -u, -user), gid=100(users) is de group id en naam (op te vragen via -g -group), en groups=100(users), 126(extragroepken) is een lijst van andere bgroepn waartoe de user behoort (op te vragen via -G, -groups)
uid=100(jan) gid=100(users) groups=100(users),126(extragroepken)
tzselect vraagt de gebruiker informatie over zijn geografische ligging, waarmee hij dan de juiste tijdzone geeft. Deze kan de gebruiker dan in bijvoorbeeld /.bashrc steken zodat alle programma's deze informatie kunnen gebruiken.
GnuPG maakt gebruik van de OpenPGP-standaard 42, dieook door recentere versies van PGP gebruikt wordt. Hierdoor zijn GnuPG en PGP onderling compatible. Met OpenPGP is het mogelijk files (incl gewone
teksten, binaries enzomeer) te encrypteren met een bepaald algoritme.
De publieke sleutel wordt aan anderen gegeven zodat deze boodschappen
(over het algemeen e-mails) kan encrypteren alvorens deze naar de
ontvanger te sturen. Hierdoor voorkomt men dan mensen (met al dan niet
minder vriendelijke bedoelingen) de inhoud van die boodschap kunnen lezen.
Mijn publieke sleutel kan je op swift.pubkey.asc bekijken.
De geheime sleutel (of private sleutel) houd elke persoon voor zich. Men
moet er dan ook voor zorgen dat niemand deze private sleutel kan kopieren,
bekijken of bemachtigen. Deze sleutel is beveiligd met een paszin
(passphraze
) maar als iemand al jouw sleutel heeft kunnen
bemachtigen is het risico groter dat hij deze sleutel kan `kraken' dan als
deze persoon deze sleutel niet heeft.
Met de geheime sleutel worden geencrypteerde zaken gedecrypteerd. Het is
quasi onmogelijk om een geencrypteerde boodschap te decrypteren met de
publieke sleutel. De technologie die hierachter zit wordt uitgelegd in
verschillende papers en guides. Een aan te raden guide is de `GNU Privacy
Handbook' 43
waar ook het gebruik van GnuPG deftig onder de loupe wordt genomen.
Verder is het ook mogelijk om een handtekening te plaatsen onder
een file of boodschap (signature). Hierdoor kunnen mensen, die
jouw publieke sleutel hebben, zeker zijn dat jij deze file of boodschap
verzonden hebt, omdat enkel de persoon met de geheime sleutel deze
handtekening kan aanmaken.
Je kan ook beide combineren 44, nl een file of
boodschap encrypteren en signeren. Hierdoor is de inhoud versleuteld en
weet de persoon die de file/boodschap ontvangt dat jij hem deze
file/boodschap verstuurt hebt.
Om GnuPG in te stellen moet je eerst een geheime sleutel aanmaken (ik
veronderstel dat GnuPG al geinstalleerd is op uw systeem), en dat doe je
als volgt (~$ is de prompt die je krijgt op je console):
~$ gpg
gpg: /home/user/.gnupg: directory created
gpg: /home/user/.gnupg/options: new options file created<BR>
gpg: you have to start GnuPG again, so it can read the new options
file
GnuPG heeft de nodige files aangemaakt in je HOME-directorie.
~$ gpg -gen-key
gpg (GnuPG) 1.0.6; Copyright (C) 2001 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
gpg: /home/user/.gnupg/secring.gpg: keyring created
gpg: /home/cju/.gnupg/pubring.gpg: keyring created
Pleaseselect what kind of key you want:
(1) DSA and ElGamal (default)
(2) DSA (sign only)
(4) ElGamal (sign and encrypt)
Your selection?
1 is hier een goede keuze...
DSA keypair will have 1024 bits.
About to generate a new ELG-E keypair.
minimum keysize is 768 bits
default keysize is 1024 bits
highest suggested keysize is 2048 bits
What keysize do you want? (1024)
Ook hier is de standaardwaarde (1024) een goede keuze. Zwaardere sleutels
zijn vaak te zwaar om te decrypteren (voor uw systeem) waardoor het
gebruik van encryptie niet meer vloeiend werkt, maar als storend ervaren
wordt. Ook is het gebruik van zwaardere sleutels hier niet echt nodig,
daar 1024 bit al zeer veilig is.
Requested keysize is 1024 bits
Please specify how long the key should be valid.
0 = key does not expire
(n) = key expires in n days
(n)w = key expires in n weeks
(n)m = key expires in n months
(n)y = key expires in n years
Key is valid for? (0)
Ook hier is de standaard-waarde 0 een goede keuze, maar dit hangt
natuurlijk af van persoon tot persoon. Met 0 ben je niet verplicht om na
een bepaalde periode een nieuwe sleutel aan te maken en iedereen te
verwittigen dat je een nieuwe sleutel hebt.
Key does not expire at all
Is this correct (y/n)?
Verifieer je keuze met y.
You need a User-ID to identify your key; the software constructs the user
id from Real Name, Comment and Email Address in this form:
Heinrich Heine (Der Dichter) heinrichh@duesseldorf.de
Real name:
Vul hier je naam in, bijvoorbeeld Jan Jansens.
Email address:
Vul hier je e-mailadres in, bijvoorbeeld jan.jansens@foo.be.
Comment:
Vul hier bij voorkeur je nickname in, bijvoorbeeld janneke.
You selected this USER-ID:
Jan Jansens (janneke) jan.jansens@foo.be
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit?
Verifieer alles en druk op O om verder te gaan.
You need a Passphrase to protect your secret key.
Enter passphrase:
Type hier je passphraze in. Alles wat je typt komt niet naar het
scherm, dus wees absoluut zeker van wat je typt (en ja, je moet hem
bevestigen).
Repeat passphrase:
Bevestig je passphraze door hem nogmaals in te geven.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
.++++++++++..++++++++++++++++++++++++++++++++++++++++
Hier worden randomgetallen gegenereerd. Er wordt gebruik gemaakt van
vanalles en nog wat, maar voornamelijk van zaken die jij als user doet op
dat moment (typen, muis bewegen, scripts uitvoeren, ...) omdat deze zaken
werkelijk als random kunnen genomen worden (mits enkele randomfuncties te
gebruiken). Uiteindelijk krijg je:
public and secret key created and signed.
Voila, je private en publieke sleutel zijn gecreeerd.
Voordat we verder gaan creeren we eerst een `revocation' certificate. Dit
is een klein bestandje dat de nodige gegevens bevat om jouw sleutel als
`compromised' te beschouwen. Als je later je publieke sleutel op
keyservers plaatst 45 en je
geheime sleutel wordt door iemand anders gekopieerd, gebruikt, verwijderd
of zo meer op dusdanige wijze dat het niet meer als veilig kan gezien
worden om nog jouw sleutel te gebruiken, dan kan je je revocation
certificaat naar die server doorsturen. De server zal dan jouw sleutel
markeren als `revoked', zijnde `niet meer te gebruiken'.
Je begrijpt wel dat deze certificaat ook schade kan aanbrengen als iemand
anders deze heeft (ze kunnen jouw sleutel in ongebruik maken ook al is ze
veilig te gebruiken), dus deze revocation certificaat moet goed bewaard
worden. Omdat ze zo klein is kan je ze ook afprinten en indien nodig later
manueel intypen
~$ gpg -output revoke.asc -gen-revoke janneke
sec 1024D/F5C0C013 2001-07-10 Jan Jansens (janneke) jan.jansens@foo.be
Create a revocation certificate for this key?
Type yes.
Please select the reason for the revocation:
1 = Key has been compromised
2 = Key is superseded
3 = Key is no longer used
0 = Cancel
(Probably you want to select 1 here)
Your decision?
Geef hier de reden van revokatie aan. 1 zal meestal goed zijn omdat je nog
niet op voorhand weet waarom je de sleutel wil revokeren.
Enter an optional description; end it with an empty line:
Hier kan je additionele informatie geven. Dit is niet nodig, dus wij geven
een lege regel in...
Reason for revocation: Key has been compromisedid
(No description given)
Is this okay?
Bevestig door yes in te typen.
You need a passphrase to unlock the secret key for
user: Jan Jansens (janneke) jan.jansens@foo.be
1024-bit DSA key, ID F5C0C013, created 2001-07-10
Enter passphrase:
Type hier je passphraze in.
ASCII armored output forced.
Revocation certificate created.
Please move it to a medium which you can hide away; if Mallory gets
access to this certificate he can use it to make your key unusable.
It is smart to print this certificate and store it away, just in case
your media become unreadable. But have some caution: The print system of
your machine might store the data and make it available to others!
Je revocation-certificate zit nu in de file revoke.asc. Plaats deze
ergens op een diskette of print ze af, en leg ze op een veilige
plaats.
Om je publieke sleutel te verkrijgen, type je het volgende:
~$ gpg -armor -output my-pubkey.asc -export janneke
In de file my-pubkey.asc zit nu jouw publieke sleutel die je aan iedereen
mag doorgeven. Als je je publieke sleutel op een keyserver wil plaatsen,
type je het volgende in:
~$ gpg -keyserver www.keyserver.net -send-keys janneke
Nu staat jouw publieke sleutel op de server www.keyserver.net. Om jouw
sleutel-nummer te kennen doe je het volgende:
~$ gpg -list-keys janneke
pub 1024D/F5C0C013 2001-07-10 Jan Jansens (janneke) jan.jansens@foo.be
sub 1024g/CE72C0D4 2001-07-10
Jouw sleutelnummer staat rechts van de /, hier F5C0C013. Met dat nummer
kunnen mensen jouw publieke sleutel van de keyserver halen:
~$ gpg --keyserver www.keyserver.net --recv-keys F5C0C013
gpg: requesting key F5C0C013 from www.keyserver.net ...
gpg: Total number processed: 1
Zo wordt de publieke sleutel gedownload en direct geinstalleerd.
Nu moet
je wel nog de sleutels van andere mensen signeren. Met signeren maak je
aan gnupg duidelijk dat je de sleutel voor 100% aanvaard, omdat je 100%
zeker bent dat die sleutel van die persoon komt. Dit doe je door de
fingerprint van een sleutel te controleren. Vraag dus aan die persoon, of
aan een persoon die je vertrouwt, om de fingerprint van die sleutel te
verkrijgen (hoe stricter je het vraagt, hoe minder kans dat het vervalst
is). Je weet de fingerprint van een sleutel (ook de jouwe) door:
~$ gpg --fingerprint janneke
pub 1024D/F5C0C013 2001-07-10 Jan Jansens (janneke) jan.jansens@foo.be
Key fingerprint = 90F3 71F6 D87A 3534 DD00 DFFF 7B74 976F F5C0 C013
sub 1024g/CE72C0D4 2001-07-10
Als deze fingerprint gelijk is aan deze die je van die persoon krijgt (in
real life, via telefoon, whatever) dan kan je deze sleutel signeren:
~$ gpg --edit-key iemand
(Veel informatie die je zegt welke sleutel bij 'iemand' hoort)
Command:
Type hier sign. GnuPG zal je om confirmatie vragen, en dan om je passphraze. Met het commando quit ga je uit deze edit-mode.
Er rest ons nog 1 zaak te doen, nl extra IDs toevoegen aan onze sleutel.
Immers, iedereen heeft wel meerdere e-mailadressen met bijhorende
nicknames. Die moet je ook in je sleutel steken, anders kunnen die mensen
(eigenlijk hun programmas) zeer moeilijk de link leggen tussen jouw e-mail
en jouw publieke sleutel. Je voegt ID's toe als volgt:
~$ gpg --edit-key janneke
(Informatie over janneke)
Command:
Typ hier adduid. Er wordt gevraagd naar je naam (die meestal dezelfde
blijft, maar soms wil je wel meerdere namen hebben :), je e-mail (dus nu
een ander e-mail) en commentaar (nickname). Na confirmatie wordt je
passphraze opgevraagd waarna je extra ID toegevoegd wordt (wat je zal zien
aan de output).
Meer commando's in de edit-mode vind je door help in te typen.
De kans is groot dat je de melding Using insecure memory krijgt van
GnuPG. De reden is dat gpg niet als root gedraaid wordt (maar als jouw,
de user) waardoor gpg niet geheugen van vastleggen. Hierdoor bestaat de
kans dat het geheugen waarin gpg zit naar de harde schijf wordt
weggeschreven, zodat gebruikers met de juiste tools deze kunnen
bekijken en mogelijk jouw passphraze teweten komen. Als je dit niet
wenst, moet je de gpg-binary SUID root maken. Dit doe je door de volgende
commando's in te geven (paswoord van de root-account moet je ingeven):
~$ su
Password:
~$ chown root.root /usr/bin/gpg
~$ chmod 4755 /usr/bin/gpg
~$ exit
Als je de melding zelf niet meer wil krijgen, voeg je de volgende regel
toe aan /home/user/.gnupg/options (met user = jouw login):
1
no-secmem-warning
i
Er zijn verschillende e-mail-clients beschikbaar voor Linux, en
verscheidene clients hebben PGP/GPG-ondersteuning (GPG = GnuPG). Ik
bespreek voorlopig enkel pine en mutt.
Pine is een vaak gebruikte, maar jammergenoeg niet-GPL, e-mailclient voor onder
de console. Om GnuPG te doen werken onder Pine is er een speciaal
scriptje dat pinegpg-install noemt. Dit is meestal bij je Pine-package
bijgeleverd. pinegpg-install doet niet meer dan de volgende zaken in je
.pinerc toevoegen:
sending-filters=/usr/bin/gpg-sign,
/usr/bin/gpg-encrypt _RECIPIENTS_,
/usr/bin/gpg-sign+encrypt _RECIPIENTS_
Het is wel aangeraden om hier nog iets aan te veranderen. Immers, als je
dit zo laat, worden mails die jij verzend geencrypteerd, en kan jij,
tussen de sent-mail, niet meer die mails lezen (want jij hebt de private
sleutel niet van de recipient). Dit kan je oplossen door er het volgende
van te maken (in .pinerc):
sending-filters=/usr/bin/gpg-sign,
/usr/bin/gpg-encrypt _RECIPIENTS_ jan.jansens@foo.be,
/usr/bin/gpg-sign+encrypt _RECIPIENTS_ jan.jansens@foo.be
met uiteraard jouw e-mailadres ipv jan.jansens@foo.be... De
sending-filters zorgt ervoor dat je de keuze krijgt om gpg-sign,
gpg-encrypt of gpg-sign+encrypt toe te passen op je e-mail.
Ook wordt door pinegpg-install het volgende in .pinerc gezet:
display-filters=_LEADING(``-----BEGIN PGP MESSAGE-----'')_
/usr/bin/gpg-check,
_LEADING(``-----BEGIN PGP SIGNED MESSAGE-----'')_ /usr/bin/gpg-check
De display-filters zorgen ervoor dat je, als je een geencrypteerde e-mail
krijgt, deze automatisch (wel, je moet wel nog je passphraze intypen)
gedecrypteerd worden, of dat de signature van een persoon geverifieerd
wordt (hiervoor moet je uiteraard geen passphraze ingeven).
Als je nu onder Pine een e-mail wil verzenden (dus [^]X drukken nadat je je e-mail gemaakt hebt) kan je nu tussen de filters bladeren door [^]P of [^]N te drukken. De filternamen komen onderaan te staan in het beeld. Meestal wil je dan sign+encrypt nemen. Druk dan op Y om de mail te encrypteren (passphraze wordt gevraagd) en te verzenden.
Als je mail wil gebruiken om emails te verzenden, zul je een mailserver moeten installeren. Veel gebruikt mailservers zijn bv. sendmail en exim. Deze kun je wel instellen dat ze als smarthost opereren. Ze zullen dan gewoon de mails doorsturen naar je gebruikelijke mailserver.
Je kan mail op 2 manieren gebruiken om mail te versturen:
~$ mail -s subject -c cc-adres -b bcc-adres to-adressen
Verdere interessante argumenten zijn dan:
-v verbose mode
Om helemaal via 1 commando te werken zal je dan nog je body doorgeven via een pipe, bv.:
~$ cat ~/letter | mail -s Brief to-adres
$ mail to-adres
Subject: Brief
Cc:
Bcc:
Body: Hallo...
mesg-body
.
$
Je kan je mailbox
openen door gewoon mail in te typen als er nieuwe mail is. Heb je geen nieuwe mail, dan moet je mail -f ingeven
mail -f
Hierdoor kom je in de interactieve modus van mail. De meest gebruikte commando's zijn hier:
~$ touch ~/mbox
Dit maakt een leeg bestand aan in je homedir: mbox.
~$ fetchmail -u username server
Fetchmail zal je dan achter je paswoord vragen die overeenkomt met de
gebruiker `username' op de server `server'. Als je denkt dat fetchmail niet
het server-type kan raden (pop3 of imap) kan je dat altijd meegeven:
~$ fetchmail -u username -p pop3 server
Als je een ssl-verbinding wil gebruiken moet je
`--ssl' erbij plaatsen:
~$ fetchmail -u username -p imap --ssl server
Maar fetchmail zou fetchmail niet zijn als je het niet eenvoudiger kan doen.
Je kan immers werken met een .fetchmailrc-bestand (dat de permissies 600
_moet_ hebben) waarin (bijvoorbeeld) staat:
defaults proto imap ssl
poll mailandnews
user 'foo' there with pass 'password' is 'bar' here
Dit zorgt ervoor dat, als je gewoon fetchmail intypt, de mails van de server mailandnews voor de gebruiker foo met paswoord password binnengerijfd worden en aan de locale user bar gegeven worden (meestal zet je hier je eigen login). Als je dan nog fetchmail -d 60 typt, zal fetchmail op de achtergrond draaien (in daemon-mode) en om de 60 seconden uw mail controleren (en desnoods binnenhalen).
PS De mails zullen dan meestal in /var/mail/ < username > terecht komen.
Om met de deur in huis te vallen : het lastigste in het begin is het wennen aan de gebruikte keybindings (alhoewel die wel manueel aan te passen zijn). Maar voor de rest is slrn een zalige newsreader.
slrn ondersteund threads en binaries (MIME), wat ongeveer toch het belangrijkste is aan een newsreader.
Ook hier wordt alle configuratie in een config-file gedaan. Het beste is je te baseren op een bijgeleverde voorbeeld-slrnrc. Verder moet je 1 variabele globaal definieren, nl je nntp-server. Het beste is hiervoor een melding in /etc/profile of in een lokale file (bv .bashrc of zo) te plaatsen, ala:
export NNTPSERVER="news.provider.be"Verder wijst het gebruik van slrn zichzelf uit...
Het instellen van mutt gebeurt compleet in de configuratiefile .muttrc in je home-directory. Met een beetje hulp van de muttrc-manpage en voorbeeld-muttrc-bestanden van de Mutt website geraak je al heel ver.
Een minimalistische muttrc-inhoud om mail van een imap-server te halen vind
je hieronder. Echter, het is het meest aangeraden te werken met fetchmail (=
om
je mails binnen te rijven) en procmail (om ze te filteren). Standaard werkt
mutt immers met je locale spoolfile (/var/mail/$USER).
-- .muttrc-bestand
set realname="Jan Jansens"
my_hdr From: Jan Jansens < jan.jansens@foo.be >
my_hdr X-Operating-System: `uname -sr`
set spoolfile={jjansens@mailserver.be}inbox
--
Het leukste is echter - zoals al eerder gezegd - de enorme uitgebreidheid. Je kan overal kleuren aan geven, speciale functies aan toetsen geven (`binden'), mailinglists beheren, meerdere mailboxen beheren, threads zien zoals je ze moet zien, ...
Nog leuker is de integratie van PGP-support. Zenden en ontvangen van gesigneerde en/of geencrypteerde e-mails (allemaal volgens de rfc), zenden en ontvangen van PGP keys, ... gaat allemaal zonder problemen.
Het lastigste zijn de default keys... Standaard werkt mutt met moeilijke keybindings, en het eerste wat je dan ook doet zijn de keybindings aanpassen (wat je in je .muttrc-bestand doet).
Iets leuks aan pine is dat het standaard nogal eenvoudig is, een stel standaard functies geeft, maar als je zelf meer eisen gaat stellen, of als je die al stelde
Als je pine wilt gebruiken voor nieuws doe dan het volgende: druk op S, of ga met je pijltjestoetsen naar SETUP en druk op enter kies dan C (voor config) dan kom je in een configuratie menu, daar geef je eerst je eigen naam in (indien dit niet standaard juist staat), ga gewoon naar personal-name en druk op enter, geef uw naam in en druk nogmaals op enter, ga dan naar beneden, naar nntp-server en geef daar je localhost naam in indien je een locale nieuwsserver hebt (localhost of iets anders, bij mij is dit mylinux.local, dat hangt af van je systeem) of de naam van de nieuwsserver van je provider, vb.: news.pandora.be of nntp.provider.com
Nog een aantal andere essentiele instellingen voor je kunt beginnen:
In Setup - Config moet je het volgende instellen:
Indien je sendmail of qmail of een gelijkaardig programma hebt geconfigureerd op je systeem, kun je smtp-server ind e setup laten staan op localhost, anders moet je de smtp server van je provider ingeven, dit kan bvb smtp.pandora.be zijn.
In form-letter-folder geef je gewoon je eigen naam in.
Een signature is een klein stukje tekst dat je onderaan iedere mail plaatst, je kunt dit automatisch laten doen, meestal plaatst met zijn signature in het bestand ~/.signature pine leest standaard ook dit bestand voor de signature, indien je een ander wilt gebruiken kan dat.
Je instellingen kun je opslaan met eerst E en dan y te typen, eventueel kun je pine herstarten om zeker te zijn dat de nieuwe instellingen gebruikt worden.
Je kunt nu pine gaan gebruiken, omdat de standaard mogelijkheden zichzelf uitwijzen, zal ik die niet uitleggen, je kunt ze allemaal begrijpen door enkel en alleen je scherm te bekijken (dat vind ik net het leuke aan pine, het is zo verdomd simpel, maar toch volledig en snel werkend).
Om voor jou account (daarmee bedoel ik je linux/unix account) mogelijk te maken om zelf het email adres in te stellen, moet je het bestand ~/.pinerc
openen, in de feature-list (in mijn geval regel 97, je kunt hem natuurlijk ook altijd zoeken, in vi doe je dat met /feature-list) moet je de lijn
allow-changing-from
toevoegen, dan kun je je from adres veranderen, sla de wijziging op en sluit je editor.
Als je via verschillende email-adressen wilt verzenden, kun je dit gemakkelijk door:
pftp : Dit zorgt ervoor dat je passief files kan doorsturen van de ene pc naar de ander in een netwerk. Dit is handig wanneer je niet via een ``outside'' verbinding kan ftp'en, of als je achter een firewall zit.
De normale syntax is : ~$ ftp [option] [ < username > @]host
Waaronder host verstaan wordt als ftp server
Host kan een url zijn zoals http://web.wanadoo.be
of een ipadres zoals 127.0.0.0
Commando's in ftp zijn:
Handige tips :
Zet in je .netrc je favoriete ftp server alsook je account en paswoord. Zo hoef je niet telkens in de command line alles telkens opnieuw in te geven.
Je geeft de info als volgt in:
machine < ftp.domain.name >
login < username >
password < dendeen >
je kunt zoveel 'machines' toevoegen als je wilt, het is wel belangerijk dat enkel de user leestoegang heeft tot .netrc, andere gebruikers mogen geen enkele vorm van toegang tot dit bestand hebben, anders zal ftp het niet gebruiken en zouden die andere gebruikers je wachtwoorden kunnen lezen.
lees ook : RFC 959
De basis syntax is
~$ wget [options] URL
De opties kun je meegeven aan langs de commandline, maar kun je ook permanent maken door ze in ~/.wgetrc te zetten.
De URL is in het standaardformaat: [ftp|http]://[user:password@]host[:port]...
Enkele van de meestgebruikte opties zijn:
Opties specifiek voor http:
Opties specifiek voor ftp:
~$ memusage 2> memusage-output programma
waarbij `memusage-output' de file is waar de gegevens van geheugengebruik
worden gesaved en `programma' het programma is waarvan je het
geheugengebruik in kaart wil brengen.
De data bevat ook escape-karakters om kleuren en dergelijke weer te geven.
De beste manier om de file te viewen is dan ook ofwel dmv `cat' (en dan
page-up/down om alles te zien) ofwel head (de meest interessante gegevens
staan bovenaan).
Met deze tool kom je bijvoorbeeld teweten hoeveel malloc, realloc, calloc
en free-calls er gemaakt zijn, alsook hoe groot de aangesproken
geheugenblokken zin...
Deze tool kent de volgende argumenten:
De volgende argumenten zijn mogelijk als je een PNG-grafiek maakt:
~$ gencat catalog_file source_file
stdin en stdout kan ook gebruikt worden.
Een berichtensourcefile is een bestand dat je aanmaakt waarin de berichten
staan die je programma kan/zal geven. Je kan eender welke editor gebruiken
om een dergelijke berichtensourcefile aan te maken. Berichten kunnen
onderverdeeld worden in sets, meestal gebruikt om subsecties van je
programma te representeren. De berichtensourcefile kan ook commando's in
zich houden die door gencat gekend zijn en gebruikt worden om sets en
individuele berichten te manipuleren.
Sommige versies van gencat kunnen werken met symbolische namen ipv nummers
(standaard is het nummers). Indien jouw versie dat niet kan moet je eerst
de berichtensourcefile door mkcatdefs voeren die de symbolische namen
omzet in nummers en daarbij een mapfile aanmaakt waarin je snel het
overeenkomende nummer bij een symbolische naam (en vice versa) kan
terugvinden.
De berichtensourcefile kan de volgende commando's bevatten. Elke keyword
of nummer moet gevolgd worden door een (en enkel 1) spatie of tab. Indien
gevolg door meerdere spaties of tabs, en de tekst wordt niet gequote, dan
worden de spaties meegerekend als tekst. Gencat negeerd regels die
beginnen met een spatie, een tab of een $ gevolgd door een spatie, tab of
newline. Je kan ook commentaar plaatsen achter de commando's $delset,
$quote, $len, $set omdat gencat alles achter deze commando's (en hun
argumenten) negeert :
Escape-karakters mogen gebruikt worden in de berichtensourcefile. Het backslashkarakter kan gebruikt worden om aan te duiden dat de tekst doorloopt op de volgende regel.
~$ getconf variabele
getconf geeft de waarde die in de systeemvariabele `variabele' zit weer.
Indien een bepaalde specificatie nodig is, moet deze meegegeven worden met
het `-v' argument:
~$ getconf -v specificatie variabele
Een andere manier om getconf te gebruiken is met behulp van een path:
~$ getconf [-v specificatie] pathvariabele path
Hierdoor wordt de inhoud van de variabele `pathvariabele' die bij het pad
`path' hoort weergegeven, desnoods met een bepaalde specificatie.
Enkele voorbeelden:
~$ getconf NGROUPS_MAX
32
~$ getconf NAME_MAX /usr
255
De opties die je kan meegeven zijn:
Het gebruik is zeer simpel:
~$ ldd bestand
Bijvoorbeeld:
~$ ldd /bin/lsSommige code is dusdanig gecompileerd dat er overal absolute adressen in staan (sprongen, adressen van variabelen, ...). Als de code dus ergens anders moet geladen worden moeten eerst alle absolute adressen aangepast worden. Dat heet relocatie. Ook bij het linken van objecten moet relocatie gebeuren. Immers, de objecten zijn gecompileerd voor eenzelfde vast adres, terwijl ze eigenlijk achter elkaar moeten komen (linken).
libtermcap.so.2 = > /lib/libtermcap.so.2 (0x4001a000)
libc.so.6 = > /lib/libc.so.6 (0x4001e000)
/lib/ld-linux.so.2 = > /lib/ld-linux.so.2 (0x40000000)
Code, gecompileerd met de PIC-optie, werkt niet met absolute adressen maar
relatieve. PIC = Position Independent Code. ELF shared libraries moeten bv
PIC-gecompileerd worden (a.out niet).
Argumenten zijn
sln, (``static ln'') maakt een symbolische link van dest naar source:
~$ sln source dest
De link gebeurd statisch. Dit is handig als je symbolische links wil maken naar dynamische libraries als het dynamische linking-systeem (ldconfig) niet werkt.
~$ a2ps < bestandsnaam >print het bestand tussen < en > af naar de standaard printer, met de standaard instellingen van a2ps.
~$ a2ps -o < bestandsnaam.ps > < bestandsnaam.txt >converteert het ASCII bestand (hier met de extentie .txt) naar een ps bestand (hier met de extentie .ps).
~$ nohup < COMMANDO [OPTIES] >De opties zijn er voor het commando, niet voor nohup, want nohup heeft behalve --help en --version geen opties. Standaard start nohup niet in de achtergrond, als je dat toch wilt kun je & toevoegen op het einde van de aanroep.
Alle uitvoer van het programma wordt geredirected naar ~/.nohup.out .
Als het bestand al bestaat wordt de uitvoer toegevoegd aan het einde van het bestand, als er geen schrijftoegang is tot het bestand zal nohup zichzelf afsluiten.
~$ bc
2+2 < enter > 4
Men sluit af door ``quit'' in te geven. bc ondersteund enorm grote getallen.
(houd er rekening mee dat bc een heel krachtige rekenmachine is, met enorm veel mogelijkheden, niet voor niets is de manpage alleen al 17 pagina's lang, hoeplijk volgt later nog een volledigere beschrijving.
Je kunt ook de naam van een database meegeven om een statement uit een specifieke database te halen, als je wilt weten welke databases er op je systeem staan, kun je het volgende doen:
Eerst moet je bepalen waar fortune zijn databases bewaard, dit kun je doen met het commando whereis, dit heeft als uitvoer al de directory's waar een bestand met de naam fortune staat, en alle directory's met die naam, normaal krijg je één dir met de binary, en nog een (bvb /usr/share/fortune), die laatste bevat de databases, cd naar die directory en voer daar een ls uit, je krijgt dan een lijst bestanden, elke bestand dat zowel bestaat zonder extentie als met de extentie .dat is een fortune-database.
Op het internet kun je allerlei databases voor fortune vinden, zo zijn er met statements uit het boek Open Sources (van O'Reilly and Associates), maar bvb oko met wat Bart Simpson in het begin van een aflevering op het schoolbord schrijft, of met statements uit star trek of the X files.
gebruik:
~$ eject < toestel >bvb :
~$ eject /dev/hdc
opent de drive hdc (in mijn geval mijn cdrom drive).
~$ eject -t < toestel >
toestel wordt gesloten.
split is een console tool om grote bestande op te splitsen in kleinere bestandje s. Handig om bvb een grote file op verschillende diskettes te zetten. Het wordt niet veel gebruikt , maar een variant ervan csplit kan ook handig zijn. fsplit kan files splitten aan de hand van de tekst in de file.En dus is dit wel handig bij het programmeren.
vb:
~$ split -bytes=1m grootbestandverdeeld grootbestand in bestanden van 1 megabyte (m = MB, k = KB, b = 512 bytes)
Het midden van het scherm moet vlak voor de ogen staan indien de gebruiker recht voor zich uit kijkt. Het scherm moet minimum op 50 cm van de ogen staan.
Scherm toetsenbord en schouder moeten op een rechte lijn liggen, dus niet het toestenbord voor je en het scherm rechts van je.
Dit is het changes log:
* Sun Jul 29 2001 : Sven Vermeulen <sven.vermeulen@rug.ac.be>
- Overgestapt naar eigen layout.
* Thu Aug 2 2001 : Jan Keirse <jan.keirse@mailanandews.com>
- License verandert van GPL naar FDL
- Manual volledig aangepast aan nieuwe structuur en layout.
- Fortune toegevoegt.
- Shell script gemaakt om datum aan changes.txt toe te voegen (dch.sh).
(kwestie van gemakkelijk te zijn)
- MakeIt script aangepast om ook tarball met enkel de sources te maken.
- MakeIt script aangepast om een nieuwe directory te creeeren bij de-
compressie in plaats van alles in de actieve dir te plaatsen.
* Thu Aug 9 2001 : Jan Keirse <jan.keirse@mailandnews.com>
- Een aantal opties aan df toegevoegd.
- aee toegevoegt (tekst van Blokkie)
- a2ps toegevoegt
* Fri Aug17 2001 : Jan Keirse <jan.keirse@pandora.be>
- SwifT is dagelijks tools aan het inzenden, vandaag heb ik gencat getconf
catchsegv getent en glibcbug toegevoegd.
* Sat Aug18 2001 : Jan Keirse <jan.keirse@pandora.be>
- SwifT heeft vandaag over iconv geschreven
* Mon Aug20 2001 : Jan Keirse <jan.keirse@pandora.be>
- Ik heb een handleiding geschreven voor ed, zeer volledig :-)
- SwifT heeft gisteren over ldd ingezonden
* Wed Aug22 2001 : Jan Keirse <jan.keirse@pandora.be>
- SwifT heeft tekst geschreven over locale, in part admin is chapter
gegevens opvragen toegevoegd getent werd daarnaar verplaatst (en
locale werd erin geplaatst).
- Typfout in tekstje over wc verbetert. (er stond in het voorbeeldje wx
in plaats van wc)
* Sun Aug26 2001 : Jan Keirse <jan.keirse@pandora.be>
- SwifT heeft tekst geschreven over localedef.
- Thibaut Fernagut heeft tekst geschreven over split, ftp, bc en heeft een
toevoeging gedaan aan de tekst over man. Ik heb deze teksten wel een héél
klein beeke aangepast, omdat ze beter in de handleiding zouden passen.
- Uit 'noodzaak' heb ik een hoofdstuk 'wetenschappelijke programma's'
toegevoegd, het is te vinden in de directory science.
* Mon Aug27 2001 : Jan Keirse <jan.keirse@pandora.be>
- Ik heb teksten over cal, id, groups, logname, nohup, sleep, uname, who,
whoami en users toegevoegd.
* Wed Aug29 2001 : Jan Keirse <jan.keirse@pandora.be>
- Ik ben begonnen aan VI iMproved beyond basics, kheb de al bestaande tekst
over vim veranderd in een tekst over vi en ietsje afgeslankt, en hem
daarna bij de tekst-utils uit basiskennis gezet, want dat is tenslotte
basiskennis, in de plaats van de tekst die er stond over vim komt nu een
enorm uitgebreide tekst over vim, met al zijn capaciteiten.
- memusage toegevoegt (tekst van SwifT)
* Fri Sep14 2001 : Jan Keirse <jan.keirse@pandora.be>
- Het project heeft een halve maand stilgelegen, helaas is het schooljaar
terug begonnen en dus was er even geen tijd. Ik heb vandaag chmod toe -
gevoegd, de tekst voor de numerieke toewijzingen was al lang klaar,
maar ik vond geen tijd om die toe te voegen, dat heb ik nu dus gedaan
en aangezien de tekst over rwx er blijkbaar nog niet was heb ik die
ook maar toegevoegd.
* Sat Sep29 2001 : Jan Keirse <jan.keirse@pandora.be>
- Makefile geschreven
- README file geschreven (over Makefile)
- ldconfig toegevoegd (tekst van SwifT)
- lsn toegevoegd (tekst van SwifT)
- tzselect toegevoegd (tekst van SwifT)
- zdump toegevoegd (tekst van SwifT)
* Thu Oct 4 2001 : Jan Keirse <jan.keirse@pandora.be>
- Opgedeeld in parts (verdere verdeling is nog nodig, 1 hoodstuk voor een
commando is wat overdreven).
* Fri Oct 5 2001 : Jan Keirse <jan.keirse@pandora.be>
- Begonnen met proofreaden en aanvullen.
Vervoledigd:
- ls, cd, chown, chgrp
- unix bestandssysteem
- Informatie toegevoegd voor auteurs, indien je teksten wil schrijven,
lees dit dan!
* Sat Oct 6 2001 : Jan Keirse <jan.keirse@pandora.be>
- dd en bash intro toegevoegd (SwifT)
- Foutje uit Makefile weg.
- tarball met alles is niet langer beschikbaar wegens nutteloos.
* Mon Oct29 2001 : Jan Keirse <jan.keirse@pandora.be>
- Files part toegevoegd.
- Head toegevoegd.
- Cross references voorbereid (please don't ever make me do that again).
* Fri Nov 9 2001 : <jan.keirse@pandora.be>
Vervolledigd:
- euhm, zou je geloven dat ik het niet meer weet, maar enfin, alles
tussen chmod en ln is nu volledig, behalve du. (in basics)
* Thu Dec20 2001 : <jan.keirse@pandora.be>
- examens gehad, lang weggeweest (meer dan een maand :-( )
- Informatie over drives (/dev/hda en zo) toegevoegd, thanks supc.
- sync toegevoegd (thanks swift)
- aspell toegevoegd (thanks swift)
- tload toegevoegd
* Mon Feb18 2002 : <jan.keirse@pandora.be>
- klein latexfoutje zorgde voor onbegrijpelijkheid (bedankt, Hugo, voor het
melden van deze fout).
* Wed Feb20 2002 : <jan.keirse@pandora.be>
- een grote hoop typo's verwijderd (nogmaals, bedankt Hugo)
* Thu Feb21 2002 : <jan.keirse@pandora.be>
- Oeps, mijn correcties waren maar povertjes, sorry.
* Sun Feb24 2002 : <jan.keirse@pandora.be>
- En nog maals typo's.
* Sun Jul14 2002 : <jan.keirse@pandora.be>
- Het houd niet op het houd niet op, typo's (bedankt kris)
* Tue Aug27 2002 : <jan.keirse@pandora.be>
- Typo's of wat had je gedacht (alweer bedankt kris)
\tth_fileclose0x80e7878
Version 1.1, March 2000
Copyright © 2000 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
The purpose of this License is to make a manual, textbook, or other written document ``free'' in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
This License is a kind of ``copyleft'', which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The ``Document'', below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as ``you''.
A ``Modified Version'' of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
A ``Secondary Section'' is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
The ``Invariant Sections'' are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License.
The ``Cover Texts'' are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License.
A ``Transparent'' copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not ``Transparent'' is called ``Opaque''.
Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LATEX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only.
The ``Title Page'' means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, ``Title Page'' means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.
You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
You may also lend copies, under the same conditions stated above, and you may publicly display copies.
If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.
You may add a section entitled ``Endorsements'', provided it contains nothing but endorsements of your Modified Version by various parties - for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice.
The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
In the combination, you must combine any sections entitled ``History'' in the various original documents, forming one section entitled ``History''; likewise combine any sections entitled ``Acknowledgements'', and any sections entitled ``Dedications''. You must delete all sections entitled ``Endorsements.''
You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an ``aggregate'', and this License does not apply to the other self-contained works thus compiled with the Document, on account of their being thus compiled, if they are not themselves derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate.
Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail.
You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License ör any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.
To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
Copyright © YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled ``GNU Free Documentation License''.If you have no Invariant Sections, write ``with no Invariant Sections'' instead of saying which ones are invariant. If you have no Front-Cover Texts, write ``no Front-Cover Texts'' instead of ``Front-Cover Texts being LIST''; likewise for Back-Cover Texts.
If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
| |
|
|
1Dit is een directory met links naar alle hardware
2voor mensen die nog niet veel weten van unix: een harde schijf wordt opgedeeld in partities, in windows is dat er meestal één, maar je kunt er ook meerdere maken, dan krijg je in windows bvb. C en D die op één harde schijf staan, in unix worden meestal meerdere partities gemaakt, vooral door ervaren gebruikers, omdat dit enorm veel voordelen heeft.
3mounten is het opnemen van partities of devices in de directorystructuur, zodat ze bruikbaar zijn
4Ter informatie: de huidige dir is altijd ./ en de bovenliggende ../
5path in het Engels
6Het commando 'dir' bestaat ook in linux, het heeft als resultaat ls -l
7Bvb. bij een shell-script of een programma
8zie een bestand als een verwijzing naar de ruimte op de harde plaats, dan is de inode die ruimte
9a staat voor all
10df staat voor disk free
11h staat voor human readable
12l staat voor local
13maar wel niet bij elk programma!
14cli: Command line interface
15Vroeger was dat ed
16n staat hier natuurlijk voor een natuurlijk getal
17Dit verwijdert dus een line-break
18wc staat voor word count
19ook sysvinit
20Advanced power management, zorgt er ondermeer voor, in combinatie met apmd, dat je pc na het afsluiten van je OS wordt afgezet
21Dit wil zeggen dat de editor niet line-based is, maar screen based, om het simpel uit te drukken, in een screen oriented editor hebben de omhoog en omlaag pijltjes op je toetsenbord nut, in een line-based editor niet.
22gebruik hiervoor het commando :syntax on , je kunt dit ook instellen in je .vimrc, zodat het standaard aanstaat: voeg een lijn met daarop syntax on toe.
23doe dit met de optie set showmatch, je kunt deze eventueel invoeren in je .vimrc
24Dit doe je met de optie set hlsearch
25tabs en spaties zijn voorbeelden van witkarakters
26case sensitive: Hoofdletter is niet gelijk aan Kleine letter
27bvb. een 386 met 2 mb ram en kernel 1.9
28dit is trouwens bijna altijd het geval in helpbestanden en menus.
29+ en - stellen eigenlijk ook de volgende en vorige lijn voor, je kunt ze dus ook gebruiken in bvb het move commando
30wysiwyg: what you see is what you get
31In dit geval gaat het om Jan Keirse, niet per se om een van de andere auteurs
32Dit is overigens niet lateks maar Lach-Tech of Lei-Tech uitgesproken
33Wat dan weer niet wil zeggen dat het resultaat lelijk is, velen vinden dat ze er professioneel en zelfs mooi uitzien, maar flashie zullen ze meestal wel niet zijn
34virtueel, want je kunt enkel bewijzen dat er een bug is, niet dat er geen is
35Dit is achtergrondinformatie, die de gebruiker kan lezen om de opties te begrijpen, maar die genegeerd worden door het programma zelf
36http://www.rpm.org
37http://www.linux-mandrake.com/cooker/urpmi.html
38http://bazar.conectiva.com.br/ godoy/apt-howto/index.html
39http://www.conectiva.com
40http://www.gnupg.org
41http://www.pgpi.com
42http://RFC.net/rfc2440.html
43http://www.gnupg.org/gph/en/manual.html
44dat is eigenlijk aangeraden
45bijvoorbeeld http://www.keyserver.net
46http://www.mutt.org
47http://www.mutt.org
48Je kan gebruik maken van simpele MTAs om dit probleem te overkomen. SMTP is hiervoor zeer geschikt.
49 "http://www.inf.enst.fr/ demaille/a2ps/"
50maand = een getal van 1 - 12, niet de naam van de maand