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.
Jeglicher Verstoss gegen diese Regeln führt umgehend zum Ausschluss aus
der Prüfung und der Note 1.\
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
--------- ------------- ------------------
der Prüfung und der Note 1.
Name: `__________________________` Klasse: `_____________` Datum:`_____________`
\
Cronjob - Sie wollen eines Ihre Bashskripte mit crontab automatisieren,
|Aufgabe | max. Punkte | erreichte Punkte |
|---- |---- | ---- |
|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
Muster ausgelöst wird:
``` {.bash frame="none" mathescape=""}
0 4 * * 1
```
Wann wird das Skript jeweils ausgeführt?
Wann wird das Skript jeweils ausgeführt?\
\
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=""}
touch {a..c}file
```
Erklären sie, was das Kommando genau macht:\
\
Erklären sie, was das Kommando genau macht:
Antwort:
`__________________________________________________________________________________________ ____________________________________________________________________________________________________ ____________________________________________________________________________________________________`\
\
grep - Gegeben ist folgendes Kommando:
`_________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________`
**Aufgabe - 1c (1 Punkt)** - grep
Gegeben sei folgendes Kommando:
``` {.bash frame="none" mathescape=""}
cat /etc/passwd | grep -v root
```
Erklären sie, was dieses Kommando genau macht (berücksichtigen sie auch
die Option `-v`):\
die Option `-v`):
Antwort:
`__________________________________________________________________________________________ ____________________________________________________________________________________________________ ____________________________________________________________________________________________________`\
`_________________________________________________________________________________ __________________________________________________________________________________ __________________________________________________________________________________`
- Verzeichnisse wechseln\
**Aufgabe - 1d (1 Punkt)** - Verzeichnisse wechseln
Angenommen, sie befinden sich auf Ihre Linuxsystem unter `/root/`, geben
sie die **realtive** und die **absolute** Pfadangabe an, um in das
Verzeichnis `/tmp` zu wechseln:\
\
Verzeichnis `/tmp` zu wechseln:
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`
- `t`
- `s`
- `0`
- `x`
- `w`
- `t`
- `s`
- If - else\
## Teil 2 - Codestücke
**Aufgabe - 2a (2 Punkte)** - If - else\
\
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
@ -116,8 +124,9 @@ else
fi
```
\- for in\
\
**Aufgabe - 2b (2 Punkte)** - for in
Nachfolgend sehen sie ein unvollständiges Skript. Sie sollten das Skript
so ergänzen, dass es den Inhalt des Verzeichnisses `/etc/` ausgibt und
zwar unter der Verwendung der abgebildeten `for in` Schleife.
@ -129,8 +138,9 @@ for i in ______________ ; do
done
```
\- while\
\
**Aufgabe - 2c (2 Punkte)** - while
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
10 ist (Zeile 3) und der `zaehler` zum Schluss jedes Schleifendurchlaufs
@ -145,8 +155,8 @@ while [ $zaehler _________ ]; do
done
```
\- Backup Skript\
\
**Aufgabe - 2d (2 Punkte)** - Backup Skript
Nachfolgend sehen sie ein unvollständiges Backupskript. Die wichtigsten
Informationen, um mit `tar` ein Backup durchzuführen, werden in den
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
verwendeten Nameserver eingetragen. Der Inhalt dieser Datei kann zB. so
aussehen:
```
search example.com
nameserver 10.0.3.4
nameserver 10.0.3.5
```
Schreiben sie ein kleines Skript, welches alle IP's der Nameserver
ausgibt. Mit dem obigen Beispiel sollte Ihr Skript also folgende Ausgabe
erzeugen:
```
10.0.3.4
10.0.3.5
```
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
und eine Operation einliest und dann die beiden Zahlen mit dieser
Operation verrechnet (zB. addiert) und ausgibt:
@ -201,7 +216,7 @@ if [ $opr = "+" ]
then
op=`expr $a + $b`
echo "$op"
_______________
_______________
_______________
_______________
_______________

View File

@ -204,17 +204,19 @@ Subtraktion und Multiplikation funktionieren.
**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.:
```
search example.com
nameserver 10.0.1.6
nameserver 10.0.1.7
```
Schreiben sie ein kleines Skript, welches alle Domänennamen findet und
ausgibt. Mit dem obigen Inhalt sollte Ihr Skript also folgende Ausgabe
erzeugen:
example.com
``` example.com
```
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?
- [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
## LB3 (50%, Vertiefungsarbeit als Dokument oder Produkt, 1-3 Personen)