Inleiding Tot GNU/Linux

Inleiding Tot GNU/Linux

Inleiding tot GNU/Linux Kris Luyten [email protected] academiejaar 2002 - 2003 inleiding tot GNU/Linux Kris Luyten academiejaar 2002-2003 Limburgs Universitair Centrum Expertisecentrum Digitale Media 1 Copyright (c) 2002 Kris Luyten 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 ‘‘Auteurs en Bijdragen’’, with the Front-Cover Texts being ‘‘Inleiding tot GNU/Linux’’. A copy of the license is included in the section entitled "GNU Free Documentation License". De volledige versie van deze cursus is beschikbaar op http://lumumba.luc.ac.be/ kris/courses/gnu-linux. Inhoudsopgave Inhoudsopgave 2 Lijst van Figuren 6 Lijst van Tabellen 7 Lijst van Code Listings 8 1 Inleiding 10 2 Eerste kennismaking 12 2.1 Inloggen ........................................ 12 2.2 Gebruikersinformatie veranderen .......................... 13 2.2.1 Paswoord ................................... 13 2.2.2 Finger ..................................... 13 2.3 Informatie over bevelen ............................... 13 3 Directories en bestanden 15 3.1 Directories ....................................... 15 3.2 De directory ordening onder Unix .......................... 15 3.3 Veranderen van directory .............................. 15 3.4 Directory aanmaken ................................. 17 3.5 Directory-gegevens bekijken ............................. 18 3.6 Randapparaten als bestanden ............................ 18 3.6.1 Hoe randapparaten voorgesteld worden .................. 18 3.6.2 Het mount bevel ............................... 19 3.6.3 Het /etc/fstab bestand ............................ 20 3.7 Pipes .......................................... 21 4 Enkele simpele operaties 22 4.1 Cre¨eren van bestanden ................................ 22 4.2 Bekijken van bestanden ............................... 22 4.3 Copy, Move en Link ................................. 23 4.4 Directories en bestanden verwijderen ........................ 24 4.5 Rechten op bestanden en directories ........................ 24 4.6 Archiveren van bestanden .............................. 25 4.7 Coderen van bestanden ............................... 26 5 X Window System 27 5.1 Algemene opbouw .................................. 27 5.2 Window managers .................................. 27 5.3 Cli¨ent applicaties en widget libraries ........................ 28 2 INHOUDSOPGAVE 3 5.4 Desktop environments ................................ 28 6 Reguliere Expressies 30 6.1 Wat zijn reguliere expressies? ............................ 30 6.2 grep en egrep ..................................... 30 6.3 De mogelijke reguliere expressies met grep ..................... 31 6.4 Enkele grep opties .................................. 33 6.5 Extended reguliere expressies met egrep ...................... 33 6.6 Overzicht van de metakarakters ........................... 34 6.7 e-mailadressen ontleden en zoeken ......................... 34 7 Editors 37 7.1 Inleiding ........................................ 37 7.2 Vi/Vim ........................................ 37 7.2.1 Verschillende modes ............................. 37 7.2.2 Enkele standaard bevelen .......................... 38 7.2.3 Zoeken en vervangen in Vim ........................ 38 7.3 Emacs ......................................... 40 7.3.1 Toetsencombinaties .............................. 40 8 Shells en shell scripting 41 8.1 Shell .......................................... 41 8.2 Aliases ......................................... 41 8.3 Programmeren in de Shell .............................. 42 8.4 Variabelen ....................................... 42 8.5 Speciale karakters .................................. 44 8.6 Vergelijken van expressies .............................. 44 8.7 Conditionele expressies ................................ 44 8.8 Iteraties ........................................ 47 8.8.1 for ....................................... 47 8.8.2 while ...................................... 48 8.8.3 until ...................................... 48 8.9 Functies ........................................ 49 8.10 Scripts onderbreken ................................. 49 8.11 eval .......................................... 49 8.12 Opgave ........................................ 50 9 Gnu Awk 52 9.1 Principes van AWK ................................. 52 9.2 Output ........................................ 54 9.3 Input .......................................... 54 9.4 Variabelen ....................................... 56 9.5 Reguliere expressies ................................. 56 9.6 Conditionele expressie ................................ 58 9.7 Iteraties ........................................ 59 9.8 Functies ........................................ 60 9.9 Voorbeeld ....................................... 60 INHOUDSOPGAVE 4 10 Programmeren onder Linux 62 10.1 Beschikbare middelen ................................ 62 10.2 De GNU C Compiler ................................. 62 10.3 Bibliotheken ...................................... 63 10.3.1 Statische bibliotheken ............................ 63 10.3.2 Gedeelde bibliotheken ............................ 64 10.3.3 Dynamisch geladen bibliotheken ...................... 65 10.3.4 Relevante utilities .............................. 66 10.4 Versiebeheer ...................................... 66 10.4.1 Basisbewerkingen ............................... 67 10.4.2 Trefwoordvervanging ............................. 67 10.4.3 Revisienummering .............................. 68 10.4.4 Toestanden opgeven ............................. 68 11 Processen en Threads 70 11.1 Definitie processen .................................. 70 11.2 Het oerproces ..................................... 71 11.3 ps, de proces-administratie ............................. 72 11.4 Systeem-processen en daemons ........................... 74 11.5 Processen programmeren ............................... 74 11.5.1 Proces creatie: system, exec en fork ................... 74 11.6 IPC: inter-proces communicatie ........................... 78 11.7 Threads ........................................ 79 11.7.1 Inleiding en definitie ............................. 79 11.7.2 POSIX threads ................................ 79 11.7.3 Joining threads ................................ 82 11.7.4 Semaforen en Mutexen ............................ 83 12 De Linux kernel 87 12.1 Inleiding ........................................ 87 12.2 Een Linux kernel compileren en installeren ..................... 87 12.2.1 De kernel broncode bekomen ........................ 87 12.2.2 De kernel patchen .............................. 88 12.2.3 De kernel configureren ............................ 88 12.2.4 De kernel en bijbehorende modules compileren .............. 89 12.2.5 De nieuwe kernel installeren ......................... 89 12.3 CPU allocatie in de Linux kernel .......................... 89 12.3.1 Inleiding .................................... 89 12.3.2 Enkele evoluties in de Linux kernel scheduler ............... 89 12.4 Memory management in de Linux kernel ...................... 90 13 Een device driver in Linux 91 13.1 Randapparaten .................................... 91 13.2 Programmeren voor de kernel ............................ 92 13.3 Een eerste kernel module .............................. 93 13.3.1 Hello world .................................. 93 13.3.2 Uitgebreider voorbeeld in het proc filesystem ............... 95 13.4 Devices als files .................................... 99 13.4.1 De API .................................... 99 13.4.2 Gebruikte entries ............................... 100 13.4.3 Module gebruik beschermen ......................... 100 13.4.4 I/O control: ioctl ............................... 101 INHOUDSOPGAVE 5 13.5 Een device driver voor de keyboard LEDs ..................... 101 13.5.1 De opdracht .................................. 101 13.5.2 Verduidelijking ................................ 101 13.5.3 De code .................................... 103 13.5.4 Praktisch gebruik van de device driver ................... 109 13.6 Verdere informatie .................................. 110 14 Hoe software installeren 111 14.1 Binaire software distributie ............................. 111 14.1.1 Red Hat Package Manager ......................... 112 14.1.2 De apt-tools .................................. 112 14.2 Broncode pakket installeren ............................ 114 15 Linux op het web 116 15.1 Distributies ...................................... 116 15.2 Kantoor-applicaties .................................. 116 15.3 Software ontwikkeling ................................ 117 15.4 Meer informatie .................................... 117 A Pointers naar functies 118 B Voorbeeld van een Makefile 120 C Oplossingen oefeningen 123 D GNU Free Documentation License 125 A-1 Applicability and Definitions ............................ 125 A-2 Verbatim Copying .................................. 126 A-3 Copying in Quantity ................................. 126 A-4 Modifications ..................................... 127 A-5 Combining Documents ................................ 128 A-6 Collections of Documents .............................. 129 A-7 Aggregation With Independent Works ....................... 129 A-8 Translation ...................................... 129 A-9 Termination ...................................... 129 A-10 Future Revisions of This License .......................... 129 Bibliografie

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    138 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us