OPERATING
SYSTEMS P2
KDG | 2021
,Inhoudsopgave
1 Linux scripting .............................................................................................................................................. 3
1.1 Variabelen en parameters ............................................................................................................................ 3
1.1.1 Variabelen ............................................................................................................................................. 3
1.1.2 Uitvoeren script .................................................................................................................................... 4
1.1.3 Command line parameters ................................................................................................................... 4
1.2 Quotes en backquotes .................................................................................................................................. 4
1.2.1 Quotes .................................................................................................................................................. 4
1.2.2 Backquotes: command substitution ..................................................................................................... 5
1.3 Rekenen ........................................................................................................................................................ 6
1.4 For loop ......................................................................................................................................................... 6
1.4.1 Nummeren in een for loop ................................................................................................................... 7
1.4.2 IFS.......................................................................................................................................................... 7
1.4.3 Verschil $* en $@ ................................................................................................................................. 8
1.5 Shell & subshell ........................................................................................................................................... 10
1.6 Exit status ................................................................................................................................................... 10
1.7 Test [ ] ......................................................................................................................................................... 11
1.7.1 Soorten testen .................................................................................................................................... 12
1.7.1 Vergelijken .......................................................................................................................................... 12
1.8 Condities if… ............................................................................................................................................... 13
1.8.1 if then fi ............................................................................................................................................... 13
1.8.2 if elif .................................................................................................................................................... 14
1.8.3 && || .................................................................................................................................................. 14
1.9 Case ............................................................................................................................................................ 16
1.10 While do … done ....................................................................................................................................... 17
2. Beheer van users and groups .................................................................................................................... 18
2.1 Soorten gebruikers ...................................................................................................................................... 18
2.2 Commando’s gebruikers / users ................................................................................................................. 21
2.2.1 Gebruikers aanmaken ......................................................................................................................... 21
2.2.2 Gebruikers wijzigen............................................................................................................................. 21
2.2.3 Groups ................................................................................................................................................ 22
3. Shell-omgeving van gebruikers.................................................................................................................. 22
3.1 User shell .................................................................................................................................................... 22
4. Permissies ................................................................................................................................................. 23
4.1 Permissies wijzigen ..................................................................................................................................... 24
4.1.1 change owner ..................................................................................................................................... 24
4.1.2 Permissies zelf wijzigen....................................................................................................................... 25
4.2 Speciale permissies ..................................................................................................................................... 26
1
, 4.2.1 SUID .................................................................................................................................................... 27
4.2.2 SGID .................................................................................................................................................... 27
4.2.3 Sticky bit.............................................................................................................................................. 28
5. Bestandssystemen inrichten ..................................................................................................................... 29
5.1 Inrichting van de harde schijf...................................................................................................................... 29
5.2 Aanmaken van partities .............................................................................................................................. 31
5.2.1 Partitietabel ........................................................................................................................................ 31
5.2.2 Partities tonen .................................................................................................................................... 32
5.2.3 Primaire partities aanmaken............................................................................................................... 32
5.3 Aanmaken van bestandssystemen ............................................................................................................. 33
5.4 Mounten en unmounten ............................................................................................................................. 33
5.4.1 Mounten van volumes ........................................................................................................................ 33
5.4.2 automatisch mounten........................................................................................................................ 34
5.5 Swap space ................................................................................................................................................ 35
5.6 Onderhoud van bestandssystemen ............................................................................................................. 35
6. Software and Process Management .......................................................................................................... 37
6.1 Software management ............................................................................................................................... 37
6.1.1 Software packages en Repositories .................................................................................................... 37
6.1.2 Debian package management ............................................................................................................ 39
6.1.3 Application virtualization .................................................................................................................... 41
6.2 Process management ................................................................................................................................. 43
6.2.1 Child parent proces ............................................................................................................................. 43
6.2.2 Background/ foreground procesess .................................................................................................... 44
6.2.3 Processen monitoren .......................................................................................................................... 45
6.2.4 Processen temineren .......................................................................................................................... 47
6.2.5 Job scheduling..................................................................................................................................... 48
2
, Operating systems P2
1 Linux scripting
1.1 Variabelen en parameters
Een shell script is een combinatie van shell opdrachten in een tekstbestand. à Wordt
gebruikt voor de automatisering van taken, systeemadminstratie etc.
In Linux voornamelijk bash shell script, andere talen: powershell (windows), perl, php,
python,...
1.1.1 Variabelen
Maken: Definieer de variabele + ‘=’ + naam variabele
Opvragen: echo $naam
Bv: vandaag=maandag, echo $vandaag
• geen spaties voor en na “=“ !
• geen types, variabelen zijn altijd tekst/strings
• bij voorkeur kleine letters (soms constanten in hoofdletters), hoofdletters worden
ook gebruikt voor omgevingsvariabelen (bv. PATH)
• kan in variabele ook een commando stoppen, bv. prog=xclock
vb script:
3
SYSTEMS P2
KDG | 2021
,Inhoudsopgave
1 Linux scripting .............................................................................................................................................. 3
1.1 Variabelen en parameters ............................................................................................................................ 3
1.1.1 Variabelen ............................................................................................................................................. 3
1.1.2 Uitvoeren script .................................................................................................................................... 4
1.1.3 Command line parameters ................................................................................................................... 4
1.2 Quotes en backquotes .................................................................................................................................. 4
1.2.1 Quotes .................................................................................................................................................. 4
1.2.2 Backquotes: command substitution ..................................................................................................... 5
1.3 Rekenen ........................................................................................................................................................ 6
1.4 For loop ......................................................................................................................................................... 6
1.4.1 Nummeren in een for loop ................................................................................................................... 7
1.4.2 IFS.......................................................................................................................................................... 7
1.4.3 Verschil $* en $@ ................................................................................................................................. 8
1.5 Shell & subshell ........................................................................................................................................... 10
1.6 Exit status ................................................................................................................................................... 10
1.7 Test [ ] ......................................................................................................................................................... 11
1.7.1 Soorten testen .................................................................................................................................... 12
1.7.1 Vergelijken .......................................................................................................................................... 12
1.8 Condities if… ............................................................................................................................................... 13
1.8.1 if then fi ............................................................................................................................................... 13
1.8.2 if elif .................................................................................................................................................... 14
1.8.3 && || .................................................................................................................................................. 14
1.9 Case ............................................................................................................................................................ 16
1.10 While do … done ....................................................................................................................................... 17
2. Beheer van users and groups .................................................................................................................... 18
2.1 Soorten gebruikers ...................................................................................................................................... 18
2.2 Commando’s gebruikers / users ................................................................................................................. 21
2.2.1 Gebruikers aanmaken ......................................................................................................................... 21
2.2.2 Gebruikers wijzigen............................................................................................................................. 21
2.2.3 Groups ................................................................................................................................................ 22
3. Shell-omgeving van gebruikers.................................................................................................................. 22
3.1 User shell .................................................................................................................................................... 22
4. Permissies ................................................................................................................................................. 23
4.1 Permissies wijzigen ..................................................................................................................................... 24
4.1.1 change owner ..................................................................................................................................... 24
4.1.2 Permissies zelf wijzigen....................................................................................................................... 25
4.2 Speciale permissies ..................................................................................................................................... 26
1
, 4.2.1 SUID .................................................................................................................................................... 27
4.2.2 SGID .................................................................................................................................................... 27
4.2.3 Sticky bit.............................................................................................................................................. 28
5. Bestandssystemen inrichten ..................................................................................................................... 29
5.1 Inrichting van de harde schijf...................................................................................................................... 29
5.2 Aanmaken van partities .............................................................................................................................. 31
5.2.1 Partitietabel ........................................................................................................................................ 31
5.2.2 Partities tonen .................................................................................................................................... 32
5.2.3 Primaire partities aanmaken............................................................................................................... 32
5.3 Aanmaken van bestandssystemen ............................................................................................................. 33
5.4 Mounten en unmounten ............................................................................................................................. 33
5.4.1 Mounten van volumes ........................................................................................................................ 33
5.4.2 automatisch mounten........................................................................................................................ 34
5.5 Swap space ................................................................................................................................................ 35
5.6 Onderhoud van bestandssystemen ............................................................................................................. 35
6. Software and Process Management .......................................................................................................... 37
6.1 Software management ............................................................................................................................... 37
6.1.1 Software packages en Repositories .................................................................................................... 37
6.1.2 Debian package management ............................................................................................................ 39
6.1.3 Application virtualization .................................................................................................................... 41
6.2 Process management ................................................................................................................................. 43
6.2.1 Child parent proces ............................................................................................................................. 43
6.2.2 Background/ foreground procesess .................................................................................................... 44
6.2.3 Processen monitoren .......................................................................................................................... 45
6.2.4 Processen temineren .......................................................................................................................... 47
6.2.5 Job scheduling..................................................................................................................................... 48
2
, Operating systems P2
1 Linux scripting
1.1 Variabelen en parameters
Een shell script is een combinatie van shell opdrachten in een tekstbestand. à Wordt
gebruikt voor de automatisering van taken, systeemadminstratie etc.
In Linux voornamelijk bash shell script, andere talen: powershell (windows), perl, php,
python,...
1.1.1 Variabelen
Maken: Definieer de variabele + ‘=’ + naam variabele
Opvragen: echo $naam
Bv: vandaag=maandag, echo $vandaag
• geen spaties voor en na “=“ !
• geen types, variabelen zijn altijd tekst/strings
• bij voorkeur kleine letters (soms constanten in hoofdletters), hoofdletters worden
ook gebruikt voor omgevingsvariabelen (bv. PATH)
• kan in variabele ook een commando stoppen, bv. prog=xclock
vb script:
3