mirror of
https://gitlab.com/harald.mueller/aktuelle.kurse.git
synced 2024-11-24 02:31:58 +01:00
muh
This commit is contained in:
parent
b93f2c744c
commit
b00c95fc86
88
m122/bash3/Bash_Uebung1.md
Normal file
88
m122/bash3/Bash_Uebung1.md
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
### Übungen
|
||||||
|
|
||||||
|
**Aufgabe 1 - Repetition: Navigieren in Verzeichnissen**
|
||||||
|
|
||||||
|
1. Wechseln sie mit `cd ` in Ihr Heimverzeichnis
|
||||||
|
2. Wechseln sie ins Verzeichnis `/var/log` mit einer absoluten Pfadangabe
|
||||||
|
3. Wechseln sie ins Verzeichnis `/etc/udev` mit einer absoluten Pfadangabe
|
||||||
|
4. Wechseln sie ins Verzeichnis `/etc/` mit einer relativen Pfadangabe
|
||||||
|
5. Wechseln sie ins Verzeichnis `/etc/network/` mit einer relativen Pfadangabe
|
||||||
|
6. Wechseln sie ins Verzeichnis `/dev/` mit einer relativen Pfadangabe
|
||||||
|
|
||||||
|
**Aufgabe 2 - stdout, stdin, stderr:**
|
||||||
|
|
||||||
|
**a)** Die Ausführung von `ls -z` erzeugt einen Fehler (da es die Option `-z` nicht gibt).
|
||||||
|
Starten sie ls mit -z und leiten sie die Fehler in eine Datei `/root/errorsLs.log`.
|
||||||
|
|
||||||
|
**b)** Erzeugen sie eine kl. Textdatei und füllen sie diese mit Inhalt. Geben sie die
|
||||||
|
Textdatei mit cat aus und leiten sie die Ausgabe wieder in eine neue Datei um.
|
||||||
|
Benutzen sie einmal `>` und einmal `>>` (mehrmals hintereinander). Untersuchen sie
|
||||||
|
die beiden Situationen, indem sie jedesmal den Inhalt der Datei wieder ausgeben.
|
||||||
|
Was passiert wenn sie in dieselbe Datei umleiten wollen?
|
||||||
|
|
||||||
|
**c)** Leiten sie die Ausgabe von whoami in die Datei `info.txt` um
|
||||||
|
|
||||||
|
**d)** Hängen sie die Ausgabe von `id` an die Datei `info.txt` an
|
||||||
|
|
||||||
|
**e)** Leiten sie die Datei `info.txt` als Eingabe an das Programm `wc` um und zählen
|
||||||
|
sie damit die Wörter (`-w`)
|
||||||
|
|
||||||
|
**Aufgabe 3 - grep, cut:**
|
||||||
|
|
||||||
|
**a)** Erzeugen sie eine Textdatei mit folgendem Inhalt:
|
||||||
|
``` alpha1:1alpha1:alp1ha
|
||||||
|
beta2:2beta:be2ta
|
||||||
|
gamma3:3gamma:gam3ma
|
||||||
|
obelix:belixo:xobeli
|
||||||
|
asterix:sterixa:xasteri
|
||||||
|
idefix:defixi:ixidef
|
||||||
|
```
|
||||||
|
Benutzen sie zur Erzeugung `<<` indem sie Zeile fur Zeile an `cat` übergeben, die
|
||||||
|
Ausgabe wird in eine Datei umgeleitet. Benutzen sie das Schlusswort `END`.
|
||||||
|
Durchsuchen sie die Datei mit `grep` nach folgenden Mustern (benutzen sie die
|
||||||
|
Option `--color=auto`):
|
||||||
|
• Alle Zeilen, welche `obelix` enhalten
|
||||||
|
• Alle Zeilen, welche `2` enhalten
|
||||||
|
• Alle Zeilen, welche ein `e` enhalten
|
||||||
|
• Alle Zeilen, welche **nicht** `gamma` enthalten
|
||||||
|
• Alle Zeilen, welche `1`, `2` oder `3` enhalten (benutzen sie `-E` und eine regex)
|
||||||
|
|
||||||
|
|
||||||
|
**b)** Gehen sie von derselben Datei aus wie in Aufgabe a). Benutzen sie `cut` und
|
||||||
|
formulieren sie damit einen Befehl, um nur folgende Begriffe anzuzeigen:
|
||||||
|
• Alle Begriffe vor dem ersten :-Zeichen
|
||||||
|
• Alle Begriffe zwischen den beiden :-Zeichen
|
||||||
|
• Alle Begriffe rechts des letzten :-Zeichen
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
**Aufgabe 4 - Wildcards:**
|
||||||
|
Lösen sie folgende Aufgaben der Reihe nach (Verwenden sie soviele Wildcards
|
||||||
|
und/oder Braces wie nur irgendwie möglich! ):
|
||||||
|
1. Erzeugen sie ein Verzeichnis Docs in ihrem Heimverzeichnis
|
||||||
|
2. Erstellen sie die Dateien file1 bis file10 mit touch im Docs Verzeichnis
|
||||||
|
3. Löschen sie alle Dateien, welche einer 1 im Dateinamen haben
|
||||||
|
4. Löschen sie file2, file4, file7 mit einem Befehl
|
||||||
|
5. Löschen sie alle restlichen Dateien auf einmal
|
||||||
|
6. Erzeugen sie ein Verzeichnis Files in ihrem Heimverzeichnis
|
||||||
|
7. Erstellen sie die Dateien file1 bis file10 mit touch im Files Verzeichnis
|
||||||
|
8. Kopieren sie das Verzeichnis Files mitsamt Inhalt nach Files2
|
||||||
|
9. Kopieren sie das Verzeichnis Files mitsamt Inhalt nach Files2/Files3
|
||||||
|
10. Benennen sie das Verzeichnis Files in Files1 um
|
||||||
|
11. Löschen sie alle erstellten Verzeichnisse und Dateien wieder
|
||||||
|
|
||||||
|
**Aufgabe 5 - Tilde expansions:**
|
||||||
|
Führen sie jede der auf der letzten Seite in der Präsentation aufgeführte Er-
|
||||||
|
weiterungen der Tilde einmal an Ihrem System aus und stellen sie sicher,
|
||||||
|
dass sie deren Funktionsweisen verstanden haben.
|
||||||
|
|
||||||
|
**Aufgabe 6 - Für Fortgeschrittene:**
|
||||||
|
- Was macht folgender Ausdruck?
|
||||||
|
`dmesg | egrep ’[0-9]{4}:[0-9]{2}:[0-9a-f]{2}.[0-9]’`
|
||||||
|
|
||||||
|
- Was macht folgender Ausdruck?
|
||||||
|
`grep -oE \
|
||||||
|
’((1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.){3}(1?[0-9][0-9]?|2[0-4][0-9]|25[0-5])’`
|
||||||
|
|
||||||
|
- Was macht folgender Bash-Befehl?
|
||||||
|
`find / -user root -iname "*bash*" -exec cp {} /root/ \;`
|
Loading…
Reference in New Issue
Block a user