Realdolmen Education

Details

UNIX Shell Scripting

This course is currently not scheduled on the open calendar, but can be organized on request.

Request Course

Duration

3 day(s)

Doelgroep

PC gebruikers, ontwikkelaars, systeembeheerders of andere professionele informatici die het Linux/Unix Operating Systeem willen gebruiken.

Voorkennis

Kennis van PC-gebruik in het algemeen, en van programmatiestructuren is ten zeerste aan te raden. Een elementaire basiskennis van het Unix/Linux filesysteem wordt verondersteld.

Doel

Na het volgen van deze kursus is de cursist in staat om zelfstandig shell scripts te schrijven voor het Linux of Unix operating systeem.

Methode

Klassieke training, waarbij alle aspecten van de theoretische uiteenzetting in realistische scenario's uitgeprobeerd worden. De deelnemers krijgen uitgebreid de gelegenheid om te experimenteren en vragen te stellen. Iedere cursist beschikt over een eigen werkstation.

Beschrijving

Deze cursus duikt in de wereld van Linux/UNIX, gebruik makend van de open source implementatie van dit operating systeem, Linux. Eerst bekijken we een aantal basiscommando’s, hoe we het filesysteem navigeren, en bestanden aanmaken en manipuleren. Op deze manier zetten we een goede werkomgeving op om dan verder te kunnen werken met bash en bash scripts.

We maken een eerste script en bekijken de omgeving waarin dit draait: hoe worden scripts gestopt en gestart, waar gaat de output naartoe, ... Al snel gaan we verder met loops en conditionele testen. Doorheen de cursus bekijken we verschillende utilities die het scripten ons gemakkelijker maken. Deze aangeleerde commando’s en best practices worden in praktijk toegepast.

Daarnaast is er veel aandacht voor best practices, vaak voorkomende fouten, en juistheid van scripts. Doorheen de oefeningen word er opgebouwd tot het maken van volledige scripts met input parameters, file manipulatie, user input etc. We bekijken onder andere op welke manier we controleren of het script momenteel al actief is, een log kunnen gebruiken, proces signalen opvangen, timeouts instellen, ...

Om verder praktisch aan de slag te kunnen bekijken we naast het scripten, ook het automatisch schedulen van scripts op Linux via cron, en veel handige basistools die op Linux en Unix distributies beschikbaar zijn.

Inhoud

  • Introductie
    • Wat is Linux/Unix?
    • Wat is de Linux/Unix shell?
    • Hoe de shell te gebruiken?
    • Wat is een shell script?
    • Waarom shell scripts schrijven?
  • Werken in het Linux/Unix filesystem
    • Soorten files : ordinary files, directories, links en special files
    • Informatie opvragen ivm files
    • Uitlijsten directory-inhoud
    • Gebruik van de current directory en het path
    • Creatie en verwijderen van files, directories en links
    • Rename, copy en move van files en directories
    • Wijzigen van de file datum en timestamp
    • Wijzigen van file authorizaties, ownership en group
    • Zoeken van files
    • LAB: Navigatie van het bestandssysteem
  • Basiselementen van Shell programming
    • Gebruik van de vi-editor
    • Hoe shell scripts schrijven?
    • Input en output redirection
    • Piping
    • Gebruik van speciale karakters
    • Gebruik van variabelen
    • Rekenkundige bewerkingen
    • Gebruik van quote's
    • Exit status van scripts
    • Interactie met de gebruiker
    • Gebruik van scripts met argumenten
    • Commando's gerelateerd aan de Linux/Unix processen
    • Hulp zoeken op het systeem
    • LAB: Getting started
    • LAB: Shell programming basics
  • Process management en Scheduling
    • Jobs en job controle
    • Process management
    • Signalling processes
    • Taak automatisatie
    • Cron en anacron
  • Gebruik van programmastructuren in Shell scripts
    • Script hoofding
    • Voorwaardelijke uitvoering van statements (if...else...)
    • Het 'test' commando
    • Nested ifs
    • Loops in shell scripts (while en until)
    • Break en continue
    • For loops
    • Het select statement
    • Het case statement
    • Debugging
    • LAB: Language constructs
  • Geavanceerde shell scripting commando's
    • Gebruik van /dev/null
    • Locale en globale shell variabelen
    • Voorwaardelijke uitvoering via && en !!
    • Definitie en gebruik van functies
    • Het trap commando
    • Het shift commando
    • Het getopts commando
  • Utilities
    • De cut, paste en join utilities
    • Translaties maken met tr
    • POSIX reguliere expressies
    • Data manipulatie met awk
    • Files editeren zonder editor : sed
    • Sorteren van files en elimineren van dubbels
    • Vergelijken van files en directories
    • Tools voor rekenkundige bewerkingen
    • Monitoring input en output met het tee commando
    • LAB: Utilities
    • LAB: Geïntegreerde oefeningen