This commit is contained in:
Harald Mueller 2021-09-07 09:40:46 +02:00
parent 39f220de31
commit 1024c7b6e4
3 changed files with 91 additions and 74 deletions

View File

@ -13,94 +13,102 @@
über Handy oder Computernetzwerk. über Handy oder Computernetzwerk.
Jeglicher Verstoss gegen diese Regeln führt umgehend zum Ausschluss aus Jeglicher Verstoss gegen diese Regeln führt umgehend zum Ausschluss aus
der Prüfung und der Note 1.\ der Prüfung und der Note 1.
Name: `__________________________` Klasse: `_____________` Datum: Name: `__________________________` Klasse: `_____________` Datum:`_____________`
`_____________`\
--------- ------------- ------------------
Aufgabe max. Punkte erreichte Punkte
1a 1
1b 1
1c 1
1d 1
1e 1
2a 2
2b 2
2c 2
2d 2
3a 5
3b 3
Total 21
--------- ------------- ------------------
\ |Aufgabe | max. Punkte | erreichte Punkte |
Cronjob - Sie wollen eines Ihre Bashskripte mit crontab automatisieren, |---- |---- | ---- |
|1a | 1 |
|1b | 1 |
|1c | 1 |
|1d | 1 |
|1e | 1 |
|2a | 2 |
|2b | 2 |
|2c | 2 |
|2d | 2 |
|3a | 4 |
|3b | 4 |
|---- |---- |----
|Total | 21 |
**Aufgabe - 1a (1 Punkt)** - Cronjob
Sie wollen eines Ihre Bashskripte mit crontab automatisieren,
dazu haben sie einen cronjob eingerichtet welcher nach nachfolgendem dazu haben sie einen cronjob eingerichtet welcher nach nachfolgendem
Muster ausgelöst wird: Muster ausgelöst wird:
``` {.bash frame="none" mathescape=""} ``` {.bash frame="none" mathescape=""}
0 4 * * 1 0 4 * * 1
``` ```
Wann wird das Skript jeweils ausgeführt?
Wann wird das Skript jeweils ausgeführt?\
\
Antwort: Antwort:
`__________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________`\ `_________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________`
\
**Aufgabe - 1b (1 Punkt)** Wildcards - Sie führen folgendes Kommando
aus:
**Aufgabe - 1b (1 Punkt)** - Wildcards
Sie führen folgendes Kommando aus:
``` {.bash frame="none" mathescape=""} ``` {.bash frame="none" mathescape=""}
touch {a..c}file touch {a..c}file
``` ```
Erklären sie, was das Kommando genau macht:\ Erklären sie, was das Kommando genau macht:
\
Antwort: Antwort:
`__________________________________________________________________________________________ ____________________________________________________________________________________________________ ____________________________________________________________________________________________________`\ `_________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________`
\
grep - Gegeben ist folgendes Kommando:
**Aufgabe - 1c (1 Punkt)** - grep
Gegeben sei folgendes Kommando:
``` {.bash frame="none" mathescape=""} ``` {.bash frame="none" mathescape=""}
cat /etc/passwd | grep -v root cat /etc/passwd | grep -v root
``` ```
Erklären sie, was dieses Kommando genau macht (berücksichtigen sie auch Erklären sie, was dieses Kommando genau macht (berücksichtigen sie auch
die Option `-v`):\ die Option `-v`):
Antwort: Antwort:
`__________________________________________________________________________________________ ____________________________________________________________________________________________________ ____________________________________________________________________________________________________`\ `_________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________`
- Verzeichnisse wechseln\ **Aufgabe - 1d (1 Punkt)** - Verzeichnisse wechseln
Angenommen, sie befinden sich auf Ihre Linuxsystem unter `/root/`, geben Angenommen, sie befinden sich auf Ihre Linuxsystem unter `/root/`, geben
sie die **realtive** und die **absolute** Pfadangabe an, um in das sie die **realtive** und die **absolute** Pfadangabe an, um in das
Verzeichnis `/tmp` zu wechseln:\ Verzeichnis `/tmp` zu wechseln:
\
Antwort: Antwort:
`________________________________________________________________________________________ ___________________________________________________________________________________________________`\ `_________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________`
- Welches Dateirecht muss zusätzlich auf einer Skriptdatei gesetzt
werden, damit diese ausgeführt werden kann?
- `0` **Aufgabe - 1e (+1 Punkt pro richtige, -1 Punkt pro fehlende/falsche Antwort)** - Dateirechte
- `x` Welches Dateirecht muss zusätzlich auf einer Skriptdatei gesetzt
werden, damit diese *ausgeführt* werden kann? (einkreisen)
- `w` - `0`
- `x`
- `t` - `w`
- `t`
- `s` - `s`
- If - else\
## Teil 2 - Codestücke
**Aufgabe - 2a (2 Punkte)** - If - else\
\ \
Nachfolgend sehen sie ein unvollständiges Skript. Sie sollen das Skript Nachfolgend sehen sie ein unvollständiges Skript. Sie sollen das Skript
nun so ergänzen (Zeilen 3 und 5), dass dieses, falls das 1. Argument den nun so ergänzen (Zeilen 3 und 5), dass dieses, falls das 1. Argument den
@ -116,8 +124,9 @@ else
fi fi
``` ```
\- for in\
\ **Aufgabe - 2b (2 Punkte)** - for in
Nachfolgend sehen sie ein unvollständiges Skript. Sie sollten das Skript Nachfolgend sehen sie ein unvollständiges Skript. Sie sollten das Skript
so ergänzen, dass es den Inhalt des Verzeichnisses `/etc/` ausgibt und so ergänzen, dass es den Inhalt des Verzeichnisses `/etc/` ausgibt und
zwar unter der Verwendung der abgebildeten `for in` Schleife. zwar unter der Verwendung der abgebildeten `for in` Schleife.
@ -129,8 +138,9 @@ for i in ______________ ; do
done done
``` ```
\- while\
\ **Aufgabe - 2c (2 Punkte)** - while
Nachfolgend sehen sie ein unvollständiges Skript. Sie sollen das Skript Nachfolgend sehen sie ein unvollständiges Skript. Sie sollen das Skript
so ergänzen, dass die Schleife solange läuft, wie `zahler` grösser als so ergänzen, dass die Schleife solange läuft, wie `zahler` grösser als
10 ist (Zeile 3) und der `zaehler` zum Schluss jedes Schleifendurchlaufs 10 ist (Zeile 3) und der `zaehler` zum Schluss jedes Schleifendurchlaufs
@ -145,8 +155,8 @@ while [ $zaehler _________ ]; do
done done
``` ```
\- Backup Skript\ **Aufgabe - 2d (2 Punkte)** - Backup Skript
\
Nachfolgend sehen sie ein unvollständiges Backupskript. Die wichtigsten Nachfolgend sehen sie ein unvollständiges Backupskript. Die wichtigsten
Informationen, um mit `tar` ein Backup durchzuführen, werden in den Informationen, um mit `tar` ein Backup durchzuführen, werden in den
Variablen `source`, `target` und `outputFile` zwischengespeichert. Variablen `source`, `target` und `outputFile` zwischengespeichert.
@ -164,28 +174,33 @@ tar -cZf ________________ __________
- IP-Adressen von Nameservern\ ## Teil 3 - Programmieraufgaben
**Aufgabe - 3a (4 Punkte)** - IP-Adressen von Nameservern\
\ \
In der Datei `/etc/resolv.conf` sind die IPs der von Ihrem Linuxsystem In der Datei `/etc/resolv.conf` sind die IPs der von Ihrem Linuxsystem
verwendeten Nameserver eingetragen. Der Inhalt dieser Datei kann zB. so verwendeten Nameserver eingetragen. Der Inhalt dieser Datei kann zB. so
aussehen: aussehen:
search example.com ```
nameserver 10.0.3.4 search example.com
nameserver 10.0.3.5 nameserver 10.0.3.4
nameserver 10.0.3.5
```
Schreiben sie ein kleines Skript, welches alle IP's der Nameserver Schreiben sie ein kleines Skript, welches alle IP's der Nameserver
ausgibt. Mit dem obigen Beispiel sollte Ihr Skript also folgende Ausgabe ausgibt. Mit dem obigen Beispiel sollte Ihr Skript also folgende Ausgabe
erzeugen: erzeugen:
10.0.3.4 ```
10.0.3.5 10.0.3.4
10.0.3.5
```
Verwenden sie dazu `cat`, `grep` und `cut`.\ Verwenden sie dazu `cat`, `grep` und `cut`.\
- Rechnerskript\ **Aufgabe - 3b (4 Punkte, 1 Punkt pro Zeile)** - Rechnerskript
\
Im nachfolgenden sehen sie ein Taschenrechnerskript, welches zwei Zahlen Im nachfolgenden sehen sie ein Taschenrechnerskript, welches zwei Zahlen
und eine Operation einliest und dann die beiden Zahlen mit dieser und eine Operation einliest und dann die beiden Zahlen mit dieser
Operation verrechnet (zB. addiert) und ausgibt: Operation verrechnet (zB. addiert) und ausgibt:
@ -201,10 +216,10 @@ if [ $opr = "+" ]
then then
op=`expr $a + $b` op=`expr $a + $b`
echo "$op" echo "$op"
_______________ _______________
_______________ _______________
_______________ _______________
_______________ _______________
elif [ $opr = "/" ] elif [ $opr = "/" ]
then then
op=`expr $a / $b` op=`expr $a / $b`

View File

@ -204,17 +204,19 @@ Subtraktion und Multiplikation funktionieren.
**Aufgabe - 3b (5 Punkte)** - resolv.conf **Aufgabe - 3b (5 Punkte)** - resolv.conf
In der Datei `/etc/resolv.conf` kommen Domänennamen der lokalen Domains In einer Datei `/etc/resolv.conf` kommen Domänennamen der lokalen Domains
vor, zB.: vor, zB.:
```
search example.com search example.com
nameserver 10.0.1.6 nameserver 10.0.1.6
nameserver 10.0.1.7 nameserver 10.0.1.7
```
Schreiben sie ein kleines Skript, welches alle Domänennamen findet und Schreiben sie ein kleines Skript, welches alle Domänennamen findet und
ausgibt. Mit dem obigen Inhalt sollte Ihr Skript also folgende Ausgabe ausgibt. Mit dem obigen Inhalt sollte Ihr Skript also folgende Ausgabe
erzeugen: erzeugen:
example.com ``` example.com
```
Verwenden sie dazu `cat`, `grep` und `cut`. Verwenden sie dazu `cat`, `grep` und `cut`.

View File

@ -20,7 +20,7 @@
- Wie macht man Änderungen (Syst. Update) bei "kritischen" oder "hoch verfügbaren" e-Business-Appl. bezüglich DB, Frontend, Backend / Server? - Wie macht man Änderungen (Syst. Update) bei "kritischen" oder "hoch verfügbaren" e-Business-Appl. bezüglich DB, Frontend, Backend / Server?
- [Fragenkatalog](./docs/M150_LB1_Fragenkatalog.pdf) - [Fragenkatalog](./docs/M150_LB1_Fragenkatalog.pdf)
## LB2 (25%, Schriftlicher Auftrag, ca. 200 min) - Tag 6: 5.10.2021 ## LB2 (25%, Schriftlicher Auftrag, ca. 200 min) - Tag 7: 5.10.2021
-> Separates Aufgabenpapier -> Separates Aufgabenpapier
## LB3 (50%, Vertiefungsarbeit als Dokument oder Produkt, 1-3 Personen) ## LB3 (50%, Vertiefungsarbeit als Dokument oder Produkt, 1-3 Personen)