Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een...

51
Introductie tot Linux Bart Blanckaert, Geert De Maere, Johan Camp, Nele Custers 24 oktober 2002

Transcript of Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een...

Page 1: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

Introductie tot Linux

Bart Blanckaert, Geert De Maere, Johan Camp, Nele Custers

24 oktober 2002

Page 2: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

2

Copyright c© 2002 Geert De Maere

Toestemming is gegeven voor het kopieren, verdelen en/of ve-randeren van dit document onder de voorwaarden van de GNUFree Documentation License, Versie 1.1 of enige latere versie diewordt uitgebracht door de Free Software Foundation; zonder In-variant Sections, Front-Cover Text noch Back-Cover Text.

Page 3: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

Inhoudsopgave

1 Inleiding 71.1 Een korte geschiedenis van Linux . . . . . . . . . . . . . . . . 71.2 Copyright - GPL . . . . . . . . . . . . . . . . . . . . . . . . . 81.3 Architectuur . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.4 De shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.5 X-Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.6 Distributies . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 Basis-concepten van Linux 152.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.2 Inloggen en uitloggen . . . . . . . . . . . . . . . . . . . . . . . 152.3 Je wachtwoord veranderen . . . . . . . . . . . . . . . . . . . . 172.4 Bestanden en mappen . . . . . . . . . . . . . . . . . . . . . . 182.5 Beheer van bestanden en mappen . . . . . . . . . . . . . . . . 222.6 Het systeem afsluiten . . . . . . . . . . . . . . . . . . . . . . . 27

3 De window manager KDE 3 29

4 Gebruikers, groepen en toegangsrechten 334.1 Gebruikers in Linux . . . . . . . . . . . . . . . . . . . . . . . 334.2 Gebruikersbeheer . . . . . . . . . . . . . . . . . . . . . . . . . 354.3 Groepen in Linux . . . . . . . . . . . . . . . . . . . . . . . . . 374.4 Toegangsrechten . . . . . . . . . . . . . . . . . . . . . . . . . 39

5 Processen en procesbeheer 455.1 Processen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455.2 Voorgrond en achtergrond processen . . . . . . . . . . . . . . 465.3 Processen in de achtergrond zetten en stoppen . . . . . . . . 46

6 Syntax van de gebruikte commando’s 49

3

Page 4: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

4 INHOUDSOPGAVE

Page 5: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

Lijst van figuren

1.1 KDE 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.2 Blackbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.3 Gnome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.4 IceWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.1 KDE passwd programma . . . . . . . . . . . . . . . . . . . . 182.2 Deel van de mappen-structuur van een Linux systeem . . . . 192.3 Konquerer: bestanden en mappen in je home directory . . . . 212.4 Konquerer: navigatie en informatie . . . . . . . . . . . . . . . 22

3.1 KDE 3: een window manager van formaat . . . . . . . . . . . 30

4.1 Dialoogvenster voor paswoord systeembeheerder . . . . . . . 374.2 Het grafische programma voor gebruikersbeheer . . . . . . . . 384.3 Een gebruiker toevoegen . . . . . . . . . . . . . . . . . . . . . 38

5

Page 6: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

6 LIJST VAN FIGUREN

Page 7: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

Hoofdstuk 1

Inleiding

1.1 Een korte geschiedenis van Linux

UNIX was lange tijd het meest populaire besturingssysteem over de helewereld. Het is oorspronkelijk ontwikkeld door AT&T als een multitasking1

systeem voor minicomputers en grote mainframes in 1970.

Er bestaan veel verschillende versies van UNIX, geschikt voor personal com-puters tot supercomputers zoals de Cray Y-MP. De meeste versies zijnechter zeer duur: een UNIX System V versie voor een i3862 computer kostteongeveer 1600 Euro.

Linus Torvalds studeerde in 1990 aan de Universiteit van Helsinki. Om detheoretische kennis van besturingssystemen om te zetten in de praktijk on-twikkelde prof. Tanenbaum de UNIX-variant MINIX. MINIX was echter eenvrij beperkt besturingssysteem en was ontworpen met het doel een duidelijkgestructureerd systeem voor te leggen aan studenten, niet om echt als uitge-breid besturingssysteem in het dagelijks leven gebruikt te worden. Daarombesloot Linus om als hobby zelf een besturingssysteem te schrijven.

Het besturingssysteem moest een vrij beschikbare versie worden van UNIX(zie ook 1.2). Versie 0.02 werd door Linus op de comp.os.minix nieuwsgroepgepost, samen met de uitnodiging voor iedereen om aan het besturingssys-teem mee te werken. Na 3 jaar was dan eindelijk versie 1.0 af. Uit testenbleek dat Linux op een 486 resultaten behaalde die vergelijkbaar waren meteen gemiddeld werkstation van Sun Microsystems 3.

1multitasking laat een gebruiker toe om meer dan 1 taak (bijvoorbeeld een toepass-ingsprogramma) tegelijkertijd uit te voeren

2met i386 wordt een IBM-compatibele PC met intel 80386 processor bedoeld3deze werkstations waren veel duurder dan een i486 en hadden SunOS als bestur-

ingssysteem, een variant van UNIX System V

7

Page 8: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

8 HOOFDSTUK 1. INLEIDING

Ondertussen is de laatste stabiele Linux kernel versie 2.4.19 4. De kernel kangebruikt worden op personal computers, DEC alpha’s, IBM S/390 computersenzovoort.

1.2 Copyright - GPL

Linux is uitgebracht onder de zogenaamde GNU5 General Public License,of GPL. Een volledige uitleg over GNU en de GPL zou ons te ver leiden.Hieronder volgen enkele voorname gevolgen van deze GPL:

• Het auteursrecht behoort tot de schrijver van de software (in tegen-stelling tot ”public domain” software)

• Software uitgebracht onder de GPL is niet altijd gratis. De auteurmag geld vragen voor het door hem ontwikkelde programma.

• De GPL staat toe dat iemand de software aanpast en daarna zijn eigenversie verdeelt maar deze versie moet dan ook uitgebracht wordenonder de GPL. Dit is ongeveer wat er gebeurd met de verschillendeLinux distributies die je kan kopen op CD-ROM of DVD. Mandrakedownload de Linux kernel, een aantal andere programma’s voor Linuxen zet ze samen op een DVD. Zij mogen deze DVD dan ook verkopenmaar alle software die erop staat wordt weer uitgebracht onder de GPL(voor meer informatie over distributies zie 1.6).

1.3 Architectuur

Het Linux systeem bestaat uit 3 belangrijke verzamelingen van code:

• De kernel is verantwoordelijk voor het onderhouden van alle belangri-jke abstracties van een besturingssysteem (welk merk en type hardeschijf, processor, geheugen, ...), inclusief dingen als het beheer vanvirtueel geheugen en processen.

• De systeembibliotheken definieren een standaard verzameling van func-ties waarmee programma’s kunnen interageren met de kernel.

• De utilities zijn programma’s die bepaalde taken voor het beheer vanhet systeem uitvoeren. Sommigen worden 1 keer uitgevoerd, andere(bekend onder de naam daemons) worden continue uitgevoerd en be-handelen inkomende netwerkverbindingen, log in aanvragen enzovoort.

4zie voor up-to-date informatie http://www.kernel.org5voor meer informatie over GNU’s Not Unix zie http://www.gnu.org/, je kan hier ook

terecht voor informatie over de GPL

Page 9: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

1.4. DE SHELL 9

Systeembeheer programma’s gebruikerprogramma’s

Gedeelde bibliotheken (shared libraries)

Linux kernel

Laadbare kernel-modules

We doorlopen deze structuur van beneden naar boven:De Linux kernel heeft de mogelijkheid om bepaalde delen van de kernelcode te laden op aanvraag. Er zijn verschillende redenen waarom dit nuttigis. Voor iemand die bezig is een device driver te schrijven is het vervelendwanneer hij de volledige kernel opnieuw moet compileren iedere keer na-dat hij een regeltje aan zijn device driver6 heeft veranderd. Standaard kanje vertrekken van een minimale kernel zonder extra device drivers. Dezeworden dan eventueel geladen op het moment dat ze nodig zijn.

De kernel zelf vormt de kern van het besturingssysteem. Het zorgt vooralle nodige functionaliteit om processen te draaien en het voorziet systeem-diensten om processen toegang te geven tot de hardware.

De interface die het besturingssysteem aanbiedt aan programma’s wordtechter niet door de kernel onderhouden. Programma’s gebruiken hiervoor desysteembibliotheken, die op hun beurt gebruik maken van de functionaliteitvan de kernel. De systeembibliotheken bieden verschillende functies aan.Op het eenvoudigste niveau laten ze gebruikerprogramma’s toe om gebruikte maken van de hardware.

Tenslotte zijn er de gebruikerprogramma’s en systeembeheer programma’sdie gebruik maken van de systeembibliotheken om bijvoorbeeld een bestandte openen.

Even een voorbeeldje om de samenwerking tussen de componenten te ver-duidelijken. Wanneer een programma een bestand wil openen, gebruikthet daarvoor een functie uit een systeembibliotheek. De systeembibliotheekzorgt ervoor dat de aanvraag en de juiste parameters worden doorgegevenaan de kernel. De kernel zal de aanvraag verwerken en doorspelen aan dedevice driver van de harde schijf waarop het bestand zich bevindt. Tenslottezorgt deze device driver (een laadbare kernel-module) ervoor dat de kernel dejuiste bits ontvangt. Deze bits worden door de kernel dan weer doorgegevennaar de systeembibliotheek, die ze in het juiste formaat doorgeeft aan hetprogramma.

1.4 De shell

Hoe kan je nu met het besturingssysteem UNIX of Linux werken? Je hebteen hulpprogramma nodig dat opdrachten netjes aan het besturingssysteem

6een device driver is een programma dat een bepaald apparaat (device) beheert zoalseen printer, CD-ROM lezer of diskette-station

Page 10: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

10 HOOFDSTUK 1. INLEIDING

doorgeeft. Dit programma wordt in Linux de shell genoemd (men spreektvanwege zijn basisfunctie ook ooit over de ”command interpreter”). De shellheeft als doel om de gebruikers de mogelijkheid te geven (hulp)programma’svan Linux op te roepen.

Linux levert een aantal shells, maar de zogenaamde Bourne-again-shell ofBash (gebaseerd op de Bourne-shell geschreven door Steve Bourne middenjaren 70) is voor de meeste beginners de interessantste.

1.5 X-Window

X-Window is de grafische gebruikersinterface van Linux. Onder X-Windowbestaan zowel clients als servers. Hier zijn de definities een beetje andersdan in andere omgevingen. De server onder X-Window (kortweg X-server) iseen programma dat zorgt voor de presentatie van informatie op het scherm.Afhankelijk van de grafische kaart en de schermcapaciteiten bestaan er heelwat X-servers onder Linux.

Toepassingen onder X-Window zijn dan de zogenoemde X-clients, die viade X-server hun uitvoer op het scherm weergegeven krijgen. Normaal draaiter een X-server op een systeem. Deze X-server bedient echter wel tal vanX-clients.

X-server en X-clients staan met elkaar in contact via een uniform X-protocol.Dit is een protocol dat opgesteld is om grafische gegevens, muisbeweging endergelijke als informatie uit te wisselen. Bij dit concept maakt het niet uitof de X-server en de X-client zich op dezelfde computer bevinden of niet.

Het uitzicht en het gedrag van de afzonderlijke X-clients wordt voor een deelbepaald door de zogenoemde window manager. Hij bepaalt hoe de groottevan vensters veranderd wordt of hoe een vensterkader eruit ziet. Hierondervind je enkele screenshots van verschillende window managers.

1.6 Distributies

We hebben reeds gezien dat de Linux kernel alleen niet voldoende is alsbesturingssysteem. Daarnaast zijn er een heel aantal commando’s. Maar ookmet de kernel en alle commando’s zijn de meeste gebruikers tegenwoordigniet tevreden. Ze hebben graag een X-Window omgeving en een aantaltoepassingsprogramma’s hiervoor (web-browser, bestandsbeheer, ...).

Er zijn verschillende bedrijven die op deze vraag inspelen. Zij stellen eenzogenoemde distributie samen die bestaat uit een installatieprogramma, dekernel, commando’s, een aantal windowmanagers, configuratie-programma’s,toepassingsprogramma’s, spelletjes enzovoort. Deze distributies kan je dan

Page 11: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

1.6. DISTRIBUTIES 11

Figuur 1.1: KDE 3

Figuur 1.2: Blackbox

Page 12: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

12 HOOFDSTUK 1. INLEIDING

Figuur 1.3: Gnome

Figuur 1.4: IceWM

Page 13: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

1.6. DISTRIBUTIES 13

downloaden via het internet of kopen op CD-ROM of DVD. Enkele bekendedistributies zijn Redhat, SuSE, Debian en Mandrake. Wij zullen in de lesgebruike maken van de distributie van Mandrake en de window managerKDE 3.

Page 14: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

14 HOOFDSTUK 1. INLEIDING

Page 15: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

Hoofdstuk 2

Basis-concepten van Linux

2.1 Inleiding

Linux is een multitasking en multiuser besturingssysteem, wat betekent datverschillende mensen verschillende programma’s kunnen uitvoeren op het-zelfde moment. Dit is een wezenlijk verschil met MS-DOS (en ook metWindows 9x). Daarom moet je jezelf ook altijd identificeren wanneer je in-logt op een Linux systeem. Je moet daarvoor een gebruikersnaam en eenwachtwoord ingeven.

Op traditionele UNIX systemen kent de systeembeheerder je een gebruik-ersnaam en initieel wachtwoord toe wanneer je een account op het systeemkrijgt. Indien je zelf Linux installeert moet je dit zelf doen.

In volgende hoofdstukken worden een aantal basis-concepten van Linuxbekeken. De meeste dingen kan je zowel via de shell als via een windowmanager doen. In dat geval wordt het concept op deze twee verschillendemanieren verduidelijkt.

2.2 Inloggen en uitloggen

In- en uitloggen via de shell/console

Linux heeft verschillende zogenaamde virtuele consoles (de console van eensysteem zijn de monitor en het toetsenbord die erop aangesloten zijn). Viaeen virtuele console kan je inloggen, waarna je een shell ter beschikkingkrijgt. Je kan de verschillende consoles bereiken door de toetsencombinatieCTRL+ALT+Fi waarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel jeover naar de window manager).

Onderstaande stappen beschrijven het inloggen op een Linux systeem:

15

Page 16: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

16 HOOFDSTUK 2. BASIS-CONCEPTEN VAN LINUX

• Schakel over naar de 2de virtuele console (CTRL+ALT+F2)

• Je ziet nu:

Mandrake Linux release 9.0 (dolphin) for i586

Kernel 2.4.19-16mdk on an i686 / tty2

FREGGEL login:

Voer de gebruikersnaam ”student” in en druk op ENTER.

• Vervolgens vraagt Linux je om je wachtwoord te geven:

Mandrake Linux release 9.0 (dolphin) for i586

Kernel 2.4.19-16mdk on an i686 / tty2

FREGGEL login: student

Password:

Voer het wachtwoord in dat je van de docent krijgt.

• De karakters die je ingeeft zijn niet te zien op het scherm. Indien jeeen fout maakt in het wachtwoord (of de gebruikersnaam) zie je hetvolgende:

Mandrake Linux release 9.0 (dolphin) for i586

Kernel 2.4.19-16mdk on an i686 / tty2

FREGGEL login: student

Password:

Login incorrect

login:

Je zal opnieuw moeten proberen.

Om uit te loggen typ je gewoon exit achter de prompt :

Mandrake Linux release 9.0 (dolphin) for i586

Kernel 2.4.19-16mdk on an i686 / tty2

FREGGEL login: student

Password:

[student@FREGGEL student]# exit

Page 17: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

2.3. JE WACHTWOORD VERANDEREN 17

In- en uitloggen via X-Window

Vroeger kon je enkel de X-server opstarten door het commando startx tetypen nadat je via een virtuele console had ingelogd. Tegenwoordig zijner ook grafische log-in programma’s. Het uitzicht van een grafisch log-inprogramma is afhankelijk van de gebruikte distributie.

Je gebruikt het programma als volgt:

• Schakel over naar het grafische log-in programma via de toetsencom-binatie CTRL+ALT+F71

• Klik op het silhouet waaronder student staat.

• Vul het wachtwoord dat je van de leerkracht hebt gekregen in.

• Je kan eventueel ook nog kiezen welke windowmanager je wil gebruikendoor er een te selecteren uit de vervolgkeuzelijst. Kies voor KDE.

• Klik tenslotte op ”starten!”.

Om uit te loggen klik je op de knop aan de linker-onderkant van het scherm(de plaats waar in Windows de start-knop staat). Het menu dat nu tevoorschijn komt noemen we het Mandrake-menu (naar analogie met hetstart-menu van Windows). Vervolgens klik je op ”uitloggen” en beantwoordde vraag opnieuw door op ”ok” te klikken.Let op: deze procedure is voor iedere window manager verschillend.

2.3 Je wachtwoord veranderen

Je wachtwoord veranderen via de shell

Je verandert je wachtwoord als volgt:

• Log in via een virtuele console.

• Typ passwd achter de prompt en druk op ENTER.

• Voer je huidige wachtwoord in.

• Voer het wachtwoord in dat je vanaf nu wil gebruiken.

• Voer dit laatste wachtwoord nogmaals in (om typefouten te vermij-den).

1Indien de X-server nog niet opgestart is dient dit eerst te gebeuren. Dit kan door hetcommando ”startx” in te geven in een van de virtuele consoles.

Page 18: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

18 HOOFDSTUK 2. BASIS-CONCEPTEN VAN LINUX

Figuur 2.1: KDE passwd programma

Je wachtwoord veranderen in de X-Window omgeving

Via de window manager KDE 3 zullen we nu ook ons wachtwoord veran-deren:

• Log in via het grafische programma of schakel over naar de windowmanager.

• Selecteer achtereenvolgens uit het Mandrake-menu ”configuratie”, ”Overige”en ”Kpasswd”. Het passwd programma wordt zo opgestart (zie figuur2.1).

• Voer jouw huidige wachtwoord in.

• Voer het wachtwoord in dat je vanaf nu wil gebruiken.

• Voer dit laatste wachtwoord nogmaals in (om typefouten te vermij-den).

2.4 Bestanden en mappen

Bestanden en mappen structuur in Linux

Bestanden worden geıdentificeerd door hun bestandsnaam. Er is geen stan-daard formaat voor bestandsnamen: een bestandsnaam kan elk karakterbevatten behalve ”/” en mag maximum 256 karakters lang zijn. Hetzelfdegeldt voor namen van mappen.

De meeste Linux systemen hebben een standaard layout voor bestandenen mappen, zodat ”system resources” en programma’s gemakkelijk terugte vinden zijn. Deze layout heeft een boomstructuur (directory tree), diestart bij de map ”/”, ook wel root directory (wortel van de boom) genoemd.Meteen onder de root directory zitten de belangrijke subdirectories ”bin”

Page 19: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

2.4. BESTANDEN EN MAPPEN 19

bin dev etc home root user

jan karin leen piet steven

school documenten

engels informatica

muziek

/

school muziek

nederlands duits

Figuur 2.2: Deel van de mappen-structuur van een Linux systeem

met programma’s die alle gebruikers kunnen uitvoeren, ”etc” met belangri-jke configuratie-bestanden en ”home” waarin alle gebruikers een eigen maphebben (zie figuur 2.2).

Bestanden en mappen structuur in de shell

De mappen en bestandsnamen worden in de shell gescheiden door een slash(/). We zullen deze structuur even onderzoeken:

• Log in via virtuele console 2

• Na het inloggen kom je automatisch in jouw home-directory. Dit isde directory /home/gebruikersnaam, in ons geval dus /home/student.De home directory wordt in de shell-prompt vervangen door een tilde(~).

• Om de inhoud van een map te bekijken gebruik je in Linux het com-mando ls.

[student@FREGGEL student]# ls

KDesktop LEESMIJ documenten muziek public_html school tmp

[student@FREGGEL student]#

• Om van map te wisselen heeft Linux het commando cd (change direc-tory). Ga naar de map school en vervolgens naar de map informatica(let op de prompt die verandert):

Page 20: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

20 HOOFDSTUK 2. BASIS-CONCEPTEN VAN LINUX

[student@FREGGEL student]$ cd school/

[student@FREGGEL school]$ cd informatica/

[student@FREGGEL informatica]$

• Welke bestanden staan er in deze map?

• Om te weten in welke map je precies staat kun je het commando pwd

(print working directory) ingeven.

[student@FREGGEL informatica]$ pwd

/home/student/school/informatica

[student@FREGGEL informatica]$

• In iedere map is er een verwijzing naar de map erboven (de map waar-toe de map waar we op dit moment in zitten behoort). Deze verwijzingwordt weergegeven door 2 punten (..). Wanneer we dus cd .. typen,gaan we naar deze map.

[student@FREGGEL informatica]$ cd ..

[student@FREGGEL school]$

• Tenslotte kun je altijd teruggaan naar je home-directory door gewooncd te typen. Ga eerst naar de map ”nederlands” en vervolgens naarje home directory.

[student@FREGGEL school]$ cd nederlands/

[student@FREGGEL nederlands]$ cd

[student@FREGGEL student]$

Tot nu toe hebben we enkel zogenoemde relatieve padnamen gebruikt. Eenpadnaam is een opeenvolging van namen van mappen gescheiden door een”/”, eventueel gevolgd door een bestandsnaam. Relatieve padnamen be-ginnen altijd met het karakter van de eerste map in de padnaam. Re-latief betekent hierbij dat je de padnaam bekijkt vanuit de map waarinmen je op dat moment bevindt. Wanneer we bijvoorbeeld cd nederlands

typen, dan willen we naar de map ”nederlands”die zich in de huidig mapbevindt (huidige map is de map waarin we ons op dat moment bevin-den). Er bestaan echter ook absolute padnamen. Deze beginnen altijd

Page 21: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

2.4. BESTANDEN EN MAPPEN 21

Figuur 2.3: Konquerer: bestanden en mappen in je home directory

met ”/”. Absoluut wil dus zeggen dat je de padnaam bekijkt vanuit deroot directory, de wortel van je mappenboom. Om naar dezelfde map”nederlands”te gaan, maar dan met een absolute padnaam, gebruik je duscd /home/student/school/nederlands.

In de volgende kleine oefening werken we steeds met absolute padnamen:

• Ga naar de map documenten in je home directory.

[student@FREGGEL student]$ cd /home/student/documenten/

[student@FREGGEL documenten]$

• Ga naar de map informatica. Welk commando gebruik je hiervoor?

Bestanden en mappen structuur in de X-Window omgeving

We gaan dezelfde mappenstructuur eens verkennen in de X-Window omgev-ing (met window manager KDE 3).

• Log in via de grafische interface (als je al ingelogd bent, schakel danover naar de X-Window omgeving via de toetsencombinatie ALT+CTRL+F7).

• Selecteer ”Persoonlijke map” uit het Mandrake-menu.

• Een programma gelijkaardig aan de Windows Verkenner start nu op, enje bevindt je opnieuw in jouw home directory (zie figuur 2.3). De naam

Page 22: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

22 HOOFDSTUK 2. BASIS-CONCEPTEN VAN LINUX

Figuur 2.4: Konquerer: navigatie en informatie

van dit programma is Konquerer (terug te vinden in de titelbalk).Je vindt de verschillende mappen en het bestand ”LEESMIJ” terug.Door op een map te klikken kan je de inhoud van die map bekijken.

• Klik op de map ”school” en vervolgens op de map ”informatica”. Jeziet hier twee bestanden staan. Als Linux de extensie van het bestandherkent (net zoals in Windows, indien een bepaald bestandstype isgekoppeld aan een bepaald programma), dan kan je dat bestand bek-ijken door erop te klikken. Klik bijvoorbeeld op het bestand ”cur-sus linux.tex”.

• Om verder te navigeren zijn er een aantal knoppen ter beschikking.Je kan bijvoorbeeld terug naar de vorige plaats door op de blauwe pijlnaar links te klikken. Je kan naar de hoger liggende map gaan doorop de pijl naar boven te klikken. Je kan ook navigeren door een mapte kiezen in het linkerdeel van het scherm.

• Navigeer eens rustig door je home-directory en let daarbij eens op deinformatie die je krijgt in de statusbalk.

• Tenslotte kan men zien in welke map men zich bevindt in de balk achter”Location”. Je kan hier eventueel ook het volledige padnaam invoerenvan de map waarvan je de inhoud wil bekijken. De padnaam beginthier met ”file:” omdat je Konquerer ook kan gebruiken om webpagina’ste bekijken.

• Hoe geraak je in 1 keer terug in je home-directory?

2.5 Beheer van bestanden en mappen

Beheer van bestanden en mappen via de shell

We zullen leren hoe je een bestand kan aanmaken, verplaatsen en kopierenvia de shell aan de hand van volgende oefening:

• Log in via een virtuele console.

• Het commando om een directory aan te maken is mkdir. Om bijvoor-beeld de directory ”test” te maken doe je het volgende:

Page 23: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

2.5. BEHEER VAN BESTANDEN EN MAPPEN 23

[student@FREGGEL student]$ mkdir test

[student@FREGGEL student]$ ls

KDesktop LEESMIJ documenten muziek public_html school test tmp

[student@FREGGEL student]$

• Vervolgens zullen we het ”LEESMIJ” bestand kopieren naar de map”test”. Dit gebeurt met het commando cp waaraan 2 argumentenmoeten meegegeven worden: het bestand dat gekopieerd moet wordenen de plaats waarnaar het bestand gekopieerd dient te worden. Dezeplaats (padnaam) kan op verschillende manieren gegeven worden:

– als een volledige padnaam (bv. /home/student/test/LEESMIJ)of als relatieve padnaam (bv. test/LEESMIJ)

– met (bv. test/LEESMIJ) of zonder bestandsnaam (bv test/) (inhet laatste geval wordt de bestandsnaam van het te kopieren be-stand overgenomen)

– indien je de bestandsnaam opgeeft mag dit een andere naam zijndan die van het te kopieren bestand (bv. test/Testbestandje)

Zo meteen gaan we deze mogelijkheden uitproberen. Eerst kijken wehoe we een bestand kunnen verwijderen.

• Om een bestand te verwijderen is er het commando rm. Probeer nu elkehierboven beschreven manier uit om het bestand LEESMIJ te kopierennaar de map ”test”. Nadat je het bestand gekopieerd hebt bekijk jede inhoud van de map test zodat je zeker weet dat het kopieren geluktis. Tenslotte verwijder je het gekopieerde bestand weer zodat je devolgende mogelijkheid kan uitproberen.

• Om een map te verwijderen zijn er 2 mogelijkheden:

1. Je gaat naar die map, verwijdert alle bestanden in de map, gaatterug een niveau hoger in de mappenstructuur en verwijdert dande map met het commando rmdir (remove directory):

[student@FREGGEL test]$ cd test

[student@FREGGEL test]$ rm *

rm: remove regular empty file ‘LEESMIJ’? y

[student@FREGGEL test]$ cd ..

[student@FREGGEL student]$ rm test

rm: remove directory ‘test’? y

[student@FREGGEL student]$

Page 24: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

24 HOOFDSTUK 2. BASIS-CONCEPTEN VAN LINUX

2. Je gaat een niveau hoger staan dan de map zelf en gebruikt hetcommando rm -r. De optie -r vertelt rm dat de map recursiefmoet worden verwijderd. Je kan op die manier een grote tak vande mappen-boom in een keer ”afhakken”, in plaats van twijgjeper twijgje te verwijderen:

[student@FREGGEL student]$ rm -r test

rm: descend into directory ‘test’? y

rm: remove regular empty file ‘test/LEESMIJ’? y

rm: remove directory ‘test’? y

[student@FREGGEL student]$

Dit is een zeer gevaarlijke optie: als gebruiker root kan je opdeze manier de alle bestanden in een keer verwijderen met hetcommando rm -rf /

• Wanneer je niet meer heel goed weet hoe een commando precies werkt,of welke opties dat commando heeft, kun je de optie -h of --help ge-bruiken. Om bijvoorbeeld te weten te komen wat f in de optie ”-rf”van hierboven doet, typ je rm --help. De uitleg die hierbij wordtgegeven is meestal vrij summier. Je kan extra uitleg over een com-mando opvragen met het commando man of info2

Typ bijvoorbeeld eens man rm. Je vindt hier een beetje extra uitleg,maar ook een verwijzing naar de info-pagina’s. Je kan door de uitlegscrollen met behulp van de ENTER toets. Stoppen doe je met detoets q. Typ vervolgens eens info rm. Hier vind je al heel wat meerinformatie. Scrollen door de info-pagina’s kan met de pijltjestoets methet pijltje naar beneden. Deze info-pagina heeft echter nog geen struc-tuur. Je kan opnieuw stoppen met de toets q. Als je eens een paginawil zien met structuur, typ dan info latex. Wanneer de cursor zichop de titel van een deel of hoofdstuk bevindt en je drukt op ENTERzal je zien dat je de informatie over dat deel terugvindt.

• Het commando mv dient om bestanden en mappen te verplaatsen. Deargumenten zijn net hetzelfde als bij het cp commando. Verplaatsbijvoorbeeld het LEESMIJ bestand eens naar de map ”documenten”en terug. Je kan een bestand met dit commando ook hernoemen:je verplaatst het naar dezelfde map maar onder een andere naam.

2Vroeger vond je alle informatie via het man commando, tegenwoordig wordt meer enmeer overgeschakeld naar het gebruik van het info commando. Dit heeft te maken met destructuur van man- en info-pagina’s: bij man-pagina’s stond alle informatie achter elkaar,op 1 lange pagina; bij info-pagina’s kan je een hierarchische structuur creeren met linksnaar andere onderdelen. Hierbij kan je beter een onderscheid maken tussen belangrijkeopties, uitgebreidere en minder vaak gebruikte opties, voorbeeldjes enzovoort.

Page 25: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

2.5. BEHEER VAN BESTANDEN EN MAPPEN 25

Wanneer je bijvoorbeeld ”brief” wil hernoemen naar ”brief voor baas”doe je dit met het commando mv brief brief_voor_baas.

• Tenslotte is de zogenoemde tab-completion van Linux ook het ver-melden waard. Wanneer je een gedeelte van de naam van een mapof bestand hebt ingetypt, kun je de shell vragen om de naam te ver-volledigen door op de TAB-toets te drukken. Gebruik dit bijvoorbeeldeens om de inhoud van de map informatica (deze map bevindt zichin de map school) te bekijken. Typ ls sch en druk vervolgens op deTAB-toets. De shell zal dit nu aanvullen en er komt ls school/ testaan. Typ hierachter de letters inf en druk opnieuw op de TAB-toetsen vervolgens op ENTER.

Wanneer er meerdere mogelijkheden zijn kan de shell natuurlijk nietvoor jou kiezen. Als je dan nog 2 keer op de TAB-toets drukt krijgje wel een lijstje van de mogelijkheden te zien. We zullen om ditte demonstreren het bestand cursus_linux.pdf naar de map docu-menten te kopieren. Typ cp sch TAB inf TAB cur TAB. De shellgeeft aan de hand van een pieptoon te kennen dat er meerdere (ofgeen) mogelijkheden zijn. Druk nog 2 keer op de TAB toets. Nu zie jedat er zowel cursus_linux.pdf als cursus_linux.tex in deze mapstaan. Als je nu de letter p typt en nogmaals op de TAB-toets druktkrijg je het juiste bestand. Om onze oefening af te maken typ je nogeen spatie en daarna do TAB en tenslotte op ENTER.

Nu is het tijd geworden om deze commando’s in te oefenen. Schrijf onderiedere opdracht welk commando (of welke commando’s) je gebruikt. Gebruikminimum 1 keer een absolute padnaam, 1 keer een relatieve padnaam, 1 keereen padnaam zonder bestandsnaam op het einde en 1 keer een padnaam meteem bestandsnaam op het einde (hint: je kan 2 dingen combineren).

• Ga naar je home-directory.

• Kopieer het ”LEESMIJ” bestand naar de map ”test”.

• Verplaats het ”LEESMIJ” bestand naar de map ”informatica” onderde naam ”LEESMIJNIET”.

• Kopieer het ”LEESMIJ” bestand in jouw home-directory naar de map”Tekstbestandje” in de map ”test”.

Page 26: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

26 HOOFDSTUK 2. BASIS-CONCEPTEN VAN LINUX

• Verwijder de map ”test”.

Beheer van bestanden en mappen met Konquerer

Om te werken via de shell moet je vele commando’s en opties kennen. Dezekunnen vooral van pas komen wanneer je bepaalde dingen moet automa-tiseren omdat je deze commando’s dan in een script kunt zetten en ze zoautomatisch achter elkaar kan uitvoeren.

Voor het dagelijks gebruik is de shell misschien iets minder handig. Daaromgaan we ook in de grafische omgeving de vorige oefening eens doen:

• Log in of schakel over naar de windowmanager KDE 3. Start opnieuwde verkenner op (”Persoonlijke map” uit het Mandrake-menu).

• Maak de map test aan als volgt: klik met de rechtermuisknop in hetrechter-deel van het vensters (klik wel naast of onder een bestaandemap of bestand). Kies uit het pop-up menu ”nieuw” en vervolgens”map”. Typ de naam ”test” in het invulvakje van het venster datzojuist is verschenen. Klik op de knop ”OK”.

• Ga naar de map test (bv. door erop te klikken).

• Start nog een Konquerer op.

• Sleep het ”LEESMIJ” bestand vanuit deze Konquerer naar de andere(waarin we daarnet de map documenten hebben geopend. Laat het”LEESMIJ” bestand daar vallen (muisknop loslaten). Konquerer zalje nu vragen of je het bestand ”LEESMIJ” naar de map documentenwil kopieren, verplaatsen of er een link naartoe wil maken. Wij kiezenkopieren.

• Je kan het gekopieerde bestand hernoemen door er met de rechter-muisknop op te klikken en uit het pop-up menu ”hernoemen” te kiezen.Hernoem het bestand naar ”LEESMIJNIET”.

• Je kan het gekopieerde bestand verwijderen door er met de rechter-muisknop op te klikken en uit het pop-up menu de optie ”naar prul-lenbak verplaatsen” of ”verwijderen” te kiezen (bij deze laatste optiekan je het bestand achteraf niet meer recupereren). Kies nu ”move totrash”.

Page 27: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

2.6. HET SYSTEEM AFSLUITEN 27

• Verplaats het ”LEESMIJ” bestand van de map ”test” naar de map”informatica” (deze map is onderdeel van de map school).

• Kopieer het ”LEESMIJ” bestand van je home directory naar de map”documenten”.

• Verwijder de map ”test” (optie ”Verwijderen”).

2.6 Het systeem afsluiten

Het afsluiten van een Linux systeem heeft meer gevolgen dan je denkt. Teneerste mag je nooit de computer uitzetten door op de power- of reset-knopte drukken. De Linux kernel houdt namelijk gegevens voor de harde schijfeen tijdje bij in het geheugen vooraleer deze gegevens naar de harde schijfte schrijven. Wanneer je het systeem gewoon uitzet heeft de kernel nietde kans om deze gegevens naar de harde schijf te schrijven en geraakt hetbestandsysteem in de war.

Ten tweede zijn er een heel aantal processen in uitvoering. Wanneer je hetsysteem goed afsluit wordt aan al deze processen gevraagd om te stoppen.Zoniet worden zij midden in hun uitvoering bruusk gestopt.

Als laatste moet je eraan denken dat Linux een multi-user systeem is. Erkunnen een aantal gebruikers ingelogd zijn (en aan het werken zijn) op hetsysteem. Voor hen is het niet interessant als tijdens het bewerken van eentekst plots alles wegvalt omdat jij de PC wil afzetten.

Daarom heeft het shutdown commando als tweede argument de tijd waaropafgesloten moet worden (hh:mm) of na hoeveel minuten er moet afgeslotenworden (+m). Bij het commando shutdown zijn er 2 verschillende opties:-r om opnieuw op te starten (rebooten) en -h om af te sluiten (halt). Omde computer over 2 minuten af te sluiten gebruik je dus het commando:shutdown -h +2. Alle gebruikers die zijn ingelogd krijgen dan de meldingdat het systeem over 2 minuten afgesloten wordt.

Page 28: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

28 HOOFDSTUK 2. BASIS-CONCEPTEN VAN LINUX

Page 29: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

Hoofdstuk 3

De window manager KDE 3

De window manager KDE 3 vertoont grote gelijkenissen met de omgevingdie je in Windows gewoon bent. Ieder venster heeft bijvoorbeeld in derechter bovenhoek een blokje waarmee je het venster kan minimaliseren, eenvierkantje waarmee je het venster kan maximaliseren en een kruisje waarmeeje het venster kan afsluiten. Je kan het venster ook naar een gewenste grootteomvormen door een bepaald hoek te verplaatsen.

KDE 3 heeft ook een taakbalk waarin de programma’s te zien zijn die jeaan het uitvoeren bent en een klok en datum in de rechter benedenhoek (ziefiguur 3.1). Er is ook een soort van start-menu in de linker benedenhoek(zie figuur 3.1).

Niet alles is echter identiek. Bij KDE 3 beschik je niet over 1 maar over4 desktops (bureaubladen). Je kan omschakelen tussen deze bureaubladendoor op het getal 1, 2, 3 of 4 in de taakbalk te klikken. Dit komt ook totuiting wanneer je met de rechter muisknop op de bovenkant van een vensterklikt. Buiten de normale opties om het venster te verplaatsen en van groottete veranderen staat hier ook ”Naar bureaublad” waarmee je een scherm naareen andere desktop kan sturen. De optie ”configuratie”, ”vensterdecoratie”dient om het uiterlijk van een venster te wijzigen.

Wanneer je goed kijkt zie je in de linker bovenkant van een venster ook eenpriknaald staan. Wanneer je hierop klikt verandert deze van positie. Nu ishet venster op elk bureaublad te zien (het zit vastgeprikt op je scherm).

Laten we tenslotte eens een snelkoppeling naar een programma toevoegenaan het bureaublad. Dit werkt ongeveer op dezelfde manier als in Windows:

• Klik met de rechtermuisknop op een lege plaats op het bureaublad

• Selecteer ”Nieuw” en dan ”Koppeling naar applicatie...”

29

Page 30: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

30 HOOFDSTUK 3. DE WINDOW MANAGER KDE 3

Figuur 3.1: KDE 3: een window manager van formaat

• We zullen een link maken naar het programma The Gimp1 Verander denaam ”Koppeling naar applicatie” in het invulvakje naar ”The Gimp”.

• Selecteer het tabblad ”Uitvoeren”. Hier moeten we instellen welk com-mando moet uitgevoerd worden. We weten echter niet waar het pro-gramma ergens staat. Daarom zullen we het zoeken.

– Kies uit het Mandrake menu achtereenvolgens ”Wat kan ik doen”,”Bestanden zoeken”.

– Typ in het invulveld achter ”Genaamd” het volgende in *gimp

(dit is omdat we niet weten of het programma nu gimp of thegimpheet).

– Verander de locatie in ”file:” want we willen het volledige be-standssysteem doorzoeken.

– Klik op de knop ”Zoeken”, en wacht een tijdje.

– Even later verschijnt er onder andere als gevonden item ”gimp”in de map ”/usr/bin”. Dit is het programma dat we zoeken, deandere gevonden items tot nu toe zijn enkel mappen. We kunnenhet programma nog verder laten zoeken, maar dat is niet nodig.Daarom kun je nu best op de ”Stop” knop klikken.

– We sluiten het zoekprogramma af door op de knop ”Sluiten” teklikken.

• Omdat we nu weten waar het programma staat vullen we dit ook in inhet invulvakje onder ”Commando:”. We typen daar /usr/bin/gimp.

1Gimp staat voor Graphic Image Manipulation Program. Het is een soort AdobePhotopaint variant. Meer info vind je op http://www.gimp.org/

Page 31: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

31

• Nu gaan we het icoontje nog veranderen. Klik hiervoor terug op hettabblad ”Algemeen”. Klik op het icoontje voor de naam van de link.Selecteer het icoon Gimp. Klik tenslotte op OK.

• Je kan nu controleren of de link werkt door erop te klikken (dit is ooknog een verschil met de Microsoft Windows omgeving: 1 keer klikkenvolstaat).

Page 32: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

32 HOOFDSTUK 3. DE WINDOW MANAGER KDE 3

Page 33: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

Hoofdstuk 4

Gebruikers, groepen entoegangsrechten

4.1 Gebruikers in Linux

Omdat er normaalgezien meer dan een gebruiker op een Linux systeemwerkt, zullen we nu aandacht besteden aan het beheer van deze gebruik-ers en de groepen waartoe ze behoren. Later in dit hoofdstuk zullen we eenvan de voordelen zien van dit gebruikersbeheer: Linux voorziet namelijk eenmechanisme waarbij gebruikers hun bestanden kunnen afschermen tegen hetlezen of wijzigen door andere gebruikers.

Zelfs wanneer jij de enige gebruiker bent van het computersysteem is hetbelangrijk om de verschillende aspecten van gebruikersbeheer onder Linuxte begrijpen. Je moet namelijk minimum een gebruiker buiten de ”root”creeren, waar je bijna altijd mee werkt.

Elke gebruiker moet zijn eigen account hebben. Het is zelden een goed ideeom een bepaalde account door meerdere gebruikers te laten delen, vooral uitveiligheidsoverwegingen1.

De root-gebruiker is in Linux diegene met alle toegangsrechten. Hij isdiegene die het systeem installeert en onderhoudt (de systeembeheerder).Juist omdat hij zoveel toegangsrechten heeft is het belangrijk dat hij voorzichzelf ook een gewone gebruiker aanmaakt. Er is dan minder kans dat hijschade aan het systeem veroorzaakt wanneer hij gewoon op het systeem aanhet werken is en per ongeluk een foutje maakt. Enkel wanneer hij systeem-taken moet uitvoeren, verandert hij even in de root gebruiker.

1Alle gebruikers met dezelfde gebruikersnaam (dezelfde account) kunnen aan elkaarsdocumenten. Als een van de gebruikers een fout maakt schaadt hij daarmee ten eerstealle andere gebruikers, en ten tweede kan de systeembeheerder op deze manier niet wetenwie van de gebruikers deze fout heeft gemaakt

33

Page 34: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

34HOOFDSTUK 4. GEBRUIKERS, GROEPEN EN TOEGANGSRECHTEN

Het systeem houdt de volgende informatie over elke gebruiker bij:

Gebruikersnaam Deze is uniek voor elke gebruiker en mag zowelletters als cijfers bevatten

Gebruikers ID Dit nummer (UID = User ID) is eveneens uniekvoor elke gebruiker. Het systeem maakt meestalgebruik van de UID in plaats van de gebruiker-snaam.

Groep ID Dit nummer (GID = Group ID) is het num-mer van de ”default”groep waartoe de gebruikerbehoort. Een gebruiker behoort tot een ofmeerdere groepen, maar van een groep wordthet groepsnummer bijgehouden. De anderegroepen zijn in een ander bestand te vinden.

Paswoord Het wachtwoord van de gebruiker wordt ge-encrypteerd bewaard.

Volledige naam Dit is de ”echte” of ”volledige” naam van degebruiker.

Home directory Dit is de map waarin de gebruiker terechtkomt na het inloggen. Meestal is deze map/home/gebruikersnaam, maar in uitzonderlijkegevallen kan dit anders ingesteld worden (bi-jvoorbeeld voor gebruiker ”ftp” is de home direc-tory vaak /var/pub/ftp omdat dit ook de mapis waarin je terecht komt wanneer je een ftpverbinding met het systeem tot stand brengt).

Login shell Dit is de shell die wordt opgestart nadat de ge-bruiker is ingelogd. Meestal is dit ”/bin/bash”.

Al deze informatie wordt opgeslagen in het bestand /etc/passwd in de vorm

gebruikersnaam:encrypted password:UID:GID:

Volledige naam:Home dir:login shell

Je kan de laatste regels van dit bestand bekijken door het volgende com-mando: tail /etc/passwd. Omdat Linux tegenwoordig zogenoemde ”shadowpasswords” gebruikt zijn deze in een ander bestand opgeslagen dat enkel deroot-gebruiker kan lezen (ze staan als het ware in de ”schaduw”, waar gewonegebruikers ze niet kunnen zien).

De andere groepen waar de gebruiker toe behoort vind je in het ”/etc/group”bestand. Je kan eventueel de laatste regels weer bekijken met het commandotail /etc/group.

Page 35: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

4.2. GEBRUIKERSBEHEER 35

4.2 Gebruikersbeheer

Gebruikersbeheer via de shell

Het commando dat in de shell beschikbaar is om een gebruiker toe te voegenis useradd. Je moet wel systeembeheerder (root) zijn om dit programma uitte voeren! Je kan inloggen als root-gebruiker ofwel van gebruiker veranderennadat je ingelogd bent. Vermits dit laatste meestal gedaan wordt gaan wijhet ook zo doen:

• Log in als student

• Je kan veranderen van gebruiker via het commando su (substituteuser). We veranderen nu naar de root-gebruiker (vraag het wachtwo-ord aan je leerkracht)

[student@FREGGEL student]$ su root

Password:

[root@FREGGEL student]#

• De prompt is veranderd. Hoe verklaar je deze verandering?

• Voeg nu een gebruiker met jouw naam en een zelfgekozen wachtwoordtoe. We zullen alle andere eigenschappen van een gebruiker door hetsysteem zelf laten bepalen2.

[root@FREGGEL student]# useradd -m geertdemaere

[root@FREGGEL student]#

Waarvoor dient de optie -m?

Vervolgens stellen we het wachtwoord in voor deze gebruiker. Ditgebeurt als volgt:

[root@FREGGEL student]# passwd geertdemaere

Changing password for user geertdemaere.

2Het systeem gebruikt hiervoor de instellingen uit het configuratiebestandetc/default/useradd

Page 36: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

36HOOFDSTUK 4. GEBRUIKERS, GROEPEN EN TOEGANGSRECHTEN

New UNIX password:

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

[root@FREGGEL student]#

Linux zal je een waarschuwing geven indien je het wachtwoord te een-voudig kiest.

• Typ exit om terug over te schakelen naar de gebruiker ”student”.

• Probeer in een andere virtuele console in te loggen als de gebruiker dieje zojuist hebt gecreeerd. In welke map kom je terecht na het inloggen?

• Om een gebruiker terug te verwijderen gebruik je het commando userdelmet daarachter de gebruikersnaam.

[student@FREGGEL student]$ su root

Password:

[root@FREGGEL student]# userdel geertdemaere

[root@FREGGEL student]#

[root@FREGGEL student]# exit

exit

[student@FREGGEL student]$

• Controleer of de gebruiker effectief verwijderd is (probeer nogmaals alsdie gebruiker in te loggen).

Gebruikersbeheer in de X-Window omgeving

De procedure om een gebruiker toe te voegen via de shell is vrij omslachtig,zeker als je een aantal eigenschappen van de gebruiker wil meegeven. Wezullen zien dat het eenvoudiger kan via een grafisch programma.

• Log in via het grafisch programma of schakel over naar de window-manager.

• Kies uit het Mandrake menu achtereenvolgens ”Wat kan ik doen”,”Beheer uw systeem” en ”Gebruikers beheren” (zie figuur 3.1).

• Het systeem zal je vragen het root-wachtwoord te geven omdat alleende systeembeheerder gebruikers mag toevoegen of verwijderen (ziefiguur 4.1). Vul het paswoord in en wacht: het kan even duren vo-ordat dit programma opgestart is.

Page 37: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

4.3. GROEPEN IN LINUX 37

Figuur 4.1: Dialoogvenster voor paswoord systeembeheerder

• Om een gebruiker aan te maken klik je op de knop ”Toevoegen”.

– Het ”Aanmeldnaam” veld bevat de gebruikersnaam.

– Bij commentaar kan je extra gegevens over de account toevoegen.

– Selecteer de gewenste shell (bijv. bash).

– Vul het pad in waar de homedirectory van de gebruiker zichbevindt.

– Vul het paswoord in. Om typ-fouten te vermijden moet dit tweekeer gebeuren.

– Op het tabblad ”Groepen” kan je de gebruiker aan een of meerderegroepen toevoegen.

• Druk op OK om de gebruiker aan te maken.

• Probeer in te loggen met de zojuist gecreeerde gebruikersnaam.

• Het verwijderen van een gebruiker gebeurt met hetzelfde programmaals het aanmaken van gebruikers. Verwijder de zojuist aangemaaktegebruiker weer door hem te selecteren uit de lijst van gebruikers envervolgens op de ”Verwijderen” te klikken.

4.3 Groepen in Linux

Zoals reeds vermeld kan een gebruiker behoren tot een of meerdere groepen.Het belang van groepen wordt vooral duidelijk bij het bekijken van de toe-gangsrechten, vermits je toegangsrechten ook per groep kan specifieren. Inwat volgt worden toegangsrechten nader bekeken.

Page 38: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

38HOOFDSTUK 4. GEBRUIKERS, GROEPEN EN TOEGANGSRECHTEN

Figuur 4.2: Het grafische programma voor gebruikersbeheer

Figuur 4.3: Een gebruiker toevoegen

Page 39: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

4.4. TOEGANGSRECHTEN 39

4.4 Toegangsrechten

We hebben al eens gekeken welke mappen en bestanden er in onze home di-rectory staan, maar nog niet naar de attributen die bij deze bestanden horen.We zullen eerst een kijkje nemen naar deze attributen en ze vervolgens eenvoor een verklaren.

• Log in via een virtuele console als student

• Bekijk de inhoud van je home directory, maar geef deze keer de optie-l mee aan het commando:

[student@FREGGEL student]$ ls -l

totaal 16

drwxrwxr-x 2 student student 4096 okt 15 11:46 documenten/

-rw-rw-r-- 1 student student 25 okt 17 10:57 LEESMIJ

-rw-rw-r-- 1 student student 0 okt 15 12:28 LEESMIJ~

drwxrwxr-x 4 student student 4096 okt 15 11:43 school/

drwx------ 2 student student 4096 okt 15 11:34 tmp/

[student@FREGGEL student]$

(inhoud, datum en tijd kunnen verschillen)Van links naar rechts zijn 7 velden te onderscheiden. Onderstaandetabel geeft de betekenis ervan weer.

Page 40: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

40HOOFDSTUK 4. GEBRUIKERS, GROEPEN EN TOEGANGSRECHTEN

Veld Betekenis1 Het type bestand (bestand, map of link) en de

toegangsrechten (zie verder)2 Dit cijfer stelt het aantal referenties naar het

bestand voor. Bij bestanden is dit minimum 1(de bestandsnaam zelf)Bij mappen is dit minimum 2: de map zelf ende ”.” in de map (de punt staat voor ”huidigemap”). Voor iedere sub-map die een map bevatwordt dit cijfer nog eens met 1 verhoogd omdatiedere map ook een verwijzing heeft naar de mapwaartoe hij behoort (”..”). Kan je nu verklarenwaarom de referentieteller van de map schoolgelijk is aan 4?

3 De gebruikersnaam van de eigenaar (waarvooreen gedeelte van de toegangsrechten gelden)

4 De groep die eigenaar is van het bestand of demap (waarvoor opnieuw een gedeelte van de toe-gangsrechten gelden)

5 De grootte van een bestand (geen betekenis voormappen)

6 De datum en het uur waarop het bestand hetlaatst is gewijzigd

7 De naam van het bestand of de map

We bespreken nu uitgebreid waarvoor het eerste veld (de toegangsrechten)staat. Deze betekenis is verschillend voor bestanden en voor mappen. Van-daar dat we dit ook apart zullen bespreken. Het eerste teken van de reeksvan 10 tekens geeft het type weer. Wanneer het een koppelteken (-) is gaathet om een bestand, voor een map staat hier een d.

De volgende negen tekens vormen drie groepjes van drie. Het eerste groepjestaat voor de toegangsrechten van de gebruiker die eigenaar is van de mapof het bestand (wie dat is zie je in veld 3), het volgende groepje van 3 tekensgeeft weer welke rechten de groep heeft die eigenaar is van het bestand (veld4), en het laatste groepje van 3 representeert de toegangsrechten van degebruikers die noch eigenaar noch lid van de groep zijn (dit worden ook welde toegangsrechten voor ”de wereld” genoemd).

Page 41: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

4.4. TOEGANGSRECHTEN 41

Toegangsrechten voor een bestand

Ieder groepje van 3 heeft dezelfde betekenis. Wanneer er een letter staat(r, w of x), betekent dit dat je dat bepaalde recht hebt, wanneer er eenstreepje staat (-), heb je dat recht niet. Bij een bestand staat de r voorreadable (leesbaar), de w voor writable (schrijfbaar of ook wel wijzigbaar)en de x voor executable (uitvoerbaar). Iemand met enkel toegangsrecht r

kan het bestand wel lezen, maar er niets aan veranderen. Iemand die ooktoegangsrecht w heeft kan het bestand wel wijzigen. Het toegangsrecht x isenkel van belang voor uitvoerbare bestanden (programma’s of commando’s).Dit geeft je het recht om het programma ook effectief uit te voeren.

Verklaar nu de toegangsrechten van het ”LEESMIJ” bestand door een kruisjete zetten wanneer iemand het recht heeft:

eigenaar groep wereld

lezen

schrijven

uitvoeren

Toegangsrechten voor een map

Opnieuw heeft ieder groepje van 3 dezelfde betekenis. De letter r staat voorhet lezen van de inhoud van de map. Indien een gebruiker dit recht nietheeft kan hij niet zien welke bestanden er in een map staan. De letter w

staat voor de mogelijkheid om gegevens in een map te veranderen. Je kandan nieuwe bestanden aanmaken en bestaande bestanden wissen.Let op: de mogelijkheid om een bestand te wissen hangt dus niet af vanje toegangsrechten tot dat bestand maar van je toegangsrechten tot de mapwaarin dat bestand zit!Tenslotte staat de letter x voor het ”betreden” of ”gebruiken” van een map.Zonder dit toegangsrecht kan je niet naar de map in kwestie gaan (com-mando cd) of een bestand uit die map kopieren.

Verklaar nu de toegangsrechten van de map ”documenten”:

eigenaar groep wereld

inhoud opvragen

bestand aan-maken

”gebruiken”

Page 42: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

42HOOFDSTUK 4. GEBRUIKERS, GROEPEN EN TOEGANGSRECHTEN

Oefeningen op toegangsrechten

Omdat het concept van toegangsrechten zeer belangrijk is gaan we hier nogenkele oefeningen op maken. Om te kunnen controleren hoe alles werkthebben we meerdere gebruikers nodig. Maak daarom 2 gebruikers aan: eenmet hetzelfde GID als jij (student), een met een ander GID. Geef te tweegebruikers een naam, bijv. leerling en leraar.

Vervolgens zullen we leren hoe we de toegangsrechten kunnen wijzigen. Hi-ervoor dient het commando chmod3. Het eerste argument is van de vorm[ugoa][+-=][rwx]. Het eerste deel duidt aan voor welke gebruikers detoegangsrechten van toepassing moeten zijn: user, group, other, all. Hettweede groepje duidt aan of de toegangsrechten moeten toegevoegd wordenaan de rechten die de gebruiker al heeft (+), moeten worden ingetrokken(-) of dat dit de toegangsrechten van de gebruiker zullen worden (ongeachtwelke rechten hij nu al heeft). Het laatste groepje geeft weer over welketoegangsrechten het gaat. Je mag meerdere letters per groepje gebruiken.Tenslotte is het tweede argument van chmod de naam van het bestand of demap waarvan de toegangsrechten moeten gewijzigd worden.

We gaan dit eens uitproberen op het ”LEESMIJ” bestand.

• Log in virtuele console 2 in als student, bij 3 als leerling en bij 4 alsleraar.

• Maak als leerling en als leraar ook een bestand ”LEESMIJ” aan. Ditdoen we door als student het ”LEESMIJ” bestand naar de ”/tmp” 4

map te kopieren en als leerling en leraar dit bestand naar onze homedirectory te kopieren.

• Wie heeft welke rechten op het ”LEESMIJ” bestand van de student?leerling student leraar

lezen

wijzigen

uitvoeren

• De leerling vindt dat de student het ”LEESMIJ” bestand ook magbewerken. Verander hiervoor de toegangsrechten.

• Bekijk de toegangsrechten van een home directory. Ga hiervoor met 1van de gebruikers een niveau naar boven (naar de bovenliggende map).

3Enkel de eigenaar van een bestand en de systeembeheerder kunnen de toegangsrechtentot een bestand wijzigen.

4Iedereen heeft schrijftoegang tot deze map. Hij wordt net als in windows veel gebruiktom een bestand tijdelijk op te slaan.

Page 43: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

4.4. TOEGANGSRECHTEN 43

[leerling@FREGGEL leerling]$ cd ..

[leerling@FREGGEL home]$ ls -l

Duidt aan wie welke toegangsrechten heeft:leerling student leraar

inhoud opvragen

bestand aan-maken

”gebruiken”

• De leraar vindt dat de leerlingen niets te zoeken hebben in zijn homedirectory. Verander hiervoor de toegangsrechten. Controleer of deleerling nu inderdaad niet meer naar de map van de leraar kan gaan.

Het is belangrijk om hier even bij stil te staan: wanneer je de toe-gangsrechten van het ”LEESMIJ” bestand in de map van de leraarbekijkt dan zou je hieruit afleiden dat de leerling dit bestand maglezen. Hij kan dit echter niet omdat hij geen toegang heeft tot de mapwaarin het bestand staat. Of iemand een bestand kan lezen hangt dusniet alleen af van de toegangsrechten van het bestand zelf, maar ookvan de toegangsrechten van de map waarin het bestand zich bevindt.

• De leerling wil dat er niemand zijn ”LEESMIJ” bestand kan lezenbehalve hijzelf. Verander hiervoor de toegangsrechten en controleerook of de student het bestand niet meer kan lezen (gebruik hiervoorhet commando tail /home/leerling/LEESMIJ als student).

• Alle commando’s bevinden zich in de ”/bin” map. Om eens de toe-gangsrechten van zo een programma te bekijken kan je het commando

ls -l /bin/chmod

gebruiken. Duidt hieronder de rechten aan van de student en de sys-teembeheerder (root-gebruiker):

systeembeheerder leerling

lezen

wijzigen

uitvoeren

• Sommige commando’s zijn alleen bedoeld voor de systeembeheerder.Deze staan meestal in de ”/sbin” map. Doe bijvoorbeeld eens

ls -l /sbin/netconf

Page 44: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

44HOOFDSTUK 4. GEBRUIKERS, GROEPEN EN TOEGANGSRECHTEN

. Geef opnieuw de rechten van de leerling en de systeembeheerder:systeembeheerder leerling

lezen

wijzigen

uitvoeren

Page 45: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

Hoofdstuk 5

Processen en procesbeheer

5.1 Processen

Procesbeheer wordt door vele shells voorzien zodat je verschillende pro-gramma’s tegelijk kan uitvoeren. Iedere keer wanneer je een programmaopstart, start je een zogenaamd ”proces”. Het commando ps geeft een lijstvan processen die op dat moment in uitvoering zijn:

[student@FREGGEL student]$ ps

PID TTY TIME CMD

3000 pts/1 00:00:00 bash

3173 pts/1 00:00:00 ps

[student@FREGGEL student]$

Het PID dat in de eerste kolom staat is een afkorting voor process ID:een uniek nummer dat aan elk proces wordt toegekend wanneer het gestartwordt. De laatste kolom laat zien welk proces in uitvoering is. De tweedekolom (TTY)1 duidt aan via welke (virtuele) console het proces is opgestart.De derde kolom geeft tenslotte weer hoeveel CPU tijd in seconden het processal heeft ingenomen. De weergegeven lijst bevat alleen de processen (zonderde X-Window processen) die je zelf hebt opgestart. Wil je eens kijken welkeprocessen het systeem allemaal aan het uitvoeren is dan kan dit via ps aux.De opties zijn a voor alle gebruikers, u om dan ook de gebruikersnaam weerte geven en x om ook de X-Window processen te zien.

Meestal is er maar een proces per gebruiker in uitvoering buiten de shell(bash): het commando dat je het laatst getypt hebt. Waarom kan het nunuttig zijn om meerder processen tegelijk te draaien?

1TTY is een afkorting van TeleTYpe: een terminal lijkt in eerste instantie niet veelmeer dan een geavanceerde typmachine

45

Page 46: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

46 HOOFDSTUK 5. PROCESSEN EN PROCESBEHEER

Stel je bent een tekst aan het bewerken en iemand vraagt je om even iets tekopieren. Via procesbeheer kan je dan de tekstverwerker even schorsen, hetbestand kopieren en dan weer terug overschakelen naar de tekstverwerker.

5.2 Voorgrond en achtergrond processen

Een proces kan ofwel op de voorgrond ofwel op de achtergrond in uitvoeringzijn. Een proces op de voorgrond kan je rechtstreeks mee interageren viaje toetsenbord, een proces op de achtergrond draait op zichzelf: je moethet naar de voorgrond halen om er invoer aan te kunnen geven. Er kanmaximum 1 proces op de voorgrond draaien.

Sommige processen hebben lange tijd nodig om hun taak te vervullen maarhebben daarvoor geen invoer nodig. Voorbeelden van zulke processen zijnhet compileren van een groot programma en het maken van een lijst vanbestanden die op de harde schijf staan. We zullen hiervan later een voorbeeldzien.

5.3 Processen in de achtergrond zetten en stoppen

Om procesbeheer te demonstreren is er in Linux zelfs een speciaal com-mando: yes. Dit commando laat continue een regel met de letter y op hetscherm zien. Voer het commando maar eens uit.

Om het proces te stoppen kun je de toetsencombinatie CTRL+C gebruiken.Om de uitvoer te onderdrukken kunnen we deze naar een soort ”zwart gat”sturen. Dit doe je op de volgende manier: yes > /dev/null. Voer ditcommando uit. Dit is al al veel beter. Maar het probleem is dat de promptniet terugkomt. De uitvoer gaat wel ergens anders naartoe, maar het procesdraait nog steeds op de voorgrond.

Om een proces na het opstarten onmiddellijk naar de achtergrond de sturenmoet je een ampersand (&) achter het commando zetten. Voer het com-mando yes > /dev/null & maar eens uit. Nu zie je dat de prompt welterugkeert. Controleer welke processen op dit moment in uitvoering zijnmet het commando ps:

[student@FREGGEL student]$ yes > /dev/null &

[1] 3178

[student@FREGGEL student]$ ps

PID TTY TIME CMD

3000 pts/1 00:00:00 bash

3178 pts/1 00:00:03 yes

3179 pts/1 00:00:00 ps

Page 47: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

5.3. PROCESSEN IN DE ACHTERGROND ZETTEN EN STOPPEN 47

[student@FREGGEL student]$

Je kan een proces beeindigen (”killen”) via het commando kill. Dit pro-gramma neemt als argument het PID van het proces dat je wenst te beeindigen.Beeindig nu het yes-proces en controleer of het gelukt is door weer de lijstvan processen in uitvoering te vragen.

Het kill commando zonder opties vraagt vriendelijk aan het proces inuitvoering of het zou willen stoppen. Wanneer zich een programma heeft”opgehangen” zal het echter niet op zo een vriendelijke vraag reageren. Jemoet dan een ander signaal naar het proces sturen. Dit doe je via de optie-s signaal. Het signaal voor halsstarrige programma’s is SIGTERM. Om zoeen programma te beeindigen gebruik je dus het commandokill -s SIGTERM PID.

Het yes commando dient natuurlijk enkel als voorbeeldje, het is niet meteeneen nuttig commando. Een voorbeeld van een commando dat wel nuttigwerk doet en ook best in de achtergrond kan uitgevoerd worden is updatedb.Dit programma gaat na welke bestanden er allemaal in het bestandsysteemzitten en slaat deze op in een gegevensbank. Deze gegevensbank kan achterafgeraadpleegd worden met het commando locate. Op die manier kan jein Linux zeer snel een bestand terugvinden. Wanneer je niet meer weetwaar het staat gebruik je locate bestandsnaam. Locate zal dan in degegevensbank die updatedb heeft opgebouwd zoeken waar het bestand staat.Dit gaat veel sneller dan de verschillende harde schijven na te pluizen op zoeknaar het bestand. Probeer bijvoorbeeld eens het commando locate gimp.

Linux draait updatedb iedere nacht zodat je de volgende dag weer een up-to-date gegevensbank hebt. Je kan echter ook zelf updatedb uitvoeren, bi-jvoorbeeld nadat je een aantal programma’s hebt geınstalleerd. Kopieerbijvoorbeeld eens het bestand ”LEESMIJ” naar het bestand ”LEESMI-JOOK”. Start vervolgens updatedb in de achtergrond (updatedb &). Jekan nu gewoon verder werken in de shell terwijl updatedb de gegevensbankbijwerkt (je kan het programma updatedb best als systeembeheerder uitvo-eren, anders heeft het programma niet voldoende toegangsrechten om hetvolledige bestandssysteem te doorzoeken.

Tenslotte nog een korte uitleg over hoe het voorbeeldje in het begin van dithoofdstuk werkt:

• Start eerst een editor op, bijvoorbeeld vim (we zullen niet leren hoedeze editor werkt) met het commando vim test.txt.

• Nu heeft iemand ons gevraagd het ”LEESMIJ” bestand naar de /tmpmap te kopieren. Daarom willen we de editor naar de achtergrondverplaatsen. Dit gaat via de toetsencombinarie CTRL+Z.

Page 48: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

48 HOOFDSTUK 5. PROCESSEN EN PROCESBEHEER

• Kopieer het ”LEESMIJ” bestand naar de map ”/tmp” onder de naam”HIERISLEESMIJ”.

• Om nu terug over te schakelen naar de editor moeten we een procesuit de achtergrond terug naar de voorgrond halen. Dit gaat via hetcommando fg (foreground). Het programma neemt (eventueel) alsparameter het volgnummer van het proces in de achtergrond. Wan-neer je een proces naar de achtergrond stuurt verschijnt er steeds[volgnummer] PID. Bij het naar de achtergrond sturen van onze ed-itor was het volgnummer gelijk aan 1. Om de editor terug naar devoorgrond te krijgen typen we dus fg %1.

• Je sluit de editor af door een dubbelpunt te typen, vervolgens de letterq (quit) en daarna op ENTER te drukken.

Page 49: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

Hoofdstuk 6

Syntax van de gebruiktecommando’s

chmod [OPTION]... MODE[,MODE]... FILE...

Each MODE is one or more of the letters ugoa,

one of the symbols +-= and

one or more of the letters rwx

cd [-PL] [dir]

cp [OPTION]... SOURCE DEST

cp [OPTION]... SOURCE... DIRECTORY

ls [OPTION]... [FILE]...

-a, --all do not hide entries starting with .

-d, --directory list directory entries instead of contents

-l use a long listing format

mkdir [OPTION] DIRECTORY...

mv [OPTION]... SOURCE DEST

mv [OPTION]... SOURCE... DIRECTORY

ps [OPTION]...

a all w/ tty, including other users

u user-oriented

x processes w/o controlling ttys

tail [OPTION]... [FILE]...

-n, --lines=N output the last N lines, instead of the last 10

49

Page 50: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

50 HOOFDSTUK 6. SYNTAX VAN DE GEBRUIKTE COMMANDO’S

useradd [-u uid [-o]] [-g group] [-G group,...]

[-d home] [-s shell] [-c comment] [-m [-k template]]

[-f inactive] [-e expire ] [-p passwd] [-n] [-r] name

yes [OPTION]... [STRING]...

Page 51: Introductie tot Linuxusers.skynet.be/hugocoolens/linux/book_linux.pdfCTRL+ALT+Fiwaarin de i een cijfer is van 1 tot 6 (bij het cijfer 7 schakel je over naar de window manager). Onderstaande

Bibliografie

[1] easy computing gids linux, uitgever easy computing nv, 1999, ISBN90-5167-298-5, aut: michael wielsch

[2] operating system concepts, 5th edition, uitgever addison-wesley,1998, ISBN 0-2001-54262-5, aut: abraham silberschatz en peter baergalvin

[3] operating systems: ontwerp en implementatie, uitgever academic ser-vice, 1991, ISBN 90-6233-582-9, aut: andrew s. tanenbaum

[4] http://www.gnu.org/

[5] http://www.linuxdoc.org/LDP/gs/

51